On 03/07/2023 12:49, Stuart Tyler wrote:
Hi, this is my first ever post here. I am really impressed with the development of KiCad over the past few releases. The python interface is really good and I am keen to learn. I have been designing PCBs for a few decades now and keen to help improve KiCad.

I have seen some discussion on supporting Flex/Rigid in Issue #12928 and #8118. This is way beyond my KiCad development ability, but this development is very important to taking KiCad to the next level - please reach out to me for any Beta testing on this development - I have designed many Flex/Rigid PCBs and know many of the implementation issues. This feature will open so many new development possibilities for KiCad.

What I have been working on for the past few days is understanding how I can implement multiple track dragging from isssue #14983. I think this is something within my programming capability and is a feature that I really want. I cannot imagine having to route a decent sized PCB without this feature - and so I am keen to work on a simple solution.

Hi Stuart,

Thanks for your interest in contributing to KiCad.

To quickly answer your questions:
- Python is a bad idea because there's no interactive tools support in the pcbnew Python API. It's intended to be used mostly for batch (one-shot) tools. - As for C++, the single track drag code is in pns_dragger.cpp. (PNS::DRAGGER::Move() performs the actual computation of dragged trace's geometry). I guess you could start by making another implementation of PNS::DRAG_ALGO that drags multiple traces. It should be relatively simple to implement in the "mark collisions" mode, but nowhere near simple in walk/shove modes, especially when vias are attached to the ends of any subset of the multidrag traces...

Tom

--
You received this message because you are subscribed to the Google Groups "KiCad 
Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/kicad.org/d/msgid/devlist/8b46f732-30b0-2d1f-4e98-eacd32172510%40cern.ch.

Reply via email to