Copper zone filling artifact depending on placement of nearby component

Bug #1527827 reported by Henner Zeller on 2015-12-19
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
High
Tomasz Wlostowski

Bug Description

Something going awry with polygons here.

== Application context ==
Application: pcbnew
Version: (2015-12-17 BZR 6382, Git 22fdfa6)-product release build
wxWidgets: Version 3.0.2 (debug,wchar_t,compiler with C++ ABI 1009,GCC 5.2.1,wx containers,compatible with 2.8)
Platform: Linux 4.2.0-1-amd64 x86_64, 64 bit, Little endian, wxGTK
Boost version: 1.58.0
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=OFF
         KICAD_SCRIPTING=ON
         KICAD_SCRIPTING_MODULES=ON
         KICAD_SCRIPTING_WXPYTHON=OFF
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=OFF

Starting point: a board (minimized kicad_pcb file attached), with two components and a copper zone with a 0.3mm fillet radius.

Then, two experiments with this file:
   * Open file and convince yourself that zone is correctly filled ('B'). Then move the LED 2.5mil to the right. Re-fill, and you get a 'stick' extending from the zone. It looks like an overflow error somewhere, as the stick is pretty _pretty_ large (couldn't find the end of it, got lost in the canvas).

Another experiment with the file:
   * Don't move the component, but change fillet radius to 0.4mm. Re-fill. Same artifact.

It is to note that the component does not touch the zone, however, it has a pad that shares that same net; and the 'stick' goes through that pad after the fill. Maybe that has something to do with it.

Related branches

Henner Zeller (hzeller) wrote :
Henner Zeller (hzeller) wrote :
Henner Zeller (hzeller) wrote :
Henner Zeller (hzeller) wrote :
description: updated
Tomasz Wlostowski (twlostow) wrote :

The bug is triggered by a duplicate vertex in the zone outline (CPolyLine::Fillet produces an incorrect polygon in such case).

Working on a fix...

Tom

Changed in kicad:
assignee: nobody → Tomasz Wlostowski (twlostow)
importance: Undecided → High
status: New → Confirmed
Rogier Lodewijks (rogier-f) wrote :

Don't seem to be able to reproduce this with the attached minimal pcbnew file. testing on Windows 10 64 bit, using nightly 6951

Nick Østergaard (nickoe) wrote :

Looks similar to what can be provoked with the attached file.

I have found a pcb file on my computer, I am not sure of its origin, that has a buggy rendering both in legacy and GAL in different, but similar ways.

Tomasz Wlostowski (twlostow) wrote :

Hi Nick,

Can you post a screenshot? In my case the zone does not fill at all because it's not connected to any pad.

Tom

Tomasz Wlostowski (twlostow) wrote :

BTW. the original issue was fixed by JC on 06/26/2016.

T.

Nick Østergaard (nickoe) wrote :

Tested the below info, and I have also seen the issue on windows before with the file I attached.

Application: pcbnew
Version: (2016-08-03 BZR 7003, Git 8dcf040)-product, release build
Libraries: wxWidgets 3.0.2
           libcurl/7.49.1 OpenSSL/1.0.2h zlib/1.2.8 libidn/1.32 libssh2/1.7.0
Platform: Linux 4.6.4-1-ARCH x86_64, 64 bit, Little endian, wxGTK
- Build Info -
wxWidgets: 3.0.1 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.60.0
Curl: 7.49.1
KiCad - Compiler: GCC 6.1.1 with C++ ABI 1010
        Settings: USE_WX_GRAPHICS_CONTEXT=OFF
                  USE_WX_OVERLAY=OFF
                  KICAD_SCRIPTING=OFF
                  KICAD_SCRIPTING_MODULES=OFF
                  KICAD_SCRIPTING_WXPYTHON=OFF
                  USE_FP_LIB_TABLE=HARD_CODED_ON
                  BUILD_GITHUB_PLUGIN=ON

Nick Østergaard (nickoe) wrote :
Nick Østergaard (nickoe) wrote :

I just fill (and unfill it with the shortcut), but it should be filled when you open the file and the wierd render should be visible on all zoomlevels.

On a side note I can note that it crashes pcbnew if I open 4.0.2 with the board file. But that is becasus of an issue fixed in http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/revision/7003 which is also ported to 4.0.3, so that is good at lesat.

Changed in kicad:
status: Confirmed → In Progress
status: In Progress → Fix Committed
Wayne Stambaugh (stambaughw) wrote :

Does this fix need to be applied to the 4 stable branch?

Wayne Stambaugh (stambaughw) wrote :

Never mind, I checked and I see that the stable version does indeed require this patch.

Changed in kicad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers