I have a 89MB step file from KiCad. It takes more than 30minutes to open in FreeCad, after 30 minutes I stopped waiting.
The file Is RaspBerry Pi Compute module 5 IO board. It is made with KiCad and freely available
Maybe, but an 89MB STEP file is also really large and I think many CAD tools would struggle with that.
It is best to optimize STEP exports from KiCad (or any other EDA tool). Typically when I’m generating exports I:
- Make sure all the footprint models have been optimized (using tools like StepReduce or even re-drawing models that have an excessive amount of detail)
- Only export the models that are necessary for the application. For importing into mechanical CAD, most of the time this means that I only need models that are key reference features for the rest of the assembly (standoffs, connectors, etc) or that are tall and may need to be considered for clearance to other parts in the mechanical assembly. In KiCad 9 you can choose which components to export by reference (including using wildcards) so I will typically use KiCad 9 nightlies to export (even for designs made in KiCad 8) and put in a list to export like
J*, MTG*, U101
for example.
What computer are you running it on?
A 89MB STEP would probably choke Solidworks too.
This is an old Intel(R) Core™ i7 CPU 920 @ 2.67GHz 2.67 GHz
I could see previous version of our modified CM IO board 4, but I don’t remember how much I had to optimize it.
I left out much of the duplicate parts like HDMI1 and DSI1, but added a lot of smaller chips.
I just gave it a try. I took the model from here and opened it with the most recent FreeCAD version (v1.0.0:39109) with a Intel(R) Core™ i7-7700 CPU @ 3.60GHz on a Debian 12 sytem in less than 1 minute. FreeCAD takes up approx 1GB of RAM, so not too much to worry about, theoretically.
Edit: ah, this is the model of the CM5, not the board. But it is still 97.6MB, so it should be comparable. I don’t find the STEP for the board, though.
yes, FreeCad is really slow. Especially everything related to step files. I use FreeCad at work to make quick edits to step files and it always takes ages to load and export. Most of the time it is quicker to ask someone in my team with a comercial cad program to open, edit and export it for me.
89MB is not that bad for STEP file.
My suggestion is - install StepUp workbench on FreeCAD and try to import your KiCAD PCB there. Then save it from FreeCAD.
I’ve noticed on a couple of occasions that KiCAD addd extra lines and adds some details to the model which shouldn’t be there. That makes the model too complex and file is bigger (slower to import and work on it). For example some round mounting holes are polygons. When imported via StepUp in FreeCAD they are round as they should be.
BTW. where did you find CM5 IO board made in KiCAD? RPI share it, but it’s BRD and DSN files (Cadence I presume). They do share CM4 IO board (and a few other projects) in KiCAD format though.
EDIT: If it is CM4 IO board you are talking about (the KiCAD project is called CM4IOv5, so maybe you mixed version of Compute Module with a version of the project, one is 4, another one is 5) - I tried to export STEP file from KiCAd and via StepUP workbench in FreeCAD. Both files are around 21MB.
Thank you all for your help, I have to study a bit more later, when I am not this busy. It is 13.53 here now.
Design files are here
https://www.raspberrypi.com/products/compute-module-5-io-board/
They were under IOboard
Regards
Leif M
If I export the STEP without traces it is 14.4MB big and loads in a couple of seconds. If I include tracks and zones the STEP file gets much bigger - 133.1MB. I quit after 10min of loading ^^
In my experience, this is not true, when you are talking about a STEP file of a PCB shared between ECAD and MCAD tools. Even 20MB is large enough to look at simplifying when you are talking about inserting the PCB into a complex mechanical assembly. Your experience may vary.
I clicked only more option, that is, include tracks. Without that option the file size is now 19MB. I can see the board now.
Colors are off, but that is a minor feature, not a bug.
Same here - CM5IO STEP file is around 19MB.
Yea so the STEP file format is not a 3d graphics format. The result is a lot of overhead when you add alot of details. In the case of including tracks on export, it adds an absolute ton of information that you usually don’t find in MCAD workflow, so most MCAD tools are poorly optimized for that level of detail being imported.
The export tracks/pads options are useful for boards where you need to make some sort of mechanical alignments to it like heatsinks, but otherwise not a good idea for general use with STEP.
You can however export tracks/pads into GLTF and import into Blender if you want to use that for some fancy rendering. It’s basically very fast because both GLTF and blender are meant for 3d modeling.
NX suffers with large STEP as well…
I would generate the board with tracks and parts (using stepup ) so that a 3D creepage and clearance assessment at installation level can be done.
A 100meg Kicad design STEP would take an hour to import into a top of the line mCAD tool…
Two things we found
- they don’t tend to optimize the STEP import /export capability in mCAD tools and prefer x_t files for exchange …
- the import is extremely sensitive to bodies where multiple bodies that are then also mechanically invalid drasticly impacts the load time…
Invalid is basically floating parts w.r.t Tue board or bodies making up a part (like the pads on a resistor) are floating and disconnected from the main body…
I ran into this last month in exporting a STEP from Siemens XPEDITION to import into Siemens NX and every resistor is technically invalid (from a fully constrained body…). Now XPEDITION to NX using x_t was fast .
.x_t
is a format native to Parasolid non-free geometric kernel.
KiCad 9 can export in .brep
which is native to OCCT geometric kernel used in FreeCAD, so is faster to work with.
It doesn’t preserve colors and other metadata though (I don’t think .x_t
does either).
On the other hand, BinXCAF (XBF)
or XmlXCAF
formats can store the full OCCT document, but they are less supported.
Ok.
What free tools are available to a KiCad or a FreeCad user. Mechanical designer got a 3D file for his simulations years ago. Nice simulations, by the way.
This is for my own interest now. But of course, on some day we make an other similar board, and I am better be prepared. And nice 3D images are good for new PCB/Assembly houses too
Импорт шага проекта размером в 100 МБ занимает несколько минут. А вот из альтиума все модели при экспорте в стэп или парасолид ломаются на уровне моделей, сборка невозможна без ошибок.
Oh I know, I wasn’t advocating Kicad or freecad support x_t (although that would be great if a FOSS library existed), this was more to point out other mCAD struggle with STEP but it isn’t clear whether this is due to STEP format itself, an invalid STEP (as I hinted at) or those proprietary software not caring about STEP to push their own formats
It’s a shame… Still the only reliable way to exchange solid models between NX and CATIA
It all depends on the implementation, not the format.
Many people confuse assembly and simple viewing of large 3D models when loading step and analogs.