www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2014/08/09/15:55:53

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Virus-Status: Clean
X-Virus-Scanned: clamav-milter 0.98.4 at av02.lsn.net
Message-ID: <53E67CAE.3050601@ecosensory.com>
Date: Sat, 09 Aug 2014 14:55:26 -0500
From: John Griessen <john AT ecosensory DOT com>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: geda-user AT delorie DOT com
Subject: Re: [geda-user] How smart is gschems 1.9.1 rubberbanding?
References: <1407607347 DOT 2887 DOT 13 DOT camel AT AMD64X2>
In-Reply-To: <1407607347.2887.13.camel@AMD64X2>
Reply-To: geda-user AT delorie DOT com

On 08/09/2014 01:02 PM, Stefan Salewski wrote:
> Is this intended, is this what we want?

No, preserving connections and avoiding shorts is what is wanted.
The value is in being a conceptual short cut compared to redrawing all moved connections.
Instead of diagonal, lines could be in steps as needed to avoid shorting out.
Avoiding shorting out may be more AI logic than you want to try programming!

A simple kind of rubber-band mode that is valuable is select instances and net segments,
then when a move starts, the selected set does not change shape, the unselected set
does not change position, and nets to preserve connectivity
fill in with two-right-angle-segments-with-one-common-point, or diagonals if that would cause shorts.

Often, two-right-angle-segments-with-one-common-point do not work well, as in connections between two
parallel rows of pins when one row is moved away and to the side.  Then one would need 
three-right-angle-segments-with-two-common-points to fill in between moved and stationary sets of instances and nets.

Sometimes rubber-band moving is only a conceptual short cut and takes a lot of time to do.

A good way to get quick results would be to just do the diagonals, then use a tool on selected set
to convert them to rectilinear nets that do not change the netlist.  Then scoot those around to suit
your aesthetics.  A one net at a time tool could be just a mode with mouse actions:  click-drag
to convert a diagonal to rectilinear and influence where right angle points are.  Keep them from
changing the netlist, and when the mouse moves in a direction, move the nearest bend point with it
while keeping netlist same, and only affecting the adjacent two points that are bend points or
connected to a pin.

Too many words, needs a drawing...gotta go though...

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019