Imported STEP differs from other software

Before anything, here’s the tolerance in Rhino:


And here’s the tolerance in the other software:


Here’s what gets imported in Rhino 7 (joined):

And here I compared to the orginial parts and two different re-imports in the other software:

Again, I suspect rational surfaces could be the culprit (circular fillets), but any information on this matter is interesting to me. I’ve used Rhino in the past to check surfaces, and it would be unfortunate if I can’t do that in the future (because the other software is now our main software at work).

Here’s a part of the offending file (customer part so I can’t share the original, but hopefully the problem can be observed anyway):

tangent-issue.stp (37.8 KB)

EDIT: Just to check… the cut away I did above further worsened the issue in Rhino…

…but in the other software, I’m still within tolerance even after another re-import…

(EDIT: And also, to pre-empt, no, I have not checked “optimize” or “simplify” in the other software.)

Hello - hmm - as far as I know, Rhino reads the surfaces exactly as they are written in the step file. Is the ‘other’ angle test done on surfaces or on the solid?

I see the surface that seems to be the bad guy is a non-rational one, unlike the neighboring fillets, which seem more standard/Rhino-like.


All tests were done on solid/stitched surfaces.

Hello - can you export as iges and see what we get in Rhino?
@eobet - the developer is going to have a look at your example.

RH-63563 Step import test case

@eobet - the developer points out that the tolerance in the file is .09 and the fillet surface is just over twice that in width - .09 is very large. The fillet surface had to be extended past the edge curves which are .03 units away. This makes me a liar where I said above that we just read the stuff in as written in the Step file, but nevertheless the tolerance in the file is just too fat for such small features.


Thanks for looking!

I posted the file tolerance that I could see above, and the only tolerance I can find in the export settings is this one:


(Which is still weird, because that’s not the file tolerance…)

Anyway, I think the CV layout above is, despite me unchecking “optimize” and “simplify” a result of the exported re-import, so that’s not really what you’d normally do.

Here is a straight export, both STP and IGES, so now we’re down to similar values as the first image in my first post (actually slightly lower, which again, I find weird):

tangent-issue.stp (35.6 KB)
tangent-issue.igs (95.6 KB)

(EDIT: Damnit… changing that B-spline Tolerance in the export settings to the same as the actual file settings did fix the issue. Sorry for wasting your time! This happened because first, that setting is in the advanced tab so I didn’t think it needed changing as we’re using the default tolerance in our regular modeling, and second, the re-import into that software was fine… which means that even if you uncheck all options for it to not fiddle with the re-import, it still does…)

tangent-issue001.stp (38.4 KB)

In other words: Not the fault of Rhino. Default settings in the other software was very weird!

This is pretty terrible for us though, since we’ve already sent a few products (including this one) to tooling… glad I kept Rhino around to check things with.


I tested your file in nx, which shows that the problem is object tolerance

Execute with the Optimize Face command

The result

And what b_spline tolerance did you use for export now?

That file is exported with 0.01 tolerance.

We’re going to create a settings definition file and include it with our site wide config so everyone automatically gets the correct setting in the future (yes, NX was the “other software” for me as well).

1 Like