This should be easy, but stretch is broken

This should be easy, but stretch is broken

chloeleyba8NWHJ
Participant Participant
818 Views
9 Replies
Message 1 of 10

This should be easy, but stretch is broken

chloeleyba8NWHJ
Participant
Participant

Hi all,

First I want to thank all of you incredibly knowledgeable people out there for all of your help in the past.

 

So i have a bit of a dilemma. I'm trying to create a block that has the ability to stretch a line in all directions (polar stretch - check - got that figured out)  and have text that can slide along the line in any rotation or length. I have this figured out, yet I don't. I can get the text to slide to to the right no issue, but when I slide to the left (towards 0,0) the text gets stuck and will not slide any further. There has to be a setting that I am not seeing or familiar with that enables this to do so.

 

This is the basic concept.

Screenshot 2025-02-27 at 1.30.49 PM.png 

 

 

 

 

 

 

 

 

 

 

 

My current setup.

Screenshot 2025-02-27 at 1.35.13 PM.png

 

Here is me trying to pull the block to the left with no success. 

Screenshot 2025-02-27 at 1.36.36 PM.png

0 Likes
819 Views
9 Replies
Replies (9)
Message 2 of 10

Libbya
Mentor
Mentor

Here's your file back.  See attached.

 

The main issue with your block is that for Polar Stretch1 you included the linear Stretch parameter in the "rotate only" selection set rather than the "stretch" selection set.  Because of that, when the line was stretched to the base point direction, the linear stretch startpoint was left behind. 

 

I noticed that if the Stretch parameter was stretched to the Polar endpoint (easy to do with osnaps on) then the block failed.  To avoid that happening, I made a 0.1 line segment at that end of the line.  That will always stretch with the end point and allows the snap to not end up on top of the polar grip.

 

I added a minimum distance of 0.1 at the other endpoint.  Probably not necessary, but without it you might end up with issues if Stretch is 0. 

 

I added a chained point/move to the base point location.  That chained point/move is a way to prevent various bugs caused by stretching the base point parameter.  I do not believe that changed anything in your block, but is a good practice whenever adding a base point parameter.

 

Let me know if you have questions.  Hope that helps.

 

 

0 Likes
Message 3 of 10

tim_crouse
Collaborator
Collaborator

Libbya, how are you getting the text to stay aligned to the line?

 

-Tim C.

0 Likes
Message 4 of 10

Libbya
Mentor
Mentor

It is added to the "rotate only" selection set of both of the polar stretch actions.  The Stretch linear parameter is added to the "rotate only" selection set of the Polar Stretch action and is added to the "stretch" selection set of the Polar Stretch1 action.  Because of that, the Stretch linear parameter is always inline with the line and so the text is kept inline when stretched along the line.  

0 Likes
Message 5 of 10

tim_crouse
Collaborator
Collaborator

I think I have an understanding of your technique:

-Place a point move with no grip

-Enable chained on the point move

-Assign a base point to the point move action

-Any movement of the point move reflects onto all the objects including the text

 

Does that sound about right?

 

Reviewing your technique of using the 0.1 line segment to maintain fidelity in the control is nice, is there a benefit of this technique over setting a minimum

length value of the linear stretch?

 

Thank You

-Tim C.

0 Likes
Message 6 of 10

tim_crouse
Collaborator
Collaborator

That what I was thinking at first, but when I click on the action the text does show as highlighted for me.  Regardless I understand now, thank you

0 Likes
Message 7 of 10

Libbya
Mentor
Mentor

@tim_crouse wrote:

I think I have an understanding of your technique:

-Place a point move with no grip

-Enable chained on the point move

-Assign a base point to the point move action

-Any movement of the point move reflects onto all the objects including the text

 

Does that sound about right?

 

Reviewing your technique of using the 0.1 line segment to maintain fidelity in the control is nice, is there a benefit of this technique over setting a minimum

length value of the linear stretch?

 

Thank You

-Tim C.


The point/move may not actually be necessary in this block.  It is a good practice as moving/stretching the base point parameter directly with the parameter grip you are manipulating can cause a couple different bugs.  Insulating the base point parameter from being directly manipulated and instead acting on the chained point/move which in turn moves the base point eliminates the buggy behavior (in most cases).  

 

Regarding the line segment, that segment is on the 'maximum' side of the stretch action which cannot be defined as it would change with the overall length.  I also set a minimum on the other end.  The line segment just gives an easy snap point rather than having the stretch snap on top of the polar parameter grip and causing issues the next time the block is manipulated.  

 

For whatever reason text does not always show highlighted when an action is initially selected.  It will show highlighted when cycling through the 'modify selection set', though.  

0 Likes
Message 8 of 10

tim_crouse
Collaborator
Collaborator

I created a modified version that uses an attribute.   I tried to get the rotation to adjust via the double lookup but have not been successful.

If someone has the time I could use some help finalizing the rotation.

 

Best Regards

-Tim C.

0 Likes
Message 9 of 10

Libbya
Mentor
Mentor

See attached.

Message 10 of 10

tim_crouse
Collaborator
Collaborator

Nice!

0 Likes