Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IDS on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Reverse engineering a surface

Status
Not open for further replies.

bfleck

Automotive
Jan 4, 2008
61
I am trying to reverse engineer some components that we have laser scanned. The laser scanned surface is a stl faceted body that I import into NX. Note, in some areas there are small holes, so the surface is not exactly complete. In NX I create some known features, i.e. planes and sketchs/curves.
In order to replicate the faceted body, I figured it best to take sections through the body and get a series of splines that I could then fit a surface to using something like Through Curve Mesh. However, when I create the section spline, using Section Curve, the splines are multi-segmented and this makes the creation of the thriugh curve surface slow and laborious because the origins do not align. Also because of the gaps, the splines are not closed. Is there any way to 'resample' a spline so that it is continuous and has a reduced number of poles/segments.
Another technique I tried was to use Section Curves, but output the sampled points instead. However, I have not found a quick way to create a spline through all the points without selecting each point individually.
Any thoughts or help

Thanks

Bryan
 
Replies continue below

Recommended for you

Have you tried to create the surface using "through points"?
I always try to select the points in a rectangle.

I cut sections through the stl and this generates curves.
I cut sections through the curves to generate points that have uniform distance to each other. Then I clean it up removing points that are too far from the general population then isolate a rectangular area of points to create a surface.

There could be new was of doing it now and I have not had a chance to try those yet.

UGNX5.0.4.1 MP6 \ WinXP-SP3
Productive Design Services
 
Berserk,
Thanks for your reply. Can you describe your technique of sections through curves some more.
After outputting the smapled points, I tried a through points surface, which works relatively good. However, it uses every point which makes for a rough surface.

Ps. NX 6.0.4.3
 
Depending on the size of the stl;

I cut sections on the stl along x, y, and z axis say every 1mm.

I place each group of sections on different layers (x layer 10, y layer 20...)

Then I cut sections on the curves to create the points at 1mm intervals again.

I would again place the points in different layers.

I clean up the points, removing points that are generally to far from the group.

I isolate a rectangular section and use it to create the "through points" I play around with the option till I get something that is acceptable.

There is the "deviation gauge" that you can use that will show you how far the surface is to certain points.

I guess the closer to all the points, the rougher the surface.

UGNX5.0.4.1 MP6 \ WinXP-SP3
Productive Design Services
 
I think your technique is fine for creating relatively flat surfaces. I am trying to recreate an intake port in an engine. The shape is like a bent piece of tube.
 
I used it to create A surfaces for a Yamaha ATV and also to re-create the inserts for a hydraulic tool and both have lots of curves. And the one for the inserts was really insane because the customer insist on recreating even the tool marks!!! because the guys who did the white light scanning was telling him that they can do accuracy of within microns.

But if the part you are trying to recreate is like a tube, I would still cut sections and try to create a circle to use for sweep and for determining the center line of the tube.


UGNX5.0.4.1 MP6 \ WinXP-SP3
Productive Design Services
 
bfleck,

Unless I can see what you're working with I can't do more that hint at an appropriate approach, sort of describing every possible eventuality of which there are too numerous to mention it is difficult to provide real help.

Others are right to suggest that you would begin by sectioning the STL to find points through which to work and to get a better idea of the shapes that you're working with. Once you have reduced a shape to point data if it is lofted you may wish to use point cloud or manually built curves to smooth and build the slab surface. But even that begins with an appreciation for Slab surfaces as distinct from the edge radii in many engineered shapes. The trick is often to identify those central larger surfaces and to build and then overbuild (or extend) them to their logical intersections so that new blends may be applied. Things to keep in mind are that many of the slabs in reverse engineered products may be flat faces (you may only need three points to establish these), and many of the radii are possibly common sizes at round numbers or fractions of inches.

You also need to strategise in terms of how much accuracy you need to maintain as opposed to how smooth that you want the surfaces to be. Larger models may look fine to the naked eye, but technically benefit from what may seem like quite large deviations from the data in order to properly smooth the surface. Whenever you do surface from scanned data the last thing to do is to create a mesh of curves that is unnecessarily fine so that the surface appears very accurate but is actually simply very complex and will prove difficult to work with as the modelling process progresses. Such surfaces typically curl at the edges when attempts are made to extend them a slabs to their intersections with other slabs. They may also baulk at hollowing or thickening and generally frustrate users in any number of ways simply because they are have overly complex internal structures and are less smooth and consistent that the geometry really requires.

Lastly you'll probably eventually strike the odd three cornered Slab modelled away to a wedge by other features that have been overlaid to it. Always extend and smooth the curves you're working to in order to create a rectangular mesh. The surface you create may initially fall short of the corner but you're better to build what you can to a stable rectangular grid and then extend it later on. Sometime it is wise to section the STL according to some pattern that better describes where you want the U and V curves to fall for a particularly shaped slab section.

Having access to studio tools can be handy for this kind of work since there are tools to not only speed up building off STL's, but for X-form surfaces by pulling points so that a roughly placed smooth slab can be tweaked to better overlay the original data, most usually at a much lower complexity.

Good luck with it.

Best Regards

Hudson

www.jamb.com.au

Nil Desperandum illegitimi non carborundum
 
I have recreated geometry to represent what I am trying to do. I can not post the actual geometry.
I have got a faceted body that has holes and surface anomalies due to scanning. I want to recreate the surface that is smooth, but does not have to be exact, for machining. I know the geoemtry at the start and end of the port, thus the blue curves in the image. I have also created a center guide running through the middle of the port. From this center guide, I was using the Curve from Bodies-Section feature and creating either curves or points. When I create section curves, the resultant splines are multisegmented due to facet body and can be open. Really, I want to create sections curves that are closed and somewhat filter out the anomalies and then create a surface mesh.

Many Thanks for the comments
 
 http://files.engineering.com/getfile.aspx?folder=c020aa21-682a-4d88-a758-e08d2e5c627a&file=Port_image.JPG
John,
Are there any tutorials on the Rapid Surfacing feature. I have read about it in the documentation, but do not understand the tool, especially to apply it to what I am trying to do.
I have since found how to fit a spline through the points. When I first accessed this feature (Curve-Spline), I thought you could only fit a spline to points from a data file. Maybe its because this feature is still old architecture and the full extent of the feature is not apparent. Anyhow, looks like it may work/help me out.
 
There might be something in CAST, but basically what you're asked to do is create a rough mesh of curves by selecting a series of points on the face of the faceted model and from this a surface is generated which tries to match the shape of faceted model to within some modeling tolerance.

John R. Baker, P.E.
Product 'Evangelist'
Product Design Solutions
Siemens PLM Software Inc.
Industry Sector
Cypress, CA

To an Engineer, the glass is twice as big as it needs to be.
 
So the points dont have to be regular, they can be sporadically placed about the faceted body.
 
Yes, of course you are still trying to form a rectangular 'mesh' of curves which bounds the area of interest. The more curves you include, in either the U or V direction, as well as the number of points used in each curve, will have an impact on the final accuracy of the 'conversion', but you should have to go overboard. Start with maybe a 4x4 mesh with maybe 5-6 points used in each curve.

John R. Baker, P.E.
Product 'Evangelist'
Product Design Solutions
Siemens PLM Software Inc.
Industry Sector
Cypress, CA

To an Engineer, the glass is twice as big as it needs to be.
 
You got this nice scanned image into NX. Why can you not use surfacing and regular modeling to recreate the part. Especially if you want to change it in the near future? I would use the STL as a rough estimate and model the part from scratch to get something that closely matches the STL file. I know this may be off topic sorry.
 
bfleck,

Of course the curves aren't smooth, you'll need to smooth them. Surfacing is nothing if not the art of building curves between which to mesh a shape definition. As I said above find the slabs, build them out to intersections then attempt to blend the edges.

It would be nothing if not a misconception to say that this kind of work is easy or replete with shortcuts. It isn't! It can be frustrating if only because you'll be unused to seeing results that are tantalisingly present and yet practically absent.

Best Regards

Hudson

www.jamb.com.au

Nil Desperandum illegitimi non carborundum
 
Hudson888,
I like your statement "tantalisingly present and yet pratically absent"

SDETERS,
The image I posted is surface data I created in NX with holes and bumps in the surface geometry. Only for demsonstration of the shape to the forum. I could not post the actual stl geometry because it is confidential.

All,
I have been working with section points then fitting a spline to these points, smoothing and modifying poles. This seems like a good way forward.
Currently we use a combination of Rapidform and Imageware to produce the good surfaces, but want to eliminate some f these packages and progress totally within NX. The studio surface tools seem neat, but will require some playing with to learn their functionality.
Thanks all for input.
 
Note that over time, the plan is to move as much as is practical of the relevant functionality currently found in Imageware into NX itself. In fact, the Rapid Surfacing functionally now found in NX was derived from an Imageware function.

John R. Baker, P.E.
Product 'Evangelist'
Product Design Solutions
Siemens PLM Software Inc.
Industry Sector
Cypress, CA

To an Engineer, the glass is twice as big as it needs to be.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor