Stretch Only One Line In Dynamic Block, NOT Proprotionally

Stretch Only One Line In Dynamic Block, NOT Proprotionally

Anonymous
Not applicable
488 Views
3 Replies
Message 1 of 4

Stretch Only One Line In Dynamic Block, NOT Proprotionally

Anonymous
Not applicable

I've spent two days searching here for an answer, and if it's here I can't find it, so now I'm asking. I feel this is a very basic AutoCAD question but I can't seem to get it to work. I cannot share files as they are work related and confidential. But here is the setup:

 

I have a dynamic block.

 

The basic parts of the block consists of 3 very simple shapes (1 ellipse and 2 lines) and a text attribute. The ellipse is centered at the basepoint of 0,0 and angled such that the major axis tilts at 45 degrees. The major axis of the ellipse goes from 1 grid square down and left of the origin to 1 grid square up and right of the origin. Its minor axis is half the width of its major axis. The first line starts at the upper right vertex of the ellipse and proceeds along the same 45 degree line for 3 grid squares (3 long and 3 high). At the end of this line is the second line, which is horizontal and 2 grid squares long. The attribute is 1 grid square to the right of the end of the second line with middle left justification.

 

For the dynamic portion, I have added a linear parameter, "Distance1" with the Grips at the ends of the first line. I have also tried using two linear parameters, "Distance2" and "Distance3" which are the vertical and horizontal distances of the the first line, with the grips on both ends, and they have given the same results. I have tried various actions on both sets of parameters with minimal success.

 

Ideally, here is what I want:

1. The ellipse should not change location relative to the base point, nor change shape or size. It should be fixed. (This appears to be working)

2. The first line should stretch per the user using the grips. The stretch does not need to be proportional, if user stretches x and y different, then it should follow the user command and skew as necessary. (This is where I need the most help)

3. The second line should not change size, but should move such that it always begins at the endpoint of the first line. (This is also working correct)

4. The attribute keeps it's position relative to the second line (I can't seem to do this - but, since the attribute has it's own handle, I can deal with this not happening and is not the biggest concern of this post).

 

I get REALLY close to what I want to do, but not quite, when I use a "SCALE" (not "STRETCH") action on distance1 using the upper right grip as the parameter point, with the first line as the object and a "MOVE" action on distance1 with the same grip as the parameter point and with the second line as the object. However, this will only change the first line in an x-y proportional manner. The angle of the line stays at 45 degrees with a 1:1 X:Y ratio no matter what I do (this is what I really want to fix). The second line follows the endpoint of the first line as desired, so I guess I got the MOVE command right. I cannot seem to add the attribute to the selection set to get it to follow any action (again, this is the lower priority of my two concerns as I can use it's own handle to position it in the main drawing, though that is an extra step).

 

Oddly (to me, anyway) I observed that if I remove the "SCALE" action and only use the "MOVE" action, that the second line beginning will similarly only move along that same 45 degree line.

 

If I attempt to use the "STRETCH" action it doesn't seem to STRETCH anything. It only seems to move the first line along that 45 degree path. Size doesn't even seem to change. I have gotten similar results whether I use the single "Distance1" Parameter or separate "Distance2"  vertical and "Distance3" horizontal parameters, or even using an "XY" parameter instead of linear. I set the "Stretch Frame" corners to the ends of the first line. I suspect I may be doing something wrong with the stretch frame as I'm not sure exactly what that is doing. I have tried making the "Stretch Frame" from the basepoint to the endpoint of the first line as well, with similar results.

 

It seems my X and Y components are locked at a 1:1 ratio no matter what I do, and I can only actually change the size of the line with "SCALE" not with "STRETCH". Please advise on what I might be doing wrong here and how I can fix it. 

 

 

 

 

0 Likes
489 Views
3 Replies
Replies (3)
Message 2 of 4

Libbya
Mentor
Mentor

Post the block.  If you can't post the actual block, then post an example file that contains all necessary information for other people to help you.  Reading a wall of text without any context is like eating sand.   

Message 3 of 4

j.palmeL29YX
Mentor
Mentor

@Anonymous wrote:

 

2. The first line should stretch per the user using the grips. The stretch does not need to be proportional, if user stretches x and y different, then it should follow the user command and skew as necessary. (This is where I need the most help)

 

 


As mentioned by @Libbya it is hard to understand your "whishes". 

But I have a dark suspicion, that a XY-Parameter (instead of the Linear Parameter) can solve at least some of your problems. 

For more detailed help you should show us a rudimentary block example. (or a freehand sketch what you have and what you want to get.)

 

 

Jürgen Palme
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature

0 Likes
Message 4 of 4

Anonymous
Not applicable

Sorry I wasn't able to make it clear. I have figured it out, though. It was the "stretch frame". I still honestly am not sure exactly how the "stretch frame" works, and why the way I was doing it caused the angle to lock, but example after example I looked at always showed the "stretch frame" going from the midpoint of the object to the endpoint, and I had been setting it across the entire line, so I tried it that way. When I set it from the midpoint to the endpoint, it worked and it actually didn't seem to matter which type of parameter I used. I got it to work with linear, XY, and even (what I finally went with) a simple point parameter. Since I figured it out, I'm not going to waste my time making the example to illustrate - unless someone else out there has a similar problem and wants to see it.

0 Likes