← Back to team overview

kicad-developers team mailing list archive

Ratsnest release note

 

Ladies and Gentlemen,

Finally, there is the ratsnest compatible with the GAL available for testing in our branch [1]. Hopefully after some testing time and main developers approval, it will get merged to the testing branch. The main difference introduced is that the ratsnest now takes into account tracks and vias too. It came at some performance cost, but it should not be a very big price for the functionality.

For those that are slightly more interested in implementation details:
- The board is processed, ie. all items are split to nodes (connection points such as pads, vias, track endings) and connections (tracks). - Basic grid of connections if computed by Delaunay triangulation (ignores the fact if connections exist or not, just prepares the grid). It is done using the TTL[2] library, tailored to the needs of the algorithm. - Minimum spanning tree is computed, taking into account if connections exist or not. For the items that are modified by the tools, it takes too much time to recompute the whole ratsnest, so there is only one line drawn for each node. After modifications are finished, all nets that were influenced are refreshed.

Things that I would like to add in the nearest future:
- pool allocators - I believe this should significantly increase the speed, but I was not able at the time being to use it properly to gain some boost. I just need some experiments to combine those with shared_ptrs. - toggling ratsnest per net - There could be a menu for hiding specific nets. I used to hide power nets in my designs, as they were introducing lots of missing connections that were littering my screen.

As usual, both tests and opinions are more than welcome. Myself, I am going to further develop the selection tool.

Kind regards,
Orson

[1] lp:~cern-kicad/kicad/ratsnest
[2] http://www.sintef.no/Projectweb/Geometry-Toolkits/TTL/


Follow ups