Software bug - jagged edges - help me

Hi there!

I’ve got some weird issue with Preform. I designed a part in Autodesk Inventor HSM and exported it as an *.obj file. I then imported that file to Preform (Form 2, clear, 0.05 mm). However, instead of smooth edges, I see jagged edges.

The diameter of the object is about 15 mm and the height is about 20 mm. What’s wrong? Please help me. This is my homework.

Jagged edges:


Smooth edges

Whilst I’m not familiar with inventor, is it possible you are exporting a low poly version ?

1 Like

That is the only explanation I can think of. I just don’t use Inventor, so I can not help with how to get higher poly count models.

1 Like

The problem has nothing to do with PreForm. It’s Inventor that’s the problem. A CAD program’s internal representation of a curved surface is faceted. The surface appears smooth in the rendering on the monitor because “smoothing” is enabled. This has fooled you in to thinking you’ve modeled a smoothly curved surface when you have not.

I don’t use Inventor, but you want to look for an option that sets how surfaces designated as smooth are subdivided when output as an STL. There’ll be an option in there somewhere for this, for sure…

3 Likes

Fun fact: Most CAD programs use a NURBS boundary representation, which gives a full smooth internal representation, including exact representation of cylinders and spheres. Exporting to STL/OBJ, however, requires meshing with a polygonal mesh. As you point out, most STL/OBJ exporters give you a slider for smoothness.

1 Like

Thanks everyone! I have learned something new now! I’ll just use *.STL file.

Thanks so much!

Ben, I think it’s just a difference in semantics. I agree with what you’ve said. But I think of it differently…

A NURBS curve has two vertices just like a plain old straight line. What makes it a NURBS is how the line between the vertices is generated. NURBS generate the representation of a smooth curve between the vertices. This reduces the amount of data required to represent the curve. But the underlying geometry is still discrete vertices and faceted polygons. So when you output the model in a format that doesn’t support NURBS, like STL, the bare geometry is exposed and the model appears faceted.

Because really, the internal representation of the geometry is faceted. NURBs aren’t part of the geometry, they’re derived from the geometry. (sorry for the bold. I would have preferred underline but there is no underline option).

So when you model with NURBS, unless your CAM software understands this format, before you can print it (or machine it) you have to subdivide it and output a faceted approximation of the computationally-derived smooth surfaces you see in the CAD program.

It’s a question of semantics, I guess. My point was just that CAD models do internally know they have e.g., a cylindrical surface, not just a series of faces. When the GPU goes to render it to the screen, it can drawn to arbitrary precision with a different surface normal at every pixel for example.

Agreed! Two different ways to describe the same thing. Either interpretation is valid. :slight_smile:

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.