← Back to team overview

kicad-developers team mailing list archive

Re: [RFC] new connectivity algorithm - testers needed

 

Hi,
This is very nice, especially since I am waiting for it to implement
in my Python Viafence Plugin.

However one thing I don't understand is where can I see the Net
assigned to the Via?
If I place a Via into a Zone and go into Properties, There is a
Combobox to the top left, which is disabled and says "Combo!". Is that
even correct? Is/Will there be a way to set a Via to a specific Net?
When I Fill the Zone, a cutout is generated for the placed Via.
If I zoom closely, I cannot spot any net on the Via. How is it
supposed to work?

Nice Work! Best Regards
Simon

Am 23.06.2017 um 19:01 schrieb Maciej Sumiński:
> Hi,
> 
> After a long testing period, it is time to commit the new
> connectivity algorithm. We have neither received any new bug
> reports, nor we could find any defects ourselves.
> 
> Effectively it means: - long awaited stitching vias are at your
> service - ratsnest calculations should be much faster - ratsnest
> for imported Eagle boards is calculated correctly (due to stitching
> vias) - manual via stitching tool
> 
> Enjoy! Thank you Tom!
> 
> 
> @Developers: There is more thing: please have a look at the
> attached patch. The new connectivity algorithm does not calculate
> links count, so I would remove it from .kicad_pcb files as well.
> Not to mention that it is not even parsed, so there is no point in
> saving it.
> 
> Is it ok to remove them from the file format? This change is
> backward seems to be backward compatible, so I do not think it is
> required to bump the file format version.
> 
> While discussing this topic, I suggest also removing unconnected
> nodes count and board bounding box, as they are also computed on
> the fly.
> 
> Regards, Orson
> 
> On 04/25/2017 05:23 PM, Tomasz Wlostowski wrote:
>> 
>> Hi all,
>> 
>> I've pushed the branch [1] containing a rewrite of the pcbnew's 
>> connectivity algorithm. By this algorithm, I mean: - computing
>> the ratsnest and checking if all connections are complete -
>> propagating net codes from the pads to the tracks/vias - removing
>> unconnected copper islands in zones
>> 
>> Compared to the old algorithm, it introduces several new 
>> features/improvements: - no limitations in via/zone connections -
>> you can have loose (stitching vias), overlapping copper zones or
>> zones connecting pads/vias without direct track connections. -
>> items no longer loose their nets when not connected to any pad. 
>> connecting to a new pad causes automatic net code propagation. -
>> the algorithm makes zero assumptions about connectivity of the
>> items, vias in particular. This removes another obstacle
>> importing designs from other tools (neither Eagle nor Altium make
>> difference between stitching and 'ordinary' vias). - ratsnest can
>> be calculated between any sort of copper items (not only pads).
>> This is a must-have if we want to have copper arcs or arbitrary 
>> copper shapes in the future. - show local ratsnest works for the
>> GAL - marking missing connections between overlapping objects on
>> different layers - free via placement tool
>> 
>> The branch also contains a bit of refactoring of the base pcbnew
>> code: - hidden DLISTS behind iterators. Now you can use ordinary
>> C++11 range based for to iterate over board's primitives. This is
>> the first step towards cleanin up the storage model.
>> 
>> As with all new stuff, there are some still some issues to sort
>> out: - the legacy autorouter is currently disabled, as it relies
>> a lot on the old connectivity algorithm's data model. We're
>> working to migrate it to the new one alongside porting it to the
>> GAL canvas. - there's no automated via stitching tool yet. I'm
>> waiting to review Heikki's patches for the automagic via
>> stitcher. - the message panel does no longer show the 'links' and
>> 'nodes' counters as the new ratsnest has no direct counterpart
>> for these. Is there any purpose for these counters other than
>> diagnostics/debug? - some code formatting/cleanup may still be
>> necessary
>> 
>> @Heikki - once again, the sooner you'll publish your entire via 
>> stitching code, the higher the chance you'll get it integrated in
>> Kicad. We can help with that.
>> 
>> I encourage you to check out the branch, build it and test with
>> your designs. In particular, if you tried zone stitching with
>> single-pad components, try replacing them with vias and check if
>> the board connectivity is correctly resolved and there are no DRC
>> errors.
>> 
>> I'll send some boards demonstrating the new features soon.
>> 
>> Your feedback will be greatly appreciated!
>> 
>> Cheers, Tom
>> 
>> [1]
>> https://github.com/twlostow/kicad-dev/tree/tom-connectivity-apr24
>>
>>
>> 
PS. The final branch will also support per-net rat line visibility and
>> colors as a bonus ;-)
>> 
>> _______________________________________________ Mailing list:
>> https://launchpad.net/~kicad-developers Post to     :
>> kicad-developers@xxxxxxxxxxxxxxxxxxx Unsubscribe :
>> https://launchpad.net/~kicad-developers More help   :
>> https://help.launchpad.net/ListHelp
>> 
> 
> 
> 
> _______________________________________________ Mailing list:
> https://launchpad.net/~kicad-developers Post to     :
> kicad-developers@xxxxxxxxxxxxxxxxxxx Unsubscribe :
> https://launchpad.net/~kicad-developers More help   :
> https://help.launchpad.net/ListHelp
> 


Follow ups

References