Usually you use eagle to design your printed circuit boards (PCBs) only in 2 dimensions (when not considering the layers as 3rd layer). This gives you some headaches for narrow space designs like in small cases.
The common solution until now is to export your board with eagleUp and assemble it with a case in Sketchup. This also gives you some drawbacks. The most important to me was that the Sketchup files are mesh based like the data used for 3D printing usually, but for further use in CAD systems this is not really usable. You also will not be able to get a STEP model that you can give to your costumers out of this data.
Another solution is to use eagle3D, which gives you photorealistic renders of your boards. This images (or even videos) are really good for marketing brochures, but this way makes it impossible for you to play with your 3D models to estimate how much space is left in your case.
The solution I found was to write a macro for FreeCAD that interprets the XML Data that Eagle 6 uses to save your board (the .brd file). This means that my script reads the outline of the pcb and extrudes it with the thickness you specified in eagle. The XML file also contains the names of your parts, which you can map to 3D CAD Models (STEP Models) of them. The last step is to assemble the parts and the board. For more information on how to use it see my github repository.
The only drawback of the freecad solution is that somehow the colors of STEP models get lost – at this time I expect it to be a freecad problem that might be fixed in the future.
The result looks amazing:
Thanks to my boss Carsten Ziermann, who allowed me to make changes on the script in my time at work as well as to use the screenshot above.
Cool stuff…any idea if this is possible w/ KiCAD files?
I just googled that Lucas also uses text files to save the PDB data, so the same way should work with Lucas too… Maybe I implement it some day 😉
Hi Christian,
eagle2freecad.py does not appear to be up on your github. At least I can’t find it. Sorry if there’s something really simple I’m missing.
Best Regards,
Jorge Garcia
Thank you for the hint. The instal section was just not up to date, because I changed the script name from eagle2freecad.py to eagle.FCMacro recently to allow an easier instal procedure.
THIS IS AWESOOOOMMMEEEEE!!!!!!!!!!!!!!!!!!!!!
YOU HAVE NO IDEA HOW STOKED I AM ABOUT THIS! I WILL BE STUDYING THIS THE REST OF THE WEEK.
THANK YOU! THANK YOU!
Jorge Garcia
Cadsoft Support
Hi,
If you can do that with the XML data, you can do the same directly in Eagle using an ULP(script in the IDE).
About the color, there is a path which use colors in Eagle, but this is not really appropriate for coloring parts in your 3D models.. :/
I’m think it’s interesting for people who don’t have Eagle 😉
++