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

Variable Array of a Dynamic Block

55 REPLIES 55
SOLVED
Reply
Message 1 of 56
pascal_khattar
24590 Views, 55 Replies

Variable Array of a Dynamic Block

Dear all.
i hope to get some explanation not just the solution if someone was able to solve it.

the target is to be able to use the dynamic block (which is a mechanical support in my case) to be stretchable along the pipes (color red) with minimum value of 1000mm between the 2 supports, the problem i'm facing is that if i have a pipe with i.e. 2800mm length the third support will extend to outside of the pipes (multiple of 1000mm). i want to develop a block that puts two supports on each end and to divide (equidistantly) the remaining distance between those supports, 

please see attached file for the example.

thanks a lot
Tags (3)
55 REPLIES 55
Message 41 of 56
j.palmeL29YX
in reply to: alxptcsrl


@alxptcsrl wrote:

 

it is very difficult to handle

 


Very difficult? 

 

 

Ok, after changing the width (d1) sometimes you have to wait a moment until the geometry reacts. But the duration of this delay depends on the maximum of panels you need. Therefore I asked how much panels you expect to need. The less the "smoother" the block will work. Unfortunately you did not yet answer this my question. 

I could imagine another solution (not yet tested) if you don't need to choose different height (d4). But I'm afraid then the block will be useless for you. 

 

 

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 42 of 56
alxptcsrl
in reply to: j.palmeL29YX

Hello

Thank you for the video it is very clear

Regarding your question, 10 panels are enough unfortunately (d4) I have to be able to modify it

Can you help me with some improvements for this block? this block also includes a door and sometimes a technical module, probably starting from this block I still need some variates or more blocks.

Thank

Message 43 of 56
j.palmeL29YX
in reply to: alxptcsrl

Do you really need to put all the shown variants (and perhaps more?) in one block definiton?

It is already hard enough for the computer to manage this block with its currently 10 VisStates and about 430 constraints. Wouldn't it be better (or at least aceptable) to build separate blocks and then place theses side by side? I don't know a better suggestion.

 

 

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 44 of 56
alxptcsrl
in reply to: j.palmeL29YX

Hello, I don't want to put all the variants in one block. Help me make 4 blocks according to the drawing. What do you think? Does it work or is it too complex? Thank you.
 
 
 
Message 45 of 56
j.palmeL29YX
in reply to: alxptcsrl

I'm afraid this will bee too complex. 

I'd suggest to create some different blocks and place they side by side. 

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 46 of 56
alxptcsrl
in reply to: j.palmeL29YX

Hello

I came back with better optimization represented in the drawing, the block can have 6 panels instead of 10

Please give me good news that it can be done.

Thanks

Message 47 of 56
j.palmeL29YX
in reply to: alxptcsrl


@alxptcsrl wrote:

 

... better optimization represented in the drawing,


 

A first question: 

What shall happen with the dimensions "?" in the following image if you change d6 (30/35)? Are they constant?

 

Window_question.png

 

 

Second: Your examples are over dimensioned. E.g. the second - If the user chooses a value for d1.1, d1.2 and D7 then d1 will be sum the of these. Or the user must choose a value for d1 - which of the first three dimensions shall be the result of d1 minus two of the others? (The same question for the other examples).

 

Next: Have you tried it yourself? Did you understand how my first suggestion above works? At what point do you have problems/questions?

I'm not yet sure if it will be solvable at all, even I think/hope it can be possible. But I am afraid that this project is too complex for a comprehensive free help - I will give my best.  

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 48 of 56
alxptcsrl
in reply to: j.palmeL29YX

Hello Palmel

Thank you for the effort made, this community is very involved,

Keep it up!

I try to reduce as many variables as possible 🙂

d6 size can be constant 35 mm

size "?" is 50 constant

the user must choose a value for d1 - which of the first three dimensions shall be the result of d1 minus two of the others - Yes!

I haven't worked with constraints, I can't handle them, I've done some dynamic blocks with parameters.

Thanks

Message 49 of 56
j.palmeL29YX
in reply to: alxptcsrl

I would recommend and suggest putting the final project (a glass wall?) together from individual modules. 
In the attached file you find 5 different blocks, which you can assemble as you need. The glass_left and glass_right are similar to our first block above. Only the right and the left end is modified a little.
The glass_door and glass_tech you can drag to both sides to modify their width (and of course the height too).
The video shows how I would use these blocks:
Assuming you have a given width overall (here represented by a line). Place the glass_left and glass_right at the endpoints. Further you can place the door and/or the tech. module whereever you need and choose the needed width (drag or properties window). Next drag the outer blocks to fullfill the gaps between the modules. At last adjust the number of panels to get their width between 500 and 1000.
The advantage of this strategy is a maximum of flexibility. You can place each modul where you need, you can set each of the width to a given (needed) value or drag the width of each module to get it connected to its neightbor.
In the video I forgot to show how to change the height. Each of the modules has an appropriate grip. Even if you have to change the height for each module separate, that should be done in a handfull of seconds.

 

 

 

 

You should be able to refine the block as your need, e.g. restrict the width of the door and the tech. module to given values (add a list), or suppress the visibility of the reference dimensions (to control the with of the panels) or ... what you need.

And, it will be easy in the future to add additional modules (besides the current door and tech. modul).

 

 

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 50 of 56
alxptcsrl
in reply to: j.palmeL29YX

Hello,
Your recommendation is good, it works well
I appreciate your involvement and all the advice
Thank you for your help, if I have any more "impossible missions", I know where to turn
Keep it like this !
Message 51 of 56
alxptcsrl
in reply to: alxptcsrl

Hello

Can you help me with a small change, I marked it in red on the drawing

Thank you

Message 52 of 56
j.palmeL29YX
in reply to: alxptcsrl

The "small change" (13 -> 10 for glass_left anf glass_right) is done in the attached dwg (I hope it works as you expect). 

 

Additional I did some more small modifications (in hope to increase the performance a little): In each of the visibility states you added a horizontal and a vertical dimension for the width and the height over all. I deleted these dimensions and replaced by only one vertical and one horizontal dimension, which are visible in all visibility states.

I hope this solution is acceptable for you.

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 53 of 56
alxptcsrl
in reply to: j.palmeL29YX

Hello

It works perfectly and is what I wanted

I'm impressed how you know autocad, especially with the constraint function.

Thank you!

Message 54 of 56

Hi, I cant figure it out how you make the polyline invisible (the path for the array), and i dont understand why its an Equal constrain, can you explain?

 

thanks!

Message 55 of 56

 how you make the polyline invisible 

 

The both lines were converted into Construction Lines (using the BCONSTRUCTION command). Such construction lines always are invisible in block references. 

 

ConstructionsLine.png

 

 


why its an Equal constrain,

 

Mark decided (I don't know why) to use two different lines to solve the problem: A lower line to have an object for the Horizontal Constraint Parameter  and an upper line as path for the array. The equal constraint ensures that the path always has the same length as the parameter. 

IMHO you don't need two lines. You need only one line, whose length is driven by the Horizontal Parameter and the same line can be used as path for the array. Perhaps @MMcCall402 can tell us why he used two different lines. 

 

 

 

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 56 of 56
MMcCall402
in reply to: j.palmeL29YX

Hmmm,  I'm not sure why either.    I might have started something where I was going to array the top and bottom parts as two separate arrays and then use another constraint to control how far apart those two lines were and appear like it was stretching the object vertically.   I should have cleaned it up before posting.

Mark Mccall 
CAD Mangler



Hammer Land Engineering


Linkedin

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

Post to forums  

Forma Design Contest


AutoCAD Beta