So I’m having an issue where only some components are being rendered in the 3d viewer. I’ve attached an example screenshot showing what I’m talking about.
I can’t seem to find a pattern, but most components don’t render. SMD resistors render fine but not THT. I’ve checked file paths/names and they all check out. I’ve tried manually adding the .wrl files in the “3D Settings” tab. Some components just seem to refuse to render.
This is the short version; if a step by step is needed I might be able to spend the time later to type it.
The 3D library models are not downloaded by default. Each 3D model has to be downloaded. The footprint must also have the correct reference to the 3D model.
You can read the footprint with a text editor to see what file is needed to render in 3D. Hint: it is at the bottom of the text.
In PcbNew, under “Preferences” there is a “3D Shapes Libraries Downloader” selection.
The above should be enough information to get you headed in the right direction.
I actually cloned the entire KiCad git repo and put the 3d model folder in the correct location, I have all the files locally. This fixed it a bit and caused some of them to be rendered like my picture shows, but not all of them.
Load a footprint in the footprint editor, where the 3D model doesn’t show up in PCBnew .
Hit [Alt]+[3] to show the 3D view of that single footprint (might need to close the pcbnew 3D viewer window).
As long as the 3D model doesn’t show up in the 3D view of the footprint, it will not work in PCBnew 3D view.
Check the settings for the 3D model in the footprint editor and work out what’s wrong.
As I just recently walked back down this issue, I only commented on what needs to be there.
Ohhh goody… more short cut keys for me to learn…
I don’t really know if I am being snarky or sincerely appreciative at this moment; my brain hurts from all the extra info I’ve been trying to cram into it this week - - - BUT - - - I always like to learn new things that save me time.
The touchscreen ATMs in Malaysia offer Mandarin as a language choice. Accidentally selected that a couple of times.
KiCad doesn’t go into this area yet, but any of the Unicode language options definitely need a switch back to English icon visible somewhere
Okay so I just had some time to actually look and I’ve figured out it was definitely mismatched path names. The official github repo has all the through hole components in folders like “component_ThroughHole.3dshapes”. KiCad 4.0.5 is looking for “component_THT.3dshapes”. Weird because all the SMD components are still “component_SMD”, hence why they were rendering. Really wish they wouldn’t change directory names like that there’s no real reason to imho but at least it’s solved now!
Edit: It appears they’ve redone a lot of the models and some that it is searching for are no longer present in the official repo. Going to try installing a nightly build instead and see if that’s more current with their new naming conventions.
Double Edit: Downloading the nightly fixed most of the issues. Still have to manually scale a few components for some reason but 90% of things work out of the box.
I wrote a script to look for missing 3d models. I hoped this would highlight missing models, but was not as effective as I hoped, because there are a lot of footprints with a “default” 3d model name (same as footprint name + “.wrl”), and I can’t tell the difference between that and a real error such as a model path with the wrong name.
Just for info, here is the summary output which I ran on a 4.0.6 set
Summary
libraries processed : 90
modules processed : 6356
3D models found : 2017
2797 errors
missing libs : 0
missing 3d models: 2797
no model : 1542
note: “no model” means no model path was specified in the footprint. “missing 3d model” is a footprint which specifies a model path, but there was no corresponding fle.