Surface Modeling from Scanned Data

racecarseat1

racecarseat2

This is a project Jeff Mirisola sent to me from a company called Status Racing. They have an existing car seat, but didn’t have CAD data for the mold, so they wanted a parametric model. The process was interesting, so I thought I’d pass it along.

First of all, it took a big box to get this thing across the country from Washington to Virginia. It’s a racing seat shell, made of fiberglass. The back side of the seat is nicely finished with the weave showing through clear epoxy. The inside was a little rough. I planned to scan the inside with my Next Engine scanner, and the scanner likes things a certain way, so the first thing I did was to paint the inside of the seat with gray primer. I just needed a flat paint with a fine texture that was light-ish in color.

racecarseat3

This part is nearly 36 inches tall, and the Next Engine scanner has a relatively small field of view, so the scan had to be done in smaller pieces. In order to line up small scans, I made some markings on the part with a Sharpie pen. The scanner takes a photo, and maps the photo onto the 3D points. Then I had to line up the scans, matching 3 points from 2 different scans. The result was surprisingly accurate for what it did. You can see the patchwork of multiple scans that makes up the data.

The scanner only gets decent results when it is at a certain angle from the face being scanned, so scanning the lip around the outside was a real pain, and had to be done separately from the rest of the seat.

When working with data sets this physically large, I discovered the hard way that you need to relax the space between scan points. My machine with 4 GB of RAM was choking and paging. My 32 bit machine kept crashing trying to work with the data. 64 bit worked much better, but I still needed about double the RAM for this project. Actually, I took it back tothe Scan Studio and reduced the mesh somewhat to get it in to SolidWorks. Scanning only half of the seat (assuming symmetry) also helped me keep the file size down a little.

I was able to bring this scanned data into SolidWorks. One of the big problems with scanned data is that it is very difficult to get it aligned to the origin. In this case the data came in completely cock-eyed, and I decided to just model it where it sits, and then clean up the model later by copying sketches.

The next thing you’re faced with is how to break all of this data into features. I decided that this was basically a two feature part. The first feature was just the entire seat. The second feature was the rim that goes around it. Of course it would have to be mirrored, and the cut outs and all, but there are only two functional features here.

In this next picture you can see the mesh super imposed on the 3D model, with splines showing. The main feature of the seat was a Boundary surface with 15 sketches. 2 in Dir 1 and 13 in Dir 2. I didn’t get this right on one shot, I had to go back and add and remove sections to get the surface as close as possible. Matching the splines to the scan data was the big trick in this job.

I had thought of doing the back in one feature and the sides in another, but they would have to blend together anyway, so I just made it all one. I think it gave a better shape anyway.

racecarseat4The 3D spline that forms the outer edge was difficult to get right. It was basically done backwards, using the end of the section splines for reference. I adjusted some handles on the spline to get it to match the scan data.

The one section of this part that took the most work was the top side of the wide shoulder section. Notice that one of the section splines intersects the 3D edge spline at a very shallow angle there. This makes for a surface that is tough to control. Boundary surface works much better if the directions are perpendicular to one another.

The most difficult part of the whole project was the lip that goes around the part. This is a single Boundary surface with 13 profiles in one direction and just using the edge of the part in the other direction. The Boundary surface is quite remarkable, and on this part it really showed its stuff.

racecarseat5Here is a detail of how the lip was done. This is all splines. But splines do have some control. It was very difficult to thicken this part once the surface was done. The reason it wouldn’t thicken was because the splines had sharp kinks in them. To control that. I applied curvature controls, and a min radius marker. With the min radius marker, I would adjust the spline to get an acceptable number on the marker.

To get this sketch spline tangent to the surface, I used the Intersection Curveand just made the section spline C2 to the intersection curve.

In the end, this worked like a champ, but it took a long time to get there. The final rim feature was one of the craziest features I’ve ever created, but you can see in the image with the edges showing that the rim to the seat connection was tangent (shown in phantom line).

Overall, I was feeling better about the software after this project. Sorry, I can’t provide downloads for this part, it is proprietary, but I did get permission to show the part.

racecarseat6

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.