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

Stretch + Array Calculations?

15 REPLIES 15
SOLVED
Reply
Message 1 of 16
Anonymous
2098 Views, 15 Replies

Stretch + Array Calculations?

I have a basic rectangular shape that I need to stretch into various ACM panel sizes.  However I need to have holes drilled into the leg of the panel at specific increments.  I have to have the holes drilled no more the 16" O.C. but I don't want to drill one every 1 inch.  I want to be able to stretch/type in my panel size and have the holes placed automatically.  I know that you can add an array if you are doing increments but what about complex calculations?  For example if center to center of the first and last hole is 109 inches then you would have to calculate the placement of the holes between.  So 109 divided by 16 = 6.8125 so you would need 7 total additional holes.  So 109 divided by 7 would give you holes spaced at 15.5714286 inches.  I know that you have to set your parameters and actions in a certain order but I've never been taught how or the reason for them.  I'd be more than happy to buy a book or whatever to learn this if someone could help point me in a good direction.  I like to figure out these type of problems but this one is a bit beyond my current knowledge.  I have a second panel type that is more complex than this one that I'd like to figure out as well.  

15 REPLIES 15
Message 2 of 16
Anonymous
in reply to: Anonymous

I'm not sure there is a way to do what you're trying to accomplish, at least not with a 'calculation' or formula with a parameter; however, I do think you can get your end result, either within one dynamic block using an XY parameter, or with two blocks...one for the panel and another for the holes. I think the later would be more flexible and easier to set-up. I have had similar situations where I need to place entities/blocks at a specific interval that is based on the dimension of another entity/block...or when attempting to fit a dual array to the size of an object surrounding it.

I've attached two blocks that show this situation that might give you an idea of how to proceed. The "wall shelf" [FAB_WS_P_Δ.dwg] block uses additional MOVE and STRETCH actions added to the length parameter, and then the "distance multiplier" is set to a fraction depending on the placement/order of the entities being moved. The "perforated insert" [FAB_PRT_PerforatedInsert_P_Δ.dwg] block uses an array attached to a floating XY parameter; the array is stretched using the length and width STRETCH actions, but can be re-sized separately to account for odd/fractional sizes that don't quite work on the spacing.

Anyway, as I suggested, I would setup multiple blocks with ARRAYs to get your various hole placement situations figured out first, then maybe use a VISIBILITY parameter to copy them and combine them into a single block. Just an idea.

Message 3 of 16
steven-g
in reply to: Anonymous

You can do it with constraints and the parameters manager, which will let you create formulas and apply those to an array.

Message 4 of 16
kthmarks
in reply to: steven-g

This is exactly what I was looking for but I'm stumped.  I know this is an old thread but if anybody is listening,  What triggers the array to happen when the stretch occurs?  I see no link between the dimensional constraint parameter and the array objects.

Message 5 of 16
j.palmeL29YX
in reply to: kthmarks


@kthmarks wrote:

What triggers the array to happen when the stretch occurs?  I see no link between the dimensional constraint parameter and the array objects.


 

>>Click<<

 

 

 

 

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 16
Anonymous
in reply to: kthmarks

I'm not sure I'm following your question exactly, but maybe this tidbit
will help:

You can attach more than one 'action' to a parameter.

This allows you to have a parameter that stretches an object, also
stretches/moves the mid-point grips you might have, and also array
objects...just start with a parameter and attach the actions you need.

Caveat: this does limit the array to a single direction (the direction the
parameter goes), so two-way (columns *and* rows) array needs its own
four-grip parameter.

I hope this helps. If you're still confused, I can post some example blocks
you can reverse engineer.
Message 7 of 16
kthmarks
in reply to: Anonymous

Thanks for the reply.  It took me awhile but I figured it out!  The Array "between" is based on a calculation derived from Length with min/max values.  Pretty slick.  I was not aware you could do this.  I had to copy/paste from the parameter manager, user parameter, "between" into the array"between" and it linked up.  This is in the cad file "Holes" just above.

 

kthmarks_0-1598730403828.png

 

Message 8 of 16
j.palmeL29YX
in reply to: kthmarks


@kthmarks wrote:

It took me awhile but I figured it out! 

 


 

Didn't you see my video posted above?

 

 

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 16
kthmarks
in reply to: j.palmeL29YX

@j.palmeL29YX  no I'm sorry I didn't.  It would have saved me some brain power.  My dilemma now is that the block I am creating really needs the flexibility of Parameters to move other objects (Text) when the shape is stretched, in both directions.  Also, the array lines are now fix in Height and won't stretch vertical.  The Text also needs the flexibility of letting the user move it as needed.

It would be good if I could figure out how to apply the formula for dividing width and applying it to the array parameter.

 

I added the file I'm working on.  Any help is greatly appreciated.  I'll pay closer attention to responses this time!

 

Thanks!

Message 10 of 16
j.palmeL29YX
in reply to: kthmarks

What exactly do you expect what the block should do? For me it's not understandable what you want to achive.

Please explain detailed:

- what should happen with the vertical lines,

- what should happen with the (upper) horizontal line,

- what should happen with the attributes Text-1, Text-2 and Title?

 

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 11 of 16
kthmarks
in reply to: j.palmeL29YX

@j.palmeL29YX They should all move and stretch in the XY direction the same way a dynamic block would stretch with a linear/stretch parameter.  For the Array, I need the red lines to fill in along Width evenly and also stretch vertical when the block is stretched.  Problem is, with a dynamic array I can't add the formula to take Width (x) and divide it out in even increments can I?  Attached is a file that almost works.  But you can see below that the array doesn't divide out equally. 

I attached a file that almost works for me I just need the array to take Width/equal distances with a min = 4' and Max = 5'.

Thank you for your help.

 

kthmarks_1-1598801291390.png

 

Message 12 of 16
j.palmeL29YX
in reply to: kthmarks

Attached a (dirty tricked) suggestion. Give it a try.

>>click<<

The Height must not be smaller than 16' here. (Of course you can define another value if needed).

 

If you have further questions feel free to ask.

 

 

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

BTW (an additional note): With a width smaller than 20', you cannot safely meet both requirements (array distance min=4' and max=5').

Assuming the Width has a value of 11'. Divided by 2 gives a distance value of 5.5' -> too long. Divided by 3 gives a distance of 3.66 -> too small. You have to rethink your task.

 

 

 

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 14 of 16
kthmarks
in reply to: j.palmeL29YX

Wow!  @j.palmeL29YX Great solution.  Very helpful.  I need to become better at thinking about and working with user parameters.

 

Thank you for taking the time to help me.  I appreciate it.

Message 15 of 16
timY8DZP
in reply to: kthmarks

Can you help me?

I am trying to use your 'Hole.dwg' file and i want to edit it to be hole size 1.5mm radius and 50 from each end then 350 between, then be able to stretch it out indefinitely but be able to reduce it so there is always a minimum of two holes.  This is doing my head in trying to work it out!

If you can help at all it would be greatly appreciated.

 

Cheers

Message 16 of 16
j.palmeL29YX
in reply to: timY8DZP

I'm not sure if I understand you right  ("be able to reduce it so there is always a minimum of two holes" ??) 

 

 

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

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

Post to forums  

Forma Design Contest


AutoCAD Beta