I’ve recently converted a project from Eagle to KiCad 9.0. Both the PCB and schematic were imported successfully with most details preserved. However, the 3D models did not come through with the conversion, and I’m not sure how to import them correctly.
Since I have almost no experience with Eagle, I’m not sure where the original 3D models could be linked.
Can anyone guide me on how to import the 3D models in KiCad, and not having to assign them one by one manually?
Any help would be greatly appreciated.
If you open the footprint properties in the PCB, do you see the 3D model?
Is there a path and file name defined? And is that matching with the location and file name of the model?
Thank you for your reply.
No, there is no path/file assigned to none of the components; and that’s why I have assumed that no 3d model is actually imported from Eagle.
As I have explained earlier, in my first message, I am not experienced at Eagle.
But with a quick search, the answer to your question would be “not directly”.
Can you please explain, how could the question and the answer help me to find the solution?
Thank you.
I have imported a few eagle projects into KiCad, mostly to try out whether the importer works, and I’ve helped a guy who was interested in switching to KiCad, but apprehensive about the conversion process.
The raw import worked quite well for me too, but I prefer a more native KiCad look, KiCad does have built in options to replace symbols with native KiCad symbols, and to update old footprints with other footprints. If you update to native KiCad footprints, then all updated footprints which have a KiCad footprint will also show the 3D models.
KiCad is also strongly going towards rounded pads (an IPC recommendation because it improves manufacturability)
Thank you for your reply!
Yes, your explanation makes perfect sense and seems to resolve many issues!
However, if the user is reluctant to modify the footprints — due to upcoming changes that will probably affect how the pads and PCB will appear in the real world and actually differ from the previous version — then unfortunately 3d models may be uploaded manually.
Also, I have seen this in your other posts too:
Can you guide me through (or refer me to a link on) how can nonKiCad symbols be converted to native KiCad symbols “with just a few mouse clicks”? I qoute.
I’m back with a non-automated but slightly easier workaround for a common issue or my common issue.
Since Eagle doesn’t support 3D models, and there was no helper tool or script available in the project files I received, I eventually got the go-ahead to assign 3D models manually.
So I’d like to share a simple and straightforward method I discovered for assigning 3D models to footprints in KiCad, which I previously didn’t know about and makes things VERY faster.
POV:
Imagine you’ve just imported a project from Eagle into KiCad and opened the 3D viewer — only to find that no 3D models are attached nor assigned to the components. For example, you might have 100 SMD 0603 resistors on your PCB and want to assign the same 3D model to all of them. Here’s how to do it:
Select one of the 0603 resistor footprints on your PCB and press E to open its properties.
In the first tab, click on “Edit Footprint”. This opens the footprint editor.
In the editor, click the “Open Library” button (top right, on the yellow bar that shows a warning). This will ensure you’re editing the library version of the footprint — not just one of the local instance on the PCB.
Open the Footprint Properties by:
Either go to File → Footprint Properties,
Or double-click an empty space,
Or click the “footprint + red gear” icon at the top.
In the 3D Model tab, assign the 3D model you want to use. After selecting it, click OK, and make sure to save your changes. If you don’t save, the model won’t be applied.
Go back to the PCB editor. Then:
Navigate to Tools → Update Footprints from Library
In the dialog that appears, click Update. This step updates all footprints that are linked to that library footprint — including the 3D model, since it’s part of the footprint’s definition.
That’s it! Now when you open the 3D Viewer, you should see your 3D model correctly displayed on all 100 resistors.
I hope this helps everyone struggling with importing and converting.
There is an easier way . . . change the footprint to the standard supplied KiCad footprint for the standard components (resistor, capacitors, etc.). They all come with 3D CAD.
Yeah, that certainly is — but my main goal here is NOT to change how the board looks AT ALL. I’m trying to preserve everything exactly as it was in Eagle and how it exists in real life — printed, mass-produced, and all.
The only goal was to convert the files to KiCad, not to alter (even slight changes) the layout or design in any way.
Your goal is quite different from mine. In the few times I do an eagle → KiCad conversion, I replace as much as I can of the symbols and footprints with KiCad native version, with the goal of erasing any visibility that the origin of the project was not from KiCad. But to each his own of course.
And very similar to the methods you and Raptor describe, KiCad also has the ability to replace schematic symbols for other ones in bulk with Schematic Editor / Tools / Edit Symbol Library Links.
Also related to this:
I’ve seen some examples of creating (I think) png pictures from Gerber files as a command line utitily. These can be used with (for example) GIT and visual diff tools to compare differences in copper, silkscreen, mask layers etc from before and after an conversion.