I am testing the new KiCad 6 and I am quite confused about the “Cleanup Tracks and Vias” tool. I have a project upgraded from KiCad 5.1 and the cleanup tool is removing a perfectly fine track:
From the limited information I can see from your screenshot it does look like a bug.
How long is that track segment?
KiCad does recognize connections even if the tracks do not fully extend to the snap point of a pad, but there are some gotcha’s and this is not very reliable. I usually always draw copper tracks to the snap points in pads. It’s just as easy to draw and the PCB will be a bit more “robust”.
If you make a bug report for this, it’s good to have a zipped project that shows the bug.
It’s even better if you first zip your project and post it here, so others can verify the the bug before it gets posted (There are over 1400 issues on gitlab, KiCad has many users, and few developers).
Preferably remove all clutter from such a project. If you can reduce it to just two simple footprints and a few track segments and the matching schematic, then that is ideal.
I tried to minimize the board to reasonable file size and post it here. While doing that I did probably find the reason for the issue but I still does not understand it
There are 2 very short tracks in the via, probably some leftovers from moving the via or routing… However they are in no way “duplicate” with the longer one as they do not connect the via to the pad, they are completely “under” the via…
I think you have discovered an edge-case for the cleanup-tool. There is an track with 0.000 length directly at the endpoint of the track which gets deleted.
A 0.000length-track is essentially a point and is therefore colinear with all tracks which share the same coordinate. So it’s ok that the “merge-colinear segments” algorithm is working, but I think the merging-calculation goes wrong.
If you have time please open a bugreport at gitlab (kicad → Help → Report Bug) with your reduced project.
If you don’t want to do it yourself say a word.
It would be really nice if the cleanup tool would be able to run only a selected cleanup tasks. For example I have the project upgraded from older KiCad with some zero length tracks and I would like to remove them all but check every one before hand. Or merging the co-linear tracks but again only handpick the obvious ones…
Thanks. The project does not include any proprietary information - more like stuff in state not ready for publication So the worst that can happen is that I will be embarrassed by someone more skilled in PCB design pointing out all my mistakes…
Its late here and I will not be able to work on this tomorrow so I tried to delete all the big stuff (i.e. there was a 60MB RPi 3D model ).
The Edge.Cuts layer was also empty, and I was afraid that had some influence, so I also made a simple outline on Edge.Cuts.
Your project also has quite a lot of leftovers. Files from before the conversion of KiCad V5 to V6.
KiCad leaves it up to you what you want to do with those files, but KiCad does not use them anymore and they can be deleted.
Always make sure you have a full backup before you go deleting files though.
It have all in a git repo, and I have a branch before converting it to v6 - so I should be safe in this department.
I did notice that there are some v5 files but I was not sure which I can delete and it is not a priority now. The priority now is to get used to new KiCad and see if I am will be able to use, know the tools a little better (for example the Cleanup one ) and then I will probably return to the v5 version and start over the conversion to v6 for real…
So you’re both having a decent backup strategy and practice, and you’re doing test runs to experiment with new features.
I’m impressed.
On this forum there are also beginners, who are pushing buttons in the hope it does something usefull and then loose their work because they pushed the wrong button. Luckily this does not happen often.
Thanks for your kind words.
My main job is a software development so I use git daily and thus it comes naturally to me to use it on my electronics “side projects”. It also helps me organize my library with sub modules and much much more…
I am also trying to automate as much as possible for the same reason. Even thought in the end I may spend more time on getting the automation working than repeating the mundane tasks But I know that it is easy to make mistake as you are rushing through something you’ve done 10 times already…
So for me to be able to switch my projects to KiCad 6 I need to be able to just push the project to git and have the complete outputs automatically made in few minutes (gerbers, schematics, assembly documentation, etc…) And that is why I am doing a lot of test runs so when all the tools are ready I can start over and focus more on the project than on the tools…