Jump to content
Blars

Symbol Constraints / Resizing

Recommended Posts

Is it possible to resize symbols (Stretch them using grips) and not have the symbol "smear?"   For example, if I draw two "concentric" rectangles centered over eachother with equal offsets between each edge, turn that into a symbol, and stretch the edges using the grips, the offset distances change and become unequal.  How can i maintain the equal offset within symbols?  Are there constraints that can be applied to the linework within the symbol to prevent the 'smear?'  I want to prevent the asymetric stretching of edges.  Thanks.

Share this post


Link to post

Edit the 2D symbol and move the original shapes, or offset them (original mode) or double-click and use the edit tools in move edges parallel mode (If I understood the question correctly)

Share this post


Link to post

Editing an altered symbol will change all instances.  I'd rather not make new symbols for each instance because there's not much point in having symbols at that point.  In the image i uploaded with this post... The image on the far left is the original symbol.  If i "stretch" the symbol from the control point at center right, i could get the center symbol.  But what i really want is to have the original symbol resize to look like the image on the far right.  are there 2d constraints that can do this?  Thanks.

Screen Shot 2017-03-30 at 11.40.47 AM.png

Share this post


Link to post
39 minutes ago, Blars said:

Editing an altered symbol will change all instances.  I'd rather not make new symbols for each instance because there's not much point in having symbols at that point.  In the image i uploaded with this post... The image on the far left is the original symbol.  If i "stretch" the symbol from the control point at center right, i could get the center symbol.  But what i really want is to have the original symbol resize to look like the image on the far right.  are there 2d constraints that can do this?  Thanks.

Screen Shot 2017-03-30 at 11.40.47 AM.png

 

I think this is the perfect scenario for a Marionette object. You wouldn't be able to scale it using the edit handles, but you could make it so

  1. you entered the original rectangle size and it generated the offset
  2. or you entered a percentage of the original size for x and or y and it adjusted the offset to the new shape.

The symbols will always scale proportionally so the offset will change.

 

Kevin

Share this post


Link to post

If you don't necessarily want the symbol to remain a symbol in the drawings you can edit the Symbol definition to be convert to a group and each one will stand alone.

Capture.JPG

Share this post


Link to post

Constraints won't impact the object if it is in a container that is scaled, so they probably won't help you with what you are asking.

 

If you draw the two original rectangles, you can add Constraint Horizontal Distance constraints from the bottom inner corners to the larger rectangle corner on each side. Do the same, but with the Constrain Vertical Distance constraint.

 

If you resize either the inner or outer rectangle, the other will change to keep the proper distances.

 

Select both and Group them. If you scale the group, the constraints don't hold. If you Edit Group and scale either of the rectangles, the constraints do hold. The same applies for objects inside symbols. Scale the symbol and no constraints. Edit Symbol and scale either rectangle and it works.

 

Looks like this is you opportunity to learn to do some puppetry. ;-)

Share this post


Link to post

How might this be done in marionette?  I've not used that before.  Thanks.

Share this post


Link to post

The attached file has a simple marionette object that draws two concentric squares. These are wrapped into Marionette Objects so they work like PIOs. You can duplicate the object and change the parameters for each instance individually.

 

The two parameters you can enter are the Size and Offset. Size is the overall size of the larger square. The Offset is the desired spacing from the edge of the larger square to the edge of the inner square.

 

If you right click on one of the objects and choose Edit Script, you can see the Marionette network.

 

The Dim nodes have names so they show up in the OIP and can have their values changed from there.

 

The Int (integer) and Mul (multiply) nodes are there to properly size the smaller square as the offset is from one size and not the actual desired size of the square.

 

The Point2D node creates the proper starting location of the smaller square in relation to the larger square.

Screen Shot 2017-04-03 at 2.52.46 PM.png

Concentric Squares.vwx

  • Like 1

Share this post


Link to post

@Pat Stanfordhi great to see you dipping your toe into marionette. With your vector script and programming knowledge I am sure I and others can learn lots from you. Thanks

Nicely described also.

Edited by Alan Woodwell

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


 

7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114

 

© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.

×
×
  • Create New...