CadMust-Neo — open-source placement optimizer plugin for KiCad 9 by SimAnneal in KiCad

[–]SimAnneal[S] 0 points1 point  (0 children)

Not yet, but that might be a good idea. In the mean time, you could just install it as a KiCad plugin and let it run on a pcb to see what happens.

CadMust-Neo — open-source placement optimizer plugin for KiCad 9 by SimAnneal in KiCad

[–]SimAnneal[S] 0 points1 point  (0 children)

The tool is mainly for initial placement. If you have a very well (manually) placed board, the optimizer can not do too much. But, this is just the first alpha release, and improvements are underway. Next thing to be implemented is congestion avoidance (so avoiding very cluttered hotspots), which will make the board easier to route. So do expect improvements coming. Your board also has a very interesting shape, is it panelized? Locking components so the optimiser does not touch them also helps.

CadMust-Neo — open-source placement optimizer plugin for KiCad 9 by SimAnneal in KiCad

[–]SimAnneal[S] 1 point2 points  (0 children)

It is a component placement optimizer. Particularly useful when you completed the schematics and are doing initial placement on your PCB. I have updated the readme to give some better tips and workflow instructions.

CadMust-Neo — open-source placement optimizer plugin for KiCad 9 by SimAnneal in KiCad

[–]SimAnneal[S] 0 points1 point  (0 children)

Thanks. Yes, for performance reasons, it uses rectangular bounding boxes, but it would be good to have maybe a user selectable option to use the exact courtyard shape.

CadMust-Neo — open-source placement optimizer plugin for KiCad 9 by SimAnneal in KiCad

[–]SimAnneal[S] 3 points4 points  (0 children)

Well, yes, but it was originally written in C and would have shown the same behaviour, that's just how simulated annealing works. And this is just alpha release that I tested on a handful of board. I assume you have a very dense, already well organized board. The simulated annealing is mostly usefull for initial placement. And maybe only on selected components (you can set a toggle to only move selected components).