Community
Dynamic Blocks Forum
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Move objects in block with fix constraints

12 REPLIES 12
SOLVED
Reply
Message 1 of 13
Amy.taylor
4161 Views, 12 Replies

Move objects in block with fix constraints

Next problem is a polar move issue.
I would like to insert the block at the "crosshairs" point, and then be able to move the "info box" to a desired position.
When I try to implement this it seems to conflict with "fix constraints" that I've used to stabilise my geometry.
If I take the "fix constraints" out then the geometry stretches in the wrong direction.
For now I have inverted the move but it's not ideal for practical use. 

Any suggestions on how to achieve this would be appreciated.


12 REPLIES 12
Message 2 of 13
Libbya
in reply to: Amy.taylor

Generally speaking constrains are more problematic than dynamic parameters/actions.  Your block looks like it could be more easily made without any constraints, would be much, much simpler, and would behave properly when stretched.  If there is not some significant reason for using the constraints, then you shouldn't.  There is no need to 'stabilize the geometry' within the block.  It won't warp all on its own.  You should not put the base point parameter anywhere other than the 0,0 point within block editor and then adjust the block accordingly.  The following screencast shows how to have the block work without any constraints.  As you can see it is far simpler to construct.  The stretch action also works without issue.  See screencast.

 

 

Message 3 of 13
Amy.taylor
in reply to: Libbya

Hi Libbya,

Thanks so much for the solution, I've watched it through a couple of times but I still can't figure out how you placed the linear parameters away from the base point and still get them to work correctly (I have only ever used them at the start and finish of associated geometry). I'll have a go at replicating this when I get home tonight.

 


@Libbya wrote:

If there is not some significant reason for using the constraints, then you shouldn't. 

This was the result of trying to dig myself out of a hole. I couldn't get the dynamic stretches and attributes to interact so that entering a value of 0.6 resulted in a stretch of 60, and I could still extract/update the values with data extraction. When I entered a value lower than ones being used to draw the geometry with it behaved very strangely. Eventually I just tied myself in knots until I opted to try a new tactic with constraints, regretfully. (Should have posted here first).

There is no need to 'stabilize the geometry' within the block.  It won't warp all on its own.  

This was only related to the constraint behaviours. When I removed the fixed constraints the dimensional parameters adjusted at the wrong end as they didn't appear to have a basepoint in the same way that linear parameters do. 

 

As expected the client has now asked for an extra change with the addition of a text note to be added half way down the associated "layer". I was thinking this could be done with a dynamic stretch and a 0.5 multiplier, but it would need to centralise vertically between the "layers" rather than from the base point to the depth value. Again, I'll have a play with this tonight.

 

Very grateful for your direction on this. 
Regards, Amy

Message 4 of 13
Libbya
in reply to: Amy.taylor

The linear parameters do not have any grips showing so it does not matter where they are placed within the block as long as they are pointing the correct direction and are the correct length.  Unlike constraints, dynamic parameters are not specifically associated with the linework (aside from how their associated actions affect the linework).  When grips are showing or there are other actions affecting the parameters it usually makes sense to place them where they visually relate to the linework, but that isn't the case here.  In this case, the parameters are 1/100 the size of the related linework so placing them to the side seemed less confusing.  

 

Post back if you need assistance with the additional text note.  

 

 

Message 5 of 13
Amy.taylor
in reply to: Libbya

OK, I've been at this for a while now but I'm not sure how to intergrate the new "Text" stretches with the existing "Depth" stretches.
The text should be centralised between the layers as opposed to from ground to depth.
I have tried to include the parameters for the "Text" stretch in the frame for the "Depth" stretch but it is not interacting as I had hoped.
If you wouldn't mind taking a look I would be interested how you tackled this.
In terms of the project I'm working on, the block in it's current form is sufficiently functional for me to proceed by exploding the block and placing the text manually. For that reason I'm in no hurry to resolve this now.

Kind Regards
Amy

Message 6 of 13
hwalker
in reply to: Amy.taylor

Add a move action to the stretch parameter. Add the text to the move action. Change the distance multiplier of the move parameter to 0.5

Howard Walker
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


Left Handed and Proud

Message 7 of 13
Amy.taylor
in reply to: hwalker

Hi, thanks for your reply. 
It sounded so easy but I cannot get this to work. 
As you specified a x0.5 multiplier I assumed the move action would apply to the "Text" parameter, but I still cannot get it to work as that parameter doesn't appear to adjust inline with the "Bar" parameters.

Please could you be more specific, or preferably amend one example in my block so I can see how it should work?
Kind regards
Amy

Message 8 of 13
hwalker
in reply to: Amy.taylor

I've updated my block. The move action needs to be attached to the Layer...Depth parameter and needs a move multiplier of 50. See the (new) attached drawing hopefully.

 

Also you need to add the lower Layer Depth... parameters to the ones above it so that the strata move up/down when the ones above it grow/shrink.

 

eg

Layer 5 Depth needs to be added to Layer 1 Depth to Layer 4 Depth

Layer 4 Depth needs to be added to Layer 1 Depth to Layer 3 Depth

Layer 3 Depth needs to be added to Layer 1 Depth to Layer 2 Depth

Layer 2 Depth needs to be added to Layer 1 Depth

 

Howard Walker
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


Left Handed and Proud

Message 9 of 13
Libbya
in reply to: Amy.taylor

It seems that the forum layout has changed and the ability to embed a screencast is no longer functional.  😞  

 

Instead, here's a link to a step-by-step screencast that shows how to keep the text objects centered on their layers:  https://knowledge.autodesk.com/community/screencast/99130060-63ba-4271-afaf-bbb7d966a45b

 

Let me know if you get stuck or have questions about how or why I did anything in the screencast.

Message 10 of 13
Libbya
in reply to: Libbya

Ok... now the embedded screencast field has reappeared.  Weird.

Message 11 of 13
Amy.taylor
in reply to: hwalker

Thank you for your assistance with this, I failed to interpret your explanation but I'm sure that's on me. I do really appreciate your efforts and for posting the updated blocks. 
Kind regards, Amy.

Message 12 of 13
Amy.taylor
in reply to: Libbya

Thanks again for your help, the screencast was really valuable in displaying how to fix the issues step by step, such as seeing how the move action worked correctly to centre the text with grips, before proceeding to chain the actions.

One thing I didn't really understand was why the overall "Box movement" action affected the text with an exaggerated movement.  I'm guessing it works something like the move action affects the Text parameters, which in turn affect the Text, but I need to study it a little further.

I have replaced the text with some attributes and now I need to figure out how to substitute each of the block insertions in the drawing for the new updated blocks, preferably retaining all the values I've entered in the meanwhile.

Getting this block to work as desired has exceeded all my expectations and abilities, and it feels like xmas has come early.
Many thanks
Amy

Message 13 of 13
Libbya
in reply to: Amy.taylor

You are correct about why the 'box movement' moved the text in an undesired way.  Exactly how that works is a little hard to explain.  The chained linear parameters have a move/stretch associated with each of their endpoints and those actions each move the text object between them with a 0.5 distance modifier.  When the linear parameters are moved, their endpoints are moved and because they are chained, those actions are activated.  Those actions combine (0.5 + 0.5) in order to move the text 1 unit for each unit the parameter is moved.  Because of that I removed all of the text objects from the BoxPlacement stretch action.  The top Layer1Text parameter only had a single action with 0.5 distance modifier associated with it and so that caused the Coated MacAdam text object to only move 0.5 units for each unit the  parameter was moved.  Because of that I added the extra move action to move the CoatedMacAdam text with a distance modifier of 0.5 so they combine to be a typical 1 unit.  Hope that makes sense. 

 

If you update the block definition within a file that already has insertions that have been modified, the modifications should be retained as long as you haven't changed the names of existing parameters/attributes.  You will need to run the ATTSYNC command for updates to the attribute definitions to show for existing insertions.  Always wise to back up the file before making those changes so you can roll them back if necessary to avoid lost work.  

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Forma Design Contest


Autodesk Design & Make Report