Dynamic block problem: the stretch change the geometry in a stange way

Dynamic block problem: the stretch change the geometry in a stange way

Anonymous
Not applicable
892 Views
6 Replies
Message 1 of 7

Dynamic block problem: the stretch change the geometry in a stange way

Anonymous
Not applicable

Hello everyone!

 

I'm creating a little bit complex Dynamic block.. I've add a simple stretch for a bar and when I use it, it modifies all the geometry of the block.. I've checked and it should stretch only 2 objects.. Can you help me to find the problem, please?

It looks like it MOVES the objects but the action should be a stretch.. Smiley Frustrated
Here is a little gif to show you the problem:

 

 

Thank you very much, Dennis

 

0 Likes
Accepted solutions (1)
893 Views
6 Replies
Replies (6)
Message 2 of 7

Libbya
Mentor
Mentor

Step one for fixing your block would be to delete all of the constraints.  After that, add whatever dynamic parameters and actions are necessary to move/stretch as desired.  Report back with more details on whatever you can't figure out from there.

 

0 Likes
Message 3 of 7

Anonymous
Not applicable

If i delete the costraints the block will become useless.. how could I keep the circles on the line? how could I change all the diameters?

Is it possible using only the actions?

 

Can you give me a more detailed advice please?

Thanks!

 

In the meantime I'll show you that the block works if I change the parameters from the proprieties!

 

Thanks!

0 Likes
Message 4 of 7

Libbya
Mentor
Mentor
Accepted solution

Whenever you add a basepoint parameter, you should add it at 0,0 within block editor and adjust the rest of the block to match that location.  Doing otherwise can cause some weird issues.

 

Yes, you can do it all with dynamic parameters and actions rather than dimensional and parametric constraints.  The block will behave much more consistently, quicker, and use less memory... and your move/stretch actions would work without the mess you are seeing.

 

Your block is quite complicated.  In my opinion it is unfortunate you put so much work into the constraints.  They really should be a last resort and are completely unnecessary in 99% of dynamic blocks.  In any block where constraints are not strictly necessary, they should not be used as they cause more harm than good.  

 

I do not have time to show all of the corrections necessary but here is a screencast that might help get you started.  It shows how to have a single parameter adjust the diameter of all of the necessary objects at once.  Report back with specific issues.

 

 

 

 

Message 5 of 7

Anonymous
Not applicable

Thank you Libbya!

I'll rewrite the block using only actions then as you showed in the video.. Unfortunately I've wasted 2 days of works 😞

 

Anyway thanks for this advice, I'll start right now to convert it!

 

Thanks!

 

 

 

0 Likes
Message 6 of 7

Anonymous
Not applicable

Hello Libbya, was a little busy in these days.. Anyway I did the block! yay! 😄

 

Just a little question: In your video you can set as indipendent the scale and specific the base point when you define the scale action.. How you do that? I have to go in proprieties, set it as indipendent and move the basepoint as in this video:

 

Thank you very much 🙂

0 Likes
Message 7 of 7

Libbya
Mentor
Mentor

Set the system variable BACTIONBARMODE=0 and it will give the base type option when inserting scale or rotate actions.  It also allows you to see both tables associated with a double lookup and add actions to the selection set of other actions.  You need to take care with that though, as undesired behavior can occur sometimes if you add the wrong action to the selection set of another action.