Internal Cu layers in 3D viewer

Hi all,

I am new to KiCad and to PCBs, pls bare with me;) am I correct in assuming the KiCad 3D viewer (which is awesome btw!) cannot render the internal Cu layers of say a 6 layer board, but only the top front/back sides?

I tried to check/verify a SMA connector / microstrip with via stitching which uses multiple layers but the 3D viewer doesn’t seem to show those internals layers

What’s going on? Thanks for any clarification!

/Tobias

1 Like

I don’t know what is going on with your PCB, but KiCad’s 3D viewer is definitely able to show the internal copper layers.

Here is an example, taken from the Olinuxino A64 Rev C (Also a 6 layer PCB):

And the settings used for the 3D viewer (Preferences / 3D viewer)

Some noteworthy notes:

  • Turn off Solder mask layers (because they cover most of the outside of the PCB).
  • Turn off Board Body (which also obfuscates the internals)
  • Turn off Realistic Mode This gives each copper layer a different color (I think the same as in the PCB editor).
  • Experiment a bit with the settings. Different sorts of inspections work best with different settings.
1 Like

Yeah Paul, good tips. I have never seen the inside properly before and finally selected all of your config settings and it makes sense now. It is also nice that zone-fills can be turned on or off:

When I turn zone-fill off I see a trace on layer 3 so it is showing all copper except filled zones.

Thank you so much for your tips! I could solve my issue=)

Encouraged from your confirmation and example that shows that KiCad is able to render internal layers, and starting from your settings, I was able to “fix it”.

The default preferences of the 3D viewer has “Show Board Body” enabled.

Disabling that, a view through the transmission line (basically through one of the SMA connectors) now looks like this (expected):


I guess the thing that got me confused/off-track is: even with “show body” enabled one can navigate into the inner of the PCB, vias are still rendered, but layers are not!

Not a big deal of course if one is aware of this trap;)

using your exact settings, it lacks the filled zones then which I do want to see in my case. too lazy to add one merged pic, since I’m only allowed to post one pic per post as a new user … wtf/why? anyways;)

2 Likes

anyways, then a 2nd post … with your settings exactly:

2 Likes

Read here: https://forum.kicad.info/t/new-member-information/38391

It is the way of the forum program.

1 Like

ok, right! thanks for noting/caring to explain. understood. also, Discourse: +1

1 Like

Left click your forum ID then left click it again in the newly opened window and you can see what you still have to achieve to get to basic. :grin:

will take some time I guess, np, thanks for the like! =)

1 Like

All you need to do is click on 20 different posts in at least 3 different topics.
Maybe even glance at the odd one or two if it looks exciting! :rofl:

I guess the thing that got me confused/off-track is: even with “show body” enabled one can navigate into the inner of the PCB, vias are still rendered, but layers are not!

Some context explanation for better understanding:
“body” means on this case the substrate (eg: FR04)

When you have substrate, you can’t see the internal copper (that is why it was optimized out of the render), when you don’t have substrate the internals are exposed (need to be rendered).

Vias that end in the “external side of the board” are supposed to be rendered. I believe if you have internal vias between internal layers, they will not be rendered (when body is enabled)

1 Like

thank you a lot for chiming in and explaining things! as mentioned, I am a newbie rgd KiCad, and PCBs in general, so my occasional confusion is pretty expected;)

Vias that end in the “external side of the board” are supposed to be rendered. I believe if you have internal vias between internal layers, they will not be rendered (when body is enabled)

Yeah, got it! Makes sense from a SW engineering perspective.

Blind/buried vias: luckily, I don’t need such stuff, and my manufacturer wouldn’t support it anyways

I guess if there were some element that started within the inner PCB, extended to the outside, and turn back to an end point again within the PCB, the portion spanning the outside wouldn’t be rendered as well. now, luckily, “PCB manuf.” is all planar, so such non-planar things don’t exist (only vias, but those are not general objects crossing planes but only have non-planar elongation straight in z-axis)

maybe the algo will simply determine whether both start and end point is outside, and only if so, render

anyways, now that I know this “trap” (for me / the uninitiated), no problem!!


fwiw, I will soon come back to this, as I am making progress with my PCB, e.g. here is a detail view (body render off)

I want to export the 3D model of the PCB antenna, including the 3D shapes of the vias

ideally, I’d also want 3D models of the inner layers. the PCB antenna is only using top/bottom Cu layer obviously … but it uses vias … and those are sitting in substrate which in my case looks like this

in a perfect world, I would get 3D STEP or whatever models of the top/bottom traces (which have z-axis 18um) PLUS all the fancy inner materials as 3D blocks, but no models for inner traces as there are none

no idea if that will work, and whether I can use openEMS with a mesh fine enough to resolve eg the structure of individual vias …

my theory is: those structures, plus the changes in diaelectric and conductive material (bare metal vs ENIG) will result in reflections, and ultimately the impedance

can I render a 3D movie showing those reflections?

but maybe that’s a level “too detailed” and openEMS couldn’t do that anyways.

I have no clue, I’m a SW guy;)

You will find it on the web, search for “kicad blender openEMS”

Example:

1 Like

Thanks a lot for the tip! Yeah, these movies are absolutely stunning!

Visually appealing, and also helping to develop some “intuition”. I became aware of this only a couple of days ago - it deserves much more attention … I’ve spread the word on LI Tobias Oberstein on LinkedIn: Meandered Inv F PCB Antenna Simulation

In fact, I am trying to follow this approach to get somewhere, even though I’m not sure I’ll be able to simulate/show reflections at the planar helix turns where vias sit, and I’m not sure “reflections” are a practical problem at <1GHz anyways.

I learned that I need at least 1/15 of wave length (at 1GHz in my case) for openEMS FDTD meshes. However, this still is much longer than via diameter. I would naively assume I need at least 1/10 of trace width / via diameter (0.3mm) to have a chance to simulate reflections properly.

Yesterday, I was still stuck on exporting 3D from KiCad … tried various things and tools … the built-in exporter for STEP does not include traces or even vias … the VRML export produces messy meshes for my taste

but GitHub - realthunder/fcad_pcb: FreeCAD scripts for PCB CAD/CAM is able to produce clean geometry meshes

Today I am trying to figure out the next step towards simulation in openEMS: define ports, FDTD meshes etc. Once I got that, I need to figure out Blender … well … still something to do;)

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.