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.
Solved! Go to Solution.
Solved by j.palmeL29YX. Go to Solution.
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.
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.
@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.
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.
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.
@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!
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.
@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.
Attached a (dirty tricked) suggestion. Give it a try.
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.
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.
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.
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
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.
Can't find what you're looking for? Ask the community or share your knowledge.