← Back to team overview

kicad-developers team mailing list archive

Re: Wiring logic/algorithm

 

I'm not familiar with C++. May be a pseudo code would be of great help.

On Thu 3 Aug, 2017, 5:15 PM Wayne Stambaugh, <stambaughw@xxxxxxxxx> wrote:

> On 8/3/2017 3:54 AM, Simon Richter wrote:
> > Hi,
> >
> > On 03.08.2017 07:09, Arun Kumar wrote:
> >
> >> Could you please let me know the wiring logic used in kicad. Like how
> >> the wire is drawn uisng mouse movement and clicks.
> >
> > The first click starts a wire, which already has two segments, one
> > horizontal, one vertical, with the first segment being the longer one
> > initially.
> >
> > Moving the mouse then adjusts the length of both at once. If the first
> > segment disappears, they switch places (so if you start horizontal and
> > pass through the point over the beginning, the vertical segment becomes
> > first).
> >
> > Clicking fixes the point between the two segments currently being
> > edited, and adds another segment at the end, which then has to be at a
> > 90 degree angle.
> >
> > Clicking on a connection point (end of another wire or end of a
> > component pin) ends the wire. If you want to end the current wire
> > without connecting anywhere, double-click.
> >
> >> Also the wiring is rerouted when the components are move around. Could
> >> you please explain the under lying logic and algorithm. If possible
> >> please guide me to the relevant code of kicad.
>
> The wire drawing code is in eeschema/bus-wire-junction.cpp and the
> move/drag code is in eeschema/block.cpp.
>
> >
> > When you move a component ('m' key), nothing else moves. When you grab a
> > component ('g' key), all wires that are already connected remain
> > connected, and the last segment that connects to the component is
> adjusted.
> >
> >    Simon
> >
> >
> >
> > _______________________________________________
> > 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