← Back to team overview

kicad-developers team mailing list archive

Re: [RFC] new connectivity algorithm - testers needed

 

Small Bump.

Can anyone shed some light on the new Via Tool? Is it supposed to be not
ready yet? The Track & Via Properties Dialog looks really unfinished and
I cannot modify anything beside Position and Via Size there. Is it
because I am using the Cairo Canvas?

Best Regards
Simon

Am 25.06.2017 um 17:36 schrieb Simon Küppers:
> 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
>>
> 
> _______________________________________________
> 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