Dynamic block with linear stretch & array

Dynamic block with linear stretch & array

CharlesF5B37
Advocate Advocate
6,522 Views
13 Replies
Message 1 of 14

Dynamic block with linear stretch & array

CharlesF5B37
Advocate
Advocate

This is the 1st time trying to use an action on a dynamic block other then visibility. 

For now what I'm hoping to accomplish is to have a single point I can click and drag to stretch the rail, and while putting a footing every 8'.

The way I have it setup now I need to click to stretch the rail, and then click again to stretch the linear array. And the linear array doesnt always put the last foot down properly. I have to extend the linear array point past the end of the rail to get the final footing in.

 

I've attached my block here so you can see whats been done now. 

Any help with this would be much appreciated!

 

0 Likes
Accepted solutions (2)
6,523 Views
13 Replies
Replies (13)
Message 2 of 14

h_s_walker
Mentor
Mentor

Can you save it down to 2016 format so I can have a look

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

0 Likes
Message 3 of 14

j.palmeL29YX
Mentor
Mentor
Accepted solution

In the screencast one way to do it: https://autode.sk/2vI22f5

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

Message 4 of 14

CharlesF5B37
Advocate
Advocate

Thank you! That was super helpful.

Got it to work like intended for now. Only thing I did differently was to keep the post that you deleted. So the gap between the last post and the end of the rail is never more than  40".

 

Do you think there is a way to make it so it will automatically minimize the over hang as I stretch the block? Would still need to always have a post every 8' at least, but would want the over hang to be minimized instead of just having one short gap between the last post and the 2nd to last post. 

0 Likes
Message 5 of 14

j.palmeL29YX
Mentor
Mentor

@CharlesF5B37  schrieb:
... automatically minimize the over hang as I stretch the block? 

In the first posting you wrote "stretch the rail, while putting a footing every 8'."
Also you wish "the gap between the last post and the end of the rail is never more than  40"."
And now you "need to always have a post every 8' at least".

I'm not sure what you ultimately need. Can you show some examples, where the posts should be located, if the length over all (current 14'- 8") changes e.g. to 16', 18', 20', 22'.
I have some ideas, but first we need to clarify the goal.

 

cadder

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

Message 6 of 14

j.palmeL29YX
Mentor
Mentor

Added a solution for one possible interpretation of your requirements.

 

cadder

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

Message 7 of 14

CharlesF5B37
Advocate
Advocate

Thank you Cadder. I was approaching this problem in phases. First phase was to draw accurate number of posts for a given rail length with the rail overhang set at its maximum distance. I thought i'd be able to figure that part out myself, but got stuck.

 

Next phase is going to closer represent what will be installed.  Sorry, for how unclear my last post was. I typed it up too fast. I should've re-read my last post! Let me try to clarify.

-The maximum gap between posts is 8'. 

-The maximum overhang on both ends is 40". Ideally less than that. 

 

Some examples: 16', 18', 20', 22'.

-16' rail will have 3 posts. No overhang. Posts will be at the beginning of the rail, the middle & end. 

-18' rail. 3 posts again. 12" overhang each end. One post @ 1', one post @ 9', & one post @ 17'.

-20' rail. 3 posts. 24" overhang. Posts @ 2', 10' & 18'.

-22' rail. Is a bit tough, it will need 4 posts, but they cant all be 8' apart. I'd do Posts @ 0', 8', 16', & 22'

-24' rail. 4 posts. Posts @ 0', 8', 16', & 24'

 

Thanks for looking into this!

0 Likes
Message 8 of 14

j.palmeL29YX
Mentor
Mentor
Accepted solution

@CharlesF5B37  schrieb:

-The maximum gap between posts is 8'. 

-The maximum overhang on both ends is 40". Ideally less than that. 

 

Some examples:

- ...

-22' rail. Is a bit tough, it will need 4 posts, but they cant all be 8' apart. I'd do Posts @ 0', 8', 16', & 22'


 

Why this? For a 22' rail you can place 3 posts with an overhang 3' (=36") on both sides - this is less than the allowed 40". (In my suggested example the left and the right overhang get always the same value).

Give a try the attached solution ...

 

HTH

cadder

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

Message 9 of 14

CharlesF5B37
Advocate
Advocate

Yes! You are absolutely right. The real problem shows up at 22'8". But yes, your block is great.

 

Thank you!

0 Likes
Message 10 of 14

j.palmeL29YX
Mentor
Mentor

Attached a corrected version of the DynRail. (error fixed).

To avoid confusions with the old block the block definition was renamed to "DynamicRail(2)". 

 

Greetings

cadder

 

 

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 11 of 14

CharlesF5B37
Advocate
Advocate

Thank you, that is very much appreciated. 

0 Likes
Message 12 of 14

rhyeguy
Explorer
Explorer

@j.palmeL29YX wrote:

Attached a corrected version of the DynRail. (error fixed).

To avoid confusions with the old block the block definition was renamed to "DynamicRail(2)". 

 

Greetings

cadder

 

 


This has been a super informative thread showing what I'd like to do with my dynamic block.  I've been looking for an array type function that equally spaces objects as you stretch them and then as a new column after a limit is reached.  However I could really use help understanding two features of this blocks so I can make more in the future:

 

1. I don't see an array function so how are the new posts being added?

2. I'm assuming the "Path" constraint formula has something to do with the equal spacing.  Could you explain the formula?

 

Thanks!

0 Likes
Message 13 of 14

j.palmeL29YX
Mentor
Mentor

@rhyeguy  schrieb:

1. I don't see an array function so how are the new posts being added?

2. I'm assuming the "Path" constraint formula has something to do with the equal spacing.  Could you explain the formula?

 


1.) If you open the blockdefinition in the block editor and pick the left post you will see in the properties window, that this is an item of an array - created with the arraypath command. The path is the construction line at the bottom of the geometrie. The space between items it 96 (8'), the number is "Use full path".
The complete geometrie is full constained using geometric constraints. You can see the constraints if you pick the tab Parametric -> Geometric - Show all. You can analyse it yourselfe.

2.) Some thoughts:
- Length is the "Main Parameter", created using the bcparameter command. Its value can changed with its grip or numeric in the property Window.
- Path is the calculated length of the path where the posts are arrayed.

The given formula is not optimized yet. We can (and should) the formula simplify to:
Path=min(ceil((Length-80)/96)*96;Length),
where
* (Length-80)/96 -> theoretical number of posts (Real number)
* ceil((Length-80)/96) -> rounded up to an Integer number
* ceil((Length-80)/96)*96 -> final needed length of path

Because we rounded up the number of posts it can be, that the final length of path will be larger than Length. This must not be. Therefore we use the minimum value of Length or the calculated length of path.

It's hard to explain with my poor knowledge of the English language. But I hope you can understand what I did.

 

cadder

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 14 of 14

j.palmeL29YX
Mentor
Mentor

FYI  @rhyeguy:

Some days ago I posted a very similar example (https://forums.autodesk.com/t5/dynamic-blocks/array-with-set-start-and-end-points-and-variable-spaci...), how to use the arraypath in a Dynamic block. I hope you can follow my thoughts.

 

Greetings

cadder

 

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