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

Array problem

7 REPLIES 7
SOLVED
Reply
Message 1 of 8
Simon_Mathews
231 Views, 7 Replies

Array problem

ive got a block with two different size unistruts on it , now for some reason i can't get my first array to work on both visability states . im pretty sure im doing it how i did before when it worked but it wont do it now , am i missing something ?

basically each unistrut has the ability to stretch and rotate , the 2nd array (small ovals) attached to the stretch works but the 1st array which i want to array the first line every 3000mm doesnt. when it works it shows how many 3m lengths of unistrut you have if you count them. can someone help me and tell me where ive gone wrong please , ive spent far to long trying to get this to work .

7 REPLIES 7
Message 2 of 8
Brock_Olly
in reply to: Simon_Mathews

Here's an updated version, I started from scratch, sometimes it's best to start over again when struggling with dynamic blocks.
I hope I understood your request well enough?

Message 3 of 8
Brock_Olly
in reply to: Simon_Mathews

Seems like I misunderstood your request, I edited it, now it should be how you wanted it?
I had to create a second dimension for the 3000 and move it back so that it starts from the first line.

Not sure if this is the cleanest solution, but it works.

Message 4 of 8

thanks for having a go but not quite what im looking for .. what i need is the first line (revcloud) to array every 3000mm if i stretch it past 3000mm ..see example . so if i stretch it too lets say 6200mm you would see 2x 3m lengths and a little extra on the end. 

 

Simon_Mathews_0-1734625493061.png

 

Message 5 of 8
Simon_Mathews
in reply to: Brock_Olly

yea thats it Brock but now if i try rotate it the circles unfortunately separate from the item . the rotate parameter needs to be the last thing done

Simon_Mathews_0-1734626177470.png

 

Message 6 of 8
Libbya
in reply to: Simon_Mathews


@Simon_Mathews wrote:

ive got a block with two different size unistruts on it , now for some reason i can't get my first array to work on both visability states . im pretty sure im doing it how i did before when it worked but it wont do it now , am i missing something ?

basically each unistrut has the ability to stretch and rotate , the 2nd array (small ovals) attached to the stretch works but the 1st array which i want to array the first line every 3000mm doesnt. when it works it shows how many 3m lengths of unistrut you have if you count them. can someone help me and tell me where ive gone wrong please , ive spent far to long trying to get this to work .


With arrays, the first arrayed object does not appear until the associated parameter is 2X the column offset of the array.  I think of it this way, the first object exists when the associated parameter is the length of the column offset, the second appears at 2X, the 3rd appears at 3X, etc...  The way you have it set up, the first new line will not appear until the linear parameter is 6000mm.

 

The solution is to add a second linear parameter, set its initial length to 3050, set its chained property to yes, set its grips to 0, and stretch it with the Stretch action.  Associate the array of the line with that new chained linear parameter.

 

Attached is a new version of your block.  I cleaned it up.  There is no reason to double all of the parameters, actions, and linework for the second visibility state.  You can use parameters and actions in multiple states.  This is convenient both because it reduces the complexity of the block but also because it allows you to switch the visibility state of the hole size without the stretched length changing.  I also resized the rotate parameter and added a scale for it so the grip is always at the end of the block.  I also placed the visibility parameter at that end so that the result is that all the grips are always readily accessible without needing to zoom/pan back to the origin of the block.  You might also consider using a polar parameter instead of the linear and rotate parameters for a combined stretch/rotate of the block using a single grip, but I did not do that as it may be desirable to keep them separate.

 

See attached.  Hope that helps.

Message 7 of 8
Simon_Mathews
in reply to: Libbya

That's exactly what i was looking for thank you Libbya . i'll try to follow that explanation and see if i can replicate it again. 

Message 8 of 8
MMcCall402
in reply to: Simon_Mathews

This is my stab at it.  I went simple.  I removed duplicate linework, parameters and actions. Edited the visibility states to show the straight lines in all states but each of the holes only in one. I went with a Polar Parameter with a Polar Stretch action for handling the straight linework. This action also handles the rotation of the starting vertical line and the holes. I then added an array action to array the holes.  For arraying the beginning vertical line I went with an ARRAYPATH, selected the vertical line as the object and the bottom line as the path.

 

MMcCall402_0-1734628750660.png

 

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  

AutoCAD Inside the Factory


Autodesk Design & Make Report