This is a bit of a general question. I would suggest you look for some training. Either online or a classroom training.
Since you added the tag NX 11.0, You also might want to look at the following post about Convergent modeling:
Further more we have our synchronous tools, which are ideal for Reverse Enginering. But it's a bit to much to cover in a single post.
Hope this helps a bit.
In additon to what Dennis has mentioned we also have a complete set of reverse engineering tools that are used to build surfaces from an STL file. This has been the standard workflow to get usable geometry from an STL, but with Convergent Modeling in NX 11 it is now taken to a whole new level to be able to use facet geometry in the context of design.
I cannot think of any particular sequence that fits in all situations. Probably it will depend on the type of inputs you have in your hand (stl/curve data or solid/surface sheets)/accuracy required/design intent.
I am just furnishing one of those i have used in past.
Provided the input is cloud data..
(1) Doing a rough reflection analysis on the facet data. Determining the primary and secondary patch network.
(2) Taking sections and checking the comb curvature characteristics of the same and smoothening the same (refit with a better curve). Sometimes smooth curves (feature lines) are created for primary patch generation.
(3) Creating the primary patches (mesh surface/Swept/NxN etc.) and checking the deviation with cloud (iterative and takes time) and recreating it (should approximately reflect the same characteristic as the facet reflection pattern in step 1).
(4) Create secondary (transition surfaces.. large blends/transitions).
(5) Create tertiary patches.
(6) Do quality checks.
Experts use lot of thumbrules and these are hardly documented anywhere else.
@amits I have been doing a lot of work with the NX10 Reverse Engineering tools so I thought I would share some of my experiences. I have also been really impressed with Convergent Modeling in NX11 and I hope to see more features added by the Parasolid team. I think Convergent Modeling is the way to go but, alas, NX10 does not support it.
If you have a license for NX11, I would recommend importing your stl as a convergent body, making what changes you can make (mainly boolean operations, resizing the stl) and then exporting it in the appropriate file format. Convergent Modeling has been a life saver.
What are your business needs? Do you need to generate toolpaths for CNC machines, do you just need to do some CAE?
Are you dealing with stl data (moderately challenging) or point cloud data(extremely challenging)?
Do you have the original 3D CAD model or are you dealing with a legacy part?
I can't recommend a good workflow since there are about a dozen ways to approach this problem but here are some of the tools available and what they are good for. I have found that developing your own app with the NX Open Python API offers the most flexibility but it involves a lot more effort.
Deviation Gauge- great if you already have the 3D CAD model
Section Analysis- projects a grid of splines onto your stl which can then be used to create surfaces (Ruled, Rough offset, 4 point surface)
Project/Pattern curve- two commands that can do the same thing
Rapid Surfacing-manual tool which really isn't that rapid
Snip-for cutting out regions of your stl file