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 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> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit 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...