Mail Archives: geda-user/2014/08/09/20:33:13
Stefan Salewski wrote:
> When we move in gschem the horizontal net to the right,
>
> |
> |
> |
> ----------
>
> we get this:
>
> \
> \
> \
> ----------
>
> My initial idea was to let the vertical net unchanged,
I think so, too.
If the left node of the horizontal line is moved vertically, the node
looses connection and we get two nets:
|
|
|
--
--
--
--
--
This leaves us with a broken net and a slanted line. Most probably not
the desired outcome.
> but maybe
> gschems behaviour is indeed better for this case?
Well, I guess, it was easy to code.
IMHO, a good rubberband mode should mode should ensure at least one of
these constraints by design:
1) preserve existing connections
1a) never break a net
1b) never add a connection in the process
2) keep all lines orthogonal. In schematics slanted lines are very
unusual to say the least. So a slanted line will make the user redraw
the net.
3) keep different nets a minimum distance apart.
Imagine, two symbols A and B connected by three nets:
AAA---BBB
AAA---BBB
AAA---BBB
Now move symbol B vertically by a large amount. What should a
rubberband mode do?
There will always be corner cases that a rubberband mode cannot handle
without breaking one of the above rules. The current code does just
lets it happen. But how about a slightly different approach:
First try to abide the rules. If this fails, turn the affected nets
into rats similar to the way pcb handles not yet completed
connections. Then it is up to the user to turn the rats into regular
orthogonal nets.
---<)kaimartin(>---
- Raw text -