Dear Svenn,

> In a drawing that I have, I suddenly need do expand the size of  a box
> to fit some text. Expanding the box is easy with the edit function,
> but all the rest of the drawing has to be moved and extended. One idea
> that came to my mind was that if I could draw a vertical cut-line and
> give a command like: "all elements to the right of this line move 10
> units to the right, all elements on the left of this line move 10
> units to the left and all lines crossing the cut-line are extended."
> 
> Of course, then the thought came to my mind: "What if I only want to
> extend a part of a design", say, I need to add another input pin on a
> block, but there is simply no more space for another pin, and the
> signal routing is dense both on top and bottom of the block. That's
> probably a stretch function where a part of the module block is
> selected and all the routing below and then this is moved while
> maintaining connections.
> 
> Do you understand my idea? Is something like this already implemented
> without me knowing about it?

I just (today) implemented a method which should go a long way toward
doing what you are suggesting, although it does not implement it quite
the way you suggest (I may get there eventually).

Since I do a lot of other kinds of drawing with xcircuit, such as
chip specification documents, I often draw spreadsheet-type tables
in xcircuit.  Until now, extending a table has been a pain, since
I couldn't grab a bunch of lines and stretch them all at the same
time.  Likewise for data busses in a schematic.

With the latest version (which I just committed to CVS;  tarball will
be available tomorrow), you can first select a number of lines.  Then,
if you edit (stretch) one of them, all of the others will get stretched
in the same way.

What xcircuit needs, that it doesn't have, is the concept of selecting
both an element, and one or more points inside the element, and then
using the information appropriately:  "edit" functions operate on points,
"move" and "copy" functions operate on entire elements.  The selection
mechanism just selects entire elements, and points are selected on the
fly when the "edit" command is issued.  Once I do this, it should be
fairly straightforward to implement the stretch function exactly as you
describe above.

                                        Regards,
                                        Tim

+--------------------------------+-------------------------------------+
| Dr. R. Timothy Edwards (Tim)   | email: [email protected]    |
| Open Circuit Design, Inc.      | web:   http://opencircuitdesign.com |
| 22815 Timber Creek Lane        | phone: (301) 528-5030               |
| Clarksburg, MD 20871-4001      | cell:  (240) 401-0616               |
+--------------------------------+-------------------------------------+
_______________________________________________
Xcircuit-dev mailing list
[email protected]
http://www.opencircuitdesign.com/mailman/listinfo/xcircuit-dev

Reply via email to