0
$\begingroup$

Recently I started on an industrial animation project. I was given a 640 MB STEP file of an industrial machine design, a screenshot of which I have attached.image to show industrial STEP file

Clearly, this CAD file was huge and even on a good PC (RTX 4060 ti 16GB, 64GB RAM, Intel i5 12400F) it was a pain for me to import into AutoCAD, navigate the model, and export to GLTF (I exported to iges from AutoCAD and then converted to GLTF through FreeCAD).

Coming to the main part of the question, this GLTF file, which was ~200MB, is impossible to import into blender. I imported it, it took some time to load, went somewhere, and after I was back it was still loading after nearly 2 hours. It made sense to end the import considering it wasn't going to work anytime soon.

I need to do some animations for this and to do that I need to import it into Blender. I have attached the GLTF file here. I searched quite a bit for a solution however I found none. It would be much appreciated if anyone can find a way to do this.

STEP file

$\endgroup$
7
  • $\begingroup$ Split the file into smaller parts, export in phases into several GLTFs, import each GLTF at a time, split them into logical blend files, optimize geometry, turn repeating elements into instances $\endgroup$ Commented Oct 12 at 23:20
  • $\begingroup$ @DuarteFarrajotaRamos The issue here is that I received the STEP file from the client and I couldn't even navigate the viewport properly in AutoCAD, all I could do was export. So I really don't know how I can export into several GLTFs. If you know how to, you can form an answer to this question - I can attach the step file if you need it for a solution $\endgroup$ Commented Oct 12 at 23:44
  • $\begingroup$ FreeCAD can import STEPs directly, have you tried it? I'm not sure it will be any faster than AutoCAD, or if it even imports at all, but if it does you can then make selections from the tree view and export selected only $\endgroup$ Commented Oct 13 at 0:09
  • $\begingroup$ If you share the .STEP file, I could try it to see if it works with STEPper add-on. $\endgroup$ Commented Oct 13 at 13:04
  • 2
    $\begingroup$ Inspecting the .gltf file, it contains about 6M vertices (which should be fine), 1 material, and about 450,000 mesh primitives. If we merge the geometry (gltfpack -i in.glb -o out.glb -noq) Blender loads the file very quickly, so I think that's the root of the problem. But I assume you need distinct nodes for animation... maybe there's some way to merge the parts that don't animate? $\endgroup$ Commented Oct 13 at 13:11

2 Answers 2

2
$\begingroup$

Inspecting the .gltf file, it contains:1

  • 6,822,634 vertices (should be fine)
  • 1 material
  • 456,454 mesh primitives

If we merge the geometry2 Blender loads the file very quickly, so I think that's the root of the problem. But I assume you need distinct nodes for animation... maybe there's some way to merge the parts that don't animate?


1 I use gltf-transform inspect scene.glb, but had to run under Node.js with flags for additional memory in this case.

2 To merge meshes: gltfpack -i in.glb -o out.glb -noq

$\endgroup$
2
  • $\begingroup$ Most of the animation is going to be dynamic lighting, and even if I have to animate individual parts, I guess I'll have to manually separate them - I'll try out your answer and see if it works fine $\endgroup$ Commented Oct 13 at 13:58
  • $\begingroup$ It works, thank you $\endgroup$ Commented Oct 13 at 14:29
1
$\begingroup$

The import or export process might get something wrong. It might be that the mesh gets split into many parts treated as separate objects where it shouldn't be or/and every part gets its own material with complex node trees or something like that and so processing that may become not practical. I would try other simpler file formats that support less features, like OBJ, STL maybe or some other, you are likely to need to re-do all materials anyway. Try as many different formats as you can to see what works best for what you need. Exploring what options you can choose while exporting might be a good idea as well. Blender can open way larger GLTF files fine, there must be something wrong about the file and data in it that is converted in some inefficient way while exporting or importing or both. 200 MB really should not be considered large.

Using original .step file might also be an option. There are add-ons for importing .step files into Blender like STEPper, but it's not free.

$\endgroup$
3
  • $\begingroup$ The issue with STL export is that it only works with merged meshes... I've attached the STEP file to the question $\endgroup$ Commented Oct 13 at 13:57
  • $\begingroup$ Yeah... Stepper add-on takes ages and crashes Blender at the end, so not worth to buy for this particular case. :D It works for other files quite well though. $\endgroup$ Commented Oct 13 at 14:33
  • $\begingroup$ Thanks for the effort 👍 $\endgroup$ Commented Oct 13 at 14:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .