STEP-Import with missing surfaces

I am even more convinced, that the step import algorithm might be broken. When importing into PPM or Abaqus, or Creo. I’ll get the same error as indicated above. The cylindrical portion is subdivided into two halfs with the plane normal of (1,0,0) at (0,0,0). This lead to a subdivision very close to the teeth, leading to one “broken” tooth as indicated in the above post. This destroys the whole geometry.
Virtual topology in Abaqus might make it “meshable” by ignoring some entities, but overall, the geometry is still bad at this location. I’m not sure, how bad the nodes on the “broken” surface are deviating from the actual CAD-location.

Have a look at:
Coordinates of vertex 18 :-53.935E-03,859.783494,12.874887

it is not indicated as an error, but leads to a failed mesh. What is quite interesting in the *step file. If you search for this particular coordinate, you get 3 nodes, just fractions appart from each other:
grep “12.87488” Shaft.stp
#3853=CARTESIAN_POINT(‘’,(-0.0539353179354145,859.783493649138,12.8748870270595));
#3857=CARTESIAN_POINT(‘’,(-0.0539353179358166,859.783493649872,12.8748870270629));
#4531=CARTESIAN_POINT(‘’,(-0.0539353179362187,859.783493650517,12.8748870270663));

But if you look at other vertices of the teeth, they are exactly ontop of each other. No accuracy deviations involved:

#3828=CARTESIAN_POINT(‘’,(-3.00204346349442,859.78349365097,-12.520118210896));
#3859=CARTESIAN_POINT(‘’,(3.00204347052538,859.78349365097,12.5201182092101));
#4448=CARTESIAN_POINT(‘’,(-3.00204346349442,859.78349365097,-12.520118210896));
#4497=CARTESIAN_POINT(‘’,(-3.00204346349442,859.78349365097,-12.520118210896));
#4529=CARTESIAN_POINT(‘’,(3.00204347052538,859.78349365097,12.5201182092101));
#4563=CARTESIAN_POINT(‘’,(3.00204347052538,859.78349365097,12.5201182092101));

My conclusion is, that the step export from NX is broken.

That’s what I meant. Abaqus doesn’t remove any surfaces on import and shows that the geometry is valid, but more detailed checks (for small edges and faces) can pinpoint the problem.

Thank you for clearing this up. Yes this seems to be indeed a good approach with Abaqus. Furthermore I want to point out following:
When isolating the two faces (deleting the rest of the geometry) I get following on the left. But after meshing, the differences in both geometries dissapear.

I am working with Abaqus CAE quite a long time, but rather with simple geometries, which would be even remodeld in CAE for enhenced variability in regard of scripting. This behavior is still strange to me for this, more complex geometry. Would be interesting to see, if @Michel had a closer look to his CAD file and maybe found something in the model-tree which might cause the disscused issue.

Abaqus/CAE can handle even complex shapes really well, thanks to its simple yet powerful tricks such as virtual topology. It can also recreate the geometry from meshes: Meshing Complex Geometries in Abaqus

But here, we are talking about a CAD model of a machine component, so the OP should just try cleaning it up in his CAD software.

1 Like

The Problem is this sketch right here:

When the diameter of the added shaft shoulder is the same as the diameter of the base circle, NX is creating these very small faces.

I added the gearing and the shoulder seperatly. Maybe it would be better to remove a negative of the gearing from the shaft…

I don’t specialize in CAD, but I think it might be a good idea. There’s a nice tutorial (in Polish) on how to model a similar feature in FreeCAD: https://www.youtube.com/watch?v=jJ5P4RbTozE

Later, it’s also analyzed in PrePoMax: https://www.youtube.com/watch?v=Mgu-U-QTy4k

1 Like

I have fixed some of the PrePoMax code. Now, missing surfaces are no longer missing. All the faces are visible. However, there are some missing triangles where the geometry is not triangulated correctly. This part is handled by Netgen and OpenCascade in the background and I will have to look much deepr to see if i can fix it there.

I have also changed how parts with a warning are highlighted. Up to now, invalid edges were only displayed, which looked weird when only a single edge (or a small number of edges) was invalid. So now all edges are highlighted with primary color (red) and all invalid edges with secondary color (Violet).

Keep in mind that sometimes the geometry marked with a warning sign can still be meshed using a correct set of meshing parameters. The warning icon is based on the CAD visualisation data and its problems. Sometimes the mesher can skip over them. But in general, it is better to locate the problem in the geometry and fix it there.

4 Likes

I use Catia V5 and Creo.
Creo is very sensitive to foreign geometry, but it also has powerful repair tools.

Personally, I wouldn’t make too much noise because commercial meshers also have very similar problems.

Could it be also a matter of deviation/angular deflection settings or OCC version ? FreeCAD uses this kernel too and there’s no such effect. With reduced aforementioned parameters:


(Modeling Algorithms - Open CASCADE Technology Documentation)

That’s a great idea, thanks!

I’ve never used Creo, but Catia has some decent surfacing tools. It can heal some surfaces too, but often it’s quite a lot of manual work. Abaqus/CAE adds a few tricks here and there.

Sure, they may just have more workarounds for that, but it’s mostly a task for CAD software to repair invalid geometries anyway.

1 Like

I will have to look if I can imlement the possibility to also chnage the angular deflection.

I have added support for angular deflection.

image

1 Like

I think there is no general solution to this bug so I will close this topic until some other similar problems are reported.