Importing .STP file


I am looking to have a a model reverse engineered and the company has sent me an example in an .STP file to see how much I can edit in. They also sent an X_T file but Rhino 5 doesn’t recognise it al all.

The model itself comes in fine as a closed object but if I try to boolean another object with it then either the Boolean Union function just doesn’t recognise the .STP model or while Boolean2Objects does seem to work but it creates a bad object. Other basic functions, such as Explode, wouldn’t work either but Scale did.

So I have two questions, and have looked at similar topics:

  1. Is there a particular way that I should be importing an .STP file to allow me to do basic edits, or is it not supported - which is implied in one of the other posts?
  2. What are the best file types to import into Rhino 5 to allow basic editing, boolean and scale would be essential?

Any help would be appreciated.


I had similar issues with imported files, check the file tolerance and using the What command, check the edge tolerance of the objects because if is it too big, any operation will not work.


Thanks for the super quick response and advice.

Tried What function but it didn’t seem to show me any tolerances, but could have missed something as been a while since I have used Rhino. Also took a sceen shot of the standard unit tolerance settings which look ok - in same file highligted by red box.


What have I done wrong?


Hi Laura - step imports come in as blocks if they are part of assemblies in the oritginating software - use ExplodeBlock here to get to a ‘regular’ object.




I can check if they have booleaned the test object but ExplodeBlock isn’t working on current file, see attached. Have vague feeling there there is a file size limit but can’ t find reference to it so hope not too large…

Examle Part.stp (14.9 MB)

I can ask them to send in the elements seprately but concerned that is not going to help me if the boolean function won’t work. Anything else I could try?


Hello - in that example it is a regular polysurface and What shows edge tolerances of .005 and the file tolerance is .001… so not ideal.

Looks like the blobby bits are generated from a subD object maybe - or a automatic reverse engineering application.



What am I doing wrong with the What function, as I only got an Object Description box (see attachment in first post) with no ref to edge tolerances etc? And is this where I can change the tolerances? Don’t think it is, but after I’m wracking my brains to remember where the relevant function is & searching for it I’ve come up blank so it might well be and I’m just blind as a bat.

Two more general questions:

  1. What file tolerance should my settings be as standard? As haven’t changed these settings since I pretty much got the software.

  2. Should the engineers be setting the tolerance of the model to a specific level before sending it to or will this be something I just need to fix when importing the file?

I’m a little nervous if the “fixing” sits with me as they’ve said depending on how they get on they may have to use freeform patches, which in my mind could make it much more likely I’ll end up with a bad object I can’t use. But would be very happy to be told I’m wrong about this.

Thanks as always.


Hi Laura - if your object is a block instance (as V5 reads it) use ExplodeBlock, then What on the largest object in the result., you’ll see the info about the polysurface.

More info about tolerance here:


Hi Laura,

If your object is sculptural, freeform patches will be unavoidable as the cost to manually build a clean CAD model would be astronomical

If its a product or mechanical part, then its usually possible to reverse engineer to a clean CAD model at a reasonable expense.

Can you provide a pic or description of your item? (I am assuming your sample STP file is nothing like your object)

Hi @pascal

Why may I not be able to select the object to run the ExplodeBlock command? As from your reply you managed to do it no problem

Thanks, and thanks for the info on tolerances very helpful.


Hi @cdordoni

Please find attached a picture of the model, ignore block it is just there to make it easier to print. And the test may be a little like my object… :slight_smile:

I certainly didn’t sculpt or freeform patches to build the model, as don’t have the skills. Think my biggest concern is the model is created and it is fine, like the test, but if I try to boolean anything to it (for example) it then is no longer a closed object. Which I need it to be to print.

Maybe it will be fine if we sort out the tolerances but I need to check that.

Any words of advice?


Hi Laura - incoming objects may or may not be blocks - the reason ExplodeBlock would not allow selection of the object is if it is not a block instance. Select it with no command running and look at its Properties - that will tell you the general object type.


Checking this in SolidWorks, it appears a number of the surfaces are failing although the object is reported as “Valid” in Rhino.

The issues are typical of “push button” reverse engineering methods … sometimes called an “autosurface” which may produce patches with errors and poor tangency.

I doubt your source for the reverse engineering will give you a better model, although I suppose you could press them for one.

Its possible remodeling as a subd object in the old T-splines or in Fusion360 might yield a better result, with fewer patches and better quality. Rhino7 might even do a good job with the quad meshing and subd to nurbs, but don’t yet have direct experiece with it yet myself.

@Pascal Thanks, got it!

@cdordoni Thanks for checking, you’ve given me a lot to think about which is exactly whay I need.

Tried Fusion 360 a while back and liked it but went back to Rhino as it better suited the models I was creating at the time. May do a trial it again… :slightly_smiling_face:

I was thinking Fusion360 just for the T-splines function, since unless you already had a T-Splines license there is no longer a way to purchase it to use in Rhino.

1 Like