Cleanup tracks and vias not called recursively
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
KiCad |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
"Cleanup tracks and vias" removes unconnected tracks ("open ends") and merges colinear segments. Merging colinear segments is essential if one wants to use the drag feature ("D" key).
The problem is that the "cleanup" option misses to merge colinear segments if there is also an open end that was removed. In this case, it needs to be called (at least) twice until the desired result is achieved.
Example:
Suppose we have the following tracks: (two colinear segments with a "loose end" attached where they join)
(not sure if the ASCII drawing will look great, but the idea should be visible):
|
*--------*--------*
The first call of "cleanup" leads to this:
*--------*--------*
Onle the second call of "cleanup" merges the tracks
*-----------------*
In more complicated situations one needs to call cleanup *many* times.
Suggested fix:
The "cleanup algorithm" should be called recursively until no cleanup is left to be done on a specific track.
Suggested improvement of the drag option:
When invoking the "drag" option, automatically merge collinear segments instead of reporting that no dragging is possible because there are colinear segments.
BTW, I am using 2015-01-23 BZR 5386
description: | updated |
tags: | added: legacy-canvas pcbnew |
Changed in kicad: | |
status: | New → Fix Committed |
Changed in kicad: | |
status: | Fix Committed → Fix Released |
Dear P,
Did you try out the push & shove dragging feature? If not, just switch to OpenGL mode, enter track placing mode and press G or Ctrl+Click on the track to drag.
Cheers,
Tom