3D viewer doesn't show Filled Zones "cutouts" on Silkscreen layer or soldermask layer

Bug #1632068 reported by firewalker
38
This bug affects 5 people
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Unknown

Bug Description

If someone lay a filed zone on a silkscreen layer, 3D viewer will show it as a completely filled area without "cutouts" for the component under it. It is correctly in the produced gerbers though.

http://i.imgur.com/q4cuD6S.png
http://i.imgur.com/f2ngSxM.png
http://i.imgur.com/i1FaCdV.png
http://i.imgur.com/k2UR9KO.png

Application: kicad
Version: (2016-10-07 revision f14dc8f)-master, release build
Libraries: wxWidgets 3.0.2
           libcurl/7.50.3 OpenSSL/1.0.2j zlib/1.2.8 libidn/1.33 libssh2/1.7.0
Platform: Linux 4.7.6-1-ARCH i686, 32 bit, Little endian, wxGTK
- Build Info -
wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.61.0
Curl: 7.50.3
KiCad - Compiler: GCC 6.2.1 with C++ ABI 1010
        Settings: USE_WX_GRAPHICS_CONTEXT=OFF
                  USE_WX_OVERLAY=OFF
                  KICAD_SCRIPTING=ON
                  KICAD_SCRIPTING_MODULES=ON
                  KICAD_SCRIPTING_WXPYTHON=ON
                  BUILD_GITHUB_PLUGIN=ON
                  KICAD_USE_SCH_IO_MANAGER=ON
                  KICAD_USE_OCE=ON

Revision history for this message
firewalker (firew4lker) wrote :
Revision history for this message
firewalker (firew4lker) wrote :

Show Holes in Zones is ticked.

Revision history for this message
Nick Østergaard (nickoe) wrote :

That looks like a bug to me, although it seems like you do not have the render options -> render holes in zones option enabled. But enabling that will only render holes in the silk zone for the vias. I guess when one want to render with holes in zones one also want to render holes in the zone where there is copper, because silk over copper is usually removed by the fab. But I guess it is not incorrect as such, because the gerber layer does not render cutouts.

Revision history for this message
jean-pierre charras (jp-charras) wrote :

Cutouts (due to solder mask) in filled zones on a silkscreen layer exist only (this is an option) in Gerber files, because this option uses negative objects (the solder mask image), which exist *only* in Gerber files.

Negative objects do not exist "as this" on the silkscreen layer.

Revision history for this message
Nick Østergaard (nickoe) wrote :

Maybe the 3D viewer should have a similar option to generate the output that you would get if you get a pcb made with that gerber option?

tags: added: 3d-viewer
removed: 3dviewer
Jon Evans (craftyjon)
Changed in kicad:
importance: Undecided → Low
Jon Evans (craftyjon)
Changed in kicad:
status: New → Confirmed
Revision history for this message
John Beard (john-j-beard) wrote :

Is this still an issue? I see holes in silk zones rendering OK in 3D in current 5.1-rc1 master (61a95c54401ee91643b2b8cbe16dca01fd218329)

Revision history for this message
Seth Hillbrand (sethh) wrote :

@John-

Place your filled silk over a via to see the bug.

Revision history for this message
John Beard (john-j-beard) wrote :

Oooo, sorry, I misunderstood the issue totally! >_<

Revision history for this message
John Beard (john-j-beard) wrote :

So this is relatively easy to do for the "contour" polygons (just subtract relevant SHAPE_POLY_SETs at the end of the build tech layers phase). But not so easy with the layer containers, as those aren't just one big SHAPE_POLY_SET that can be subtracted, and the COBJECT3Ds can't be easily boolean'd.

Revision history for this message
Mario Luzeiro (mrluzeiro) wrote :

I don't remember the implementation and just check with an "not latest" KiCad version and it looks that there is any layer cut for any shapes for silkscreen.
Placing a circle or text on a hole or via will not cut the silkscreen.

When I worked on this 3D Viewer version I followed the state of the old 3D Viewer, keeping it with similar behavior. Was that the same behavior as old 3D Viewer or is in fact an introduced bug?

I remember to had the same interpretation and the jp-charras.
One personal point I had, was that usually while in design a PCB, you don't want to place silkscreen on holes or pads. eg: you don't want to place text ref in a hole. Usually there are small leaks on the paint process that can contamine solder pads.
So from this point, this is a feature to discover possible mistakes.

If it is desired to cutout the holes and pads on silkscreen layer, to mimic a realist final board, that can be implemented. ..maybe as an user option?

Revision history for this message
John Beard (john-j-beard) wrote :

@Mario: I think ideally, yes, you are right, silk doesn't extend where it shouldn't.

However, Gerber plot export does have the option to remove silk over mask apertures, so it would be consistent to allow this option in the 3D viewer too.

However, this is not a trivial process in the general case (and could be rather slow to check all silk shapes for any colliding mask shapes, and perform some kind of boolean op if so).

Revision history for this message
Mario Luzeiro (mrluzeiro) wrote :

Hi Joe,
It should be easy to implement the cut for silkscreen, as it is already implemented for copper and solder mask.

I was just checking in the source code and found that only copper layers, solder mask layers ( and body board ) are cut with holes. Other tech layers ( silk, paste, etc ) are not cut.

If I get a chance I can have a look to implement it.

Revision history for this message
Mario Luzeiro (mrluzeiro) wrote :

I mean "Hi John"! sorry! ;)

Revision history for this message
Seth Hillbrand (sethh) wrote :

Note that this also occurs for soldermask layers over holes/cutouts

summary: - 3D viewer doesn't show Filled Zones "cutouts" on Silkscreen layer.
+ 3D viewer doesn't show Filled Zones "cutouts" on Silkscreen layer or
+ soldermask layer
Changed in kicad:
milestone: none → 6.0.0-rc1
Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

KiCad bug tracker has moved to Gitlab. This report is now available here: https://gitlab.com/kicad/code/kicad/-/issues/1836

Changed in kicad:
status: Confirmed → Expired
Changed in kicad:
importance: Low → Unknown
status: Expired → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.