Best way to convert .stl file to .iges or .step files?

I scanned some object and the object has a complex geometry with pits.

To manage the geometry, it is essential to convert from the scanned file(.stl) to the CAD file which we can control the edges.

I want the whole geometric characteristics(e.g. pits) stay the same as the scanned file.

I used quadmesh tool form Rhino WIP. But that geometry cannot be converted to the files I wanted. And also, the file size goes upto 100MB which is very heavy.

Any good ideas?

Hi @youngjun0007,

What do you mean by CAD file? When you import the STL file, you get a triangulated mesh right? Do you want to convert it to a polysurface? Also you CAN control the edges of a tri mesh!

QuadMesh does not convert to another filetype (as far as I know). It just retopologises a mesh with triangular faces to a quad mesh! The quad mesh can then theoretically be used to derive subdivision surfaces, which in turn can be converted to a N.u.r.b.s. surfaces.

What geometry type are STEP files usually used for? I have no clue.

If you have a dense geometry, large file sizes can’t be circumvented, because much information needs to be stored.
You can bring the file size down by reducing the geometry, which might lead to some fidelity loss, especially when done improperly.
The best method is probably still to retopologise by hand, as do many game artists. Rhino is not the best app for this though, and depending on your model, this might be kinda time consuming!

Maybe post at least a screenshot of your geometry!

Thank you for your comments. Here I attach the part of scanned file. What I want to do is to conduct finite element analysis with solid elements conserving this geometry. And this is what I got from the actual corroded pipeline.

I’m by no means an expert on this, but I guess it would be pretty complex to have topological or structural optimisation algorithms take into account local erosion artefacts, like corrosion, since this pretty much happens on a nano scale, compared to most simulations performing on macro scale models, like for instance an entire truss?

In computer graphics, this probably wouldn’t be represented by actual geometry, but by a lower detail model (lower polygon count) and the rust would be done with a texture or shader, especially if the pipe would be part of a larger system of pipes. There really are only few programs that specialise in dealing with high-poly models (i.e. ZBrush).
This is to say that processing models with a high polygon count needs lots of CPU/GPU power even just to display them on screen.

My guess would be that you’d need to abstract the rust information, convert it to some kind of numerical data that makes sense for the simulation. When calculating snow loads on buildings you also don’t account for each and every snowflake, but there are percentages, ratios, norms, … that can then be used in calculations to evaluate local loads.

Any body else wanting to chime in on this?

Thanks for very specific explanation. I’m not an expert in terms of reverse engineering. As this contains very intricate geometry, I’m also thinking of only modeling major pits on the 3d pipe which can be defined with pipe thickness, diameter, length.
I’m trying to achieve it with drape method on the specific pit, I want to model, and then combine it with pipe. For the clarity, here I attach picture. I wonder if this procedure is possible. And if yes, which procedure should I follow?

I may use 3d-printing soft, such as NetFabb, to try reducing triangles (Netfabb supports maintaining a certain accuracy).

IGES & STEP supports meshes by nature. I’d rather not convert it to NURBS/polysurface.

I agree with @gankeyu, you probably don’t need to convert it to a polysurface.

If I understand you correctly and you want to evaluate low points on a pipe-like geometry, you can simply get its centerline, divide it into sample points, and and look for a closest point on the mesh for each sample point. The distance between the closest and the sample point will give you the local, smallest radius. The resolution could be easily defined by the count of initial division points.