Copper zone filling artifact depending on placement of nearby component
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
KiCad |
Fix Released
|
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,
Platform: Linux 4.2.0-1-amd64 x86_64, 64 bit, Little endian, wxGTK
Boost version: 1.58.0
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.
Changed in kicad: | |
status: | Confirmed → In Progress |
status: | In Progress → Fix Committed |
Changed in kicad: | |
status: | Fix Committed → Fix Released |
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