No display in 3D view with multiple tracks on top of each other
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
KiCad |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
A board developed with Windows executable 4022 was displaying fine in 3D view with that version (Win7), however in newer versions (4873-4886 tried in a VM, compiled with the Winbuilder project) the 3D display would just show a white screen and when closing 3D view the wait circle would keep displaying until KiCad was closed. PCB view would crash on closing then, also in v 4886 which seems more stable in that respect than 4873 and 4875. Other boards, and early versions of the same board before tracks were laid down would display in 3D view, so basic 3D viewing capability is confirmed on the system.
After deleting all footprints from the board, I tracked the problem down to an area I had gotten multiple tracks on top of each other ( I had wanted to create a wide ground path path for the analog part of the board). In the attached example files that is just a board with tracks, the offending track has been deleted in the ..tracks_good version while the ..tracks_bad version should display the problem. (In the tracks_bad version I had already deleted a few tracks. When I went back to the original board I had to delete a few more tracks than the one showed as offending before 3D display worked). I am attaching a JPG showing a side by side comparison of the offending area of the supplied test samples.
I am reporting this because the behavior changed between the early version and the later versions.
[ I have just recently started using KiCad, and have really come to like it. Impressive work by this project! ]
Changed in kicad: | |
status: | New → Fix Committed |
Changed in kicad: | |
status: | Fix Committed → Fix Released |
This issue (crashes) is due to a bug in a library used in Pcbnew (boost::polygon), not yet fixed.
It happens in very rare cases, and it cannot be fully fixed in Kicad.
However I applied a workaround which should works, at least in this case.