STEP import

I created an addon to import STEP directly into Blender. https://gum.co/stepper

It’s written using the OpenCASCADE library. Note: it currently supports only STEP, no IGES.

If you have any comments, let me know.


Frequently Asked Questions – Please look here before asking a question in the thread


Q: How to get support
A: According to Gumroad you should be directly able to reply to the receipt email https://customers.gumroad.com/article/204-get-to-know-your-gumroad-receipt

Send me an email to the address in the receipt, using the email you used to buy the addon. Preferably use a separate links for STEP files, as huge email attachments can get unwieldy.

Bugs that aren’t addressed in the FAQ can also be reported in this thread or PM.


Q: Will there be Mac or Linux version?
A: Windows version is the only current version available. There’s a vote on your preferred operating system here: STEP import - #300 by ambi

With some effort you can run it on Linux, but the method is currently UNSUPPORTED: STEP import - #389 by ambi, unless I can figure out a less painful method to install it.


Q: What do the linear deflection and angular deflection values do?
A: https://stackoverflow.com/questions/45274793/what-is-a-linear-angular-deflection-in-opencascades-incremental-mesh

Smaller values of linear deflection tries to put the created polygonal surface closer to the CAD defined parametric surface (creates more detail and polygons, but is more accurate)

Angle deflection is how big of a curvature is allowed, smaller values again increase detail and polygon count. You can keep this at the default value and just change the linear deflection.


Q: ImportError: DLL load failed
A:

  • Check your Blender Python version. Python 3.7 works with 2.92 or earlier. Python 3.9 works with 2.93 or later. There’s a version in the Gumroad folder for Blender 2.92 or earlier and Blender 2.93 or later. Install the correct one.
  • Are both Microsoft Visual C++ Runtime 2017 and Microsoft Visual C++ Runtime 2013 installed?
  • Did you delete all previous versions of Stepper before installing new one? (Check the addon folder before installing that there’s no Stepper folder there)

Q: Can I export STEP files from Blender
A: No.


Q: How do I use the addon from Python
A: You have to use a different style. Here’s an example: bpy.ops.import_scene.occ_import_step(filepath=“D:\artstore\3d\cad\”, override_file=“41203531.step”, hierarchy_types=“TREE”)


56 Likes

Nice! This might prove to be very useful when a client needs to deliver CAD models for rendering / work in Blender.

2 Likes

I work a lot with CAD data so this could be interesting to try out.

First of all, this thing should not be $0 as a base price. Closest comparisons I have for this would be Power Translator for Modo and MOI3d. I guess it depends on how far you want to take the addon.

I’ve dropped some $$ to you on Gumroad to show that there is some interest but I really hope you take this further.

2 Likes

Sure what kind of things would you like to see?

Some sort of progress bar or visual feedback would be great or even an estimate of the poly/vertex count. MOI workflow would be on the export side obviously but it give you a slider that basically adjusts the curvature angle like you have there and it converts per object gradually as to not make the machine unresponsive for a period.

Yeah, getting hole fidelity right without cranking the polycount is tough.

I would like to see better individual objects, but I’m not sure how much of that is a limitation of the file format.

Again, not sure if this is a limitation of the format, but instanced objects would be much appreciated.

1 Like

This is an amazing job ambi !
It will be very useful, because I think you made the only STEP importer for blender.

Looking over GMSH docs, it seems to be capable. Maybe more of these features should be exposed. I used to use Netgen for the same purpose.

Fist of all nice work ! I have been wating for a CAD Importer for ages. I have tested it so far with some free online step files and it seems to work. But using files from my client (Autocad / Solidworks) crash all the time. Sometimes choosing another model makes no difference, it just loads the exact same as before with the same settings. Is there any place where I could leave you the error messages / non confidential files ?

Also I would add .stp to the accepted file formats, did that in the init and seems to work fine. Or is there any reason not to ?

filter_glob: StringProperty(
default=".step;.iges;.igs;.st;*.stp",

The filter is already changed. It will be there in the next version.

You can send me links to error messages and files you want me to test in private messages or even post it in this thread if you want to.

Hey ambi- very very useful work. I think this will be awesome for industrial design concept work. Its been a bit of a workaround to bring in OBJs from moi3d. This way we can at least stick with blender to bring in internal components and reference geometry. This is nice- although it would be nice to have the stp brought in natively and re-tesselated on the fly- or if there was a way to trigger a re-import by clicking on the imported meshes. Is there any way to import normal maps from the CAD geometry? OBJ imports from moi3d and Solidworks have a normal map that cleans up the highlights and reflections. The highlights here at lower resolution were squirrely. Shown below- Test STP file in moi3d.
Imported STP in Blender and remeshed using Quad Remesher. Thanks!


Quad model from Quad Remesher.

4 Likes

I will rest this tomorrow bed time now !

Started Testing mechanical shapes using this link: https://grabcad.com/library/hexapod-robot-12
MIxed results- for some reason STP export from moi3d was not recognized, but iges worked. Import hanged on the stp from grabcad- exported out one of the legs and was able to bring the iges into blender.
as some noted before it takes a while to think through more detailed surfaces- and missed some of the iges closed surfaces.

3 Likes

Seems like there is the sweet spot that I have yet to determined wrt level of detail that this addon is designed for. The first image shows the CAD file that I am trying to get into Blender. Only IGS import was visible to Blender. Some parts did not make it through- It did a surprisingly good job on the Plus geometry in the buttons that did make it. Remeshers, in general, don’t seem to do very well with detailed CAD. These seem to work with simpler models.

2 Likes

I made an update. The entire thing is written from scratch and should work a lot better now.

5 Likes

Cool.

I’ve posted a message about this at the MoI 3D forum:

http://moi3d.com/forum/index.php?webtag=MOI&msg=9664.1

2 Likes

There was an issue of missing files. STEP_OCC_import_0.0.7-REPACK is now up that should fix those issues.

2 Likes

Wow-what a difference in a day. This alternative version works much better for bringing in the CAD files to Blender. Does OpenCASCADE allow ngon and quad output?

5 Likes

https://drive.google.com/file/d/1CL6PqLNy2lkg_wOzJtkgUhnD-NJkZSmp/view?usp=drive_open!Annotation 2020-01-30 222608|690x380

3 Likes