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.