Object in Dynamic Block should be stretch equally but on 400 or less

Object in Dynamic Block should be stretch equally but on 400 or less

Anonymous
Not applicable
4,840 Views
61 Replies
Message 1 of 62

Object in Dynamic Block should be stretch equally but on 400 or less

Anonymous
Not applicable

I am learning dynamic block & i have attached here one dynamic block & mentioned in that what kind of action, constraint  i need in that block. please guide me.

When i stretch this block, i want to all holes between first hole and last hole are in equally divide but distance between two holes should be 400 or less than 400.

Please see uploaded cad file for details.

Please help me out from this.

0 Likes
4,841 Views
61 Replies
Replies (61)
Message 41 of 62

j.palmeL29YX
Mentor
Mentor

@j.palmeL29YX wrote:

 

I will post you a solution in the late afternoon.


Hi,

In the above (Post No. 31) posted file "_A CARD (1)-pa2a (v1).dwg" mark the inserted Test-pa block. Now in the properties window set the value for D_emin to 200 and then set the width of one of the three segments (D_hl or D_hm or D_hr) to the value 2770, you will see that the end holes exactly match the 385 apart. So we are on the right track. I have it here only incorrectly on the rivet holes (instead of the weep holes). But this does not change the solution principle.

 

In the first video I show how to get a geometrically stable model.
Based on your file "Drafting Flow.dwg" (Post No. 32) do this:

 

- The steps 1 - 6 are ok (even if I don't know why the white lines are extended. But that's no matter for me).

- Create a block definition "test_holes" (or which name you want). (do not include the

circles)
- activate all Constraint Types for AutoConstrain
- command AutoConstrain
- Add a Rotated Dimension (dclinear) 25
- Add the Constraint Parameters (bcparameter) for the horizontal and the vertical dimensions

(D_hor and D_vert)
- Saveas the drawing as "Holes.dwg".


The next video  shows how to add the Weep holes.
- Start with "Holes .dwg". (continue from above or open "holes.dwg")
- Add a FIX constraint at the upper left edge (I forgot in the previous video)
- Draw a circle on the weeps layer, diameter 7.5 near the lower left corner.
- in the Parameter Manager add three new parameters:
D_min = 200
n_w=trunc((D_hor-2*D_min)/400)
D_ew=(D_hor-n_w*400)/2
- Array the circle, for number of columns use n_w+1
- Delete the source circle (or set Delobj to a value /= 0 before the array command)
- add two rotated dimensions to get the correct position of the array.

-> Ready

 

How to draw the Rivet holes is shown above (it is one of several possibilites) . If you
have further questions ask again.

 

HTH

 

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 42 of 62

j.palmeL29YX
Mentor
Mentor

Is this what you need? (see Attachment, created with Acad 2020).

 

 

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 43 of 62

j.palmeL29YX
Mentor
Mentor

And here (attached "Holes (rev 1).dwg") a small addition, how I would solve the problem with the marked dimensioning.

>>Example video<< 

 

 

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 44 of 62

Cladboy
Participant
Participant

Hi @j.palmeL29YX,

 

Thanks for the really useful screencast, it was much appreciated.

I'm trying to create a similar block, but, want to adapt the expression to affect the spacing of the array in both directions (so, if we stretch to the right we increase the number of items horizontally, but the same number of (horizontal) items are mantained when we also strech and increase the vertical axis (or vice versa). In effect we end up with a mesh effect of the objects inside a rectangular block.

Attached is the principle of whats to be achieved which i'm presuming could be achieved simply with a visibility parameter?

Thanks in advance.

0 Likes
Message 45 of 62

h_s_walker
Mentor
Mentor

@Cladboy have a look at the attached block. The xyparameter is the array for the circle and is chained to the linearx and lineary parameters

 

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 46 of 62

Cladboy
Participant
Participant

Hi @h_s_walker,

 

Was the correct drawing file attached? The attached is whats been received.

 

Thanks

0 Likes
Message 47 of 62

h_s_walker
Mentor
Mentor

@Cladboy No that's not it, you downloaded before I realised my mistake. Look at my post again you will see a new attachment there.

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 48 of 62

Cladboy
Participant
Participant

@h_s_walker, thanks for that, I've clearly got nothing to do! 😂

What i need to do, similar to the parametric option@j.palmeL29YX provided was have the objects that form the array to infill at maximum centres of say 600mm but be equidistant between the start and end points which are set at 100mm from the edges of the rectangle in both directions - not uniform.

Say the rectangle was 1200 wide x 1800 high and the first and last objects inset at both ends by 100mm from the corner; the array objects would be spaced at 500mm horizontally and 533.33mm vertically (taking account of the 100mm at the beginning and end) showing a 3 objects by 4 objects pattern.

The rectangles that i'm creating aren't a uniform size, and could be 1160 wide x 1745 high (for instance) leaving the array objects at 480 centres horizontally x 515 centres vertically, the same number of objects but at differing centres.

Please see below.

Board Options.JPG

ached.

0 Likes
Message 49 of 62

h_s_walker
Mentor
Mentor

A 3x4 array is easy. See the attached drawing. It may look like there is only one circle, but there are 12 circles attached to the move parameters

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 50 of 62

Cladboy
Participant
Participant

Thanks @h_s_walker,

But what i want the block to do is automatically update from a 3x4 grid to say a 2x4 or a 4x3 grid dependent on the panel size, orientation of the rectangle and the parameter of 600mm max centres.

0 Likes
Message 51 of 62

h_s_walker
Mentor
Mentor

You would probably need constraints for that. I only have LT here so cannot help with that

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 52 of 62

Cladboy
Participant
Participant

Thansk for that @h_s_walker, I've tried applying the constraints described within @j.palmeL29YX screencast, but its the application of an array in two directions that i cant seem to get a grip of (pardon the pun).

Thanks for your efforts though 👍

 

0 Likes
Message 53 of 62

j.palmeL29YX
Mentor
Mentor
Accepted solution

Attached my suggestion. Width and Height (drag the appropriate grips or set their value in the properties window) change the dimension of the rectangle. See what happens.

Additional (if you wish) you can change the value "Corner" (the distance of the first and last "object" to the border) and also the value of MaxDist (the max. distance between the objects). Of course you can disable their visibility in the properties window. (All this can be done  in the Parameter Manager inside of the block editor). 

 

[EDIT]: Small bug fixed

 

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 54 of 62

Cladboy
Participant
Participant
Accepted solution

Hi @j.palmeL29YX ,

 

Thats exactly what i was trying to achieve (without any success!), thank you.

 

Referring back to the previous version you created for @ojuris , did you use a different expression to enable the array to be stretched in both directions?

 

Thanks again, that was perfect 🙌

 

CB

0 Likes
Message 55 of 62

j.palmeL29YX
Mentor
Mentor

@Cladboy wrote:

 

... did you use a different expression to enable the array to be stretched in both directions?

 


The array is not an Array Action, but it was created with the standard array command (inside the block editor). 

The source object (in this example a circle) was deleted (after creating the array). The distance of the lower left instance of the array to the lower left edge of the rectcangle is driven by the parameter "Corner". The formulas for NC (Number of Columns), DC (Distance between Columns), NR (Number of Rows) and DR (Distance between Rows) you can find in Parameter Manager. And yes, this are other formulas than in the previous version. 

 

 

 


BTW: The both construction lines can be deleted, they don't have any function. I hoped they can help to understand the formulas ( 😉 ).  And also the parameter "diameter" can be deleted, it was for dimensioning the example circle, which was deleted after creating the array.

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 56 of 62

17ngo01ni84
Contributor
Contributor

Please may i use your drawing for personal use

0 Likes
Message 57 of 62

j.palmeL29YX
Mentor
Mentor

Yes, of course. As far as I know, all attachments in this forum are free to use (unless the author explicitly prohibits it).

 

 

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 58 of 62

17ngo01ni84
Contributor
Contributor

Many thanks!! Apparently I am using AutoCAD LT and cant do much in terms of constraints. However, is there a way to have the corner parameter to have two different constraints. Reason being, my vertical edge distances are different. I can have 100mm from the horizontal edge and then 50mm from the vertical edge so i need to change these separately as they are not uniform   see below

 

17ngo01ni84_0-1751974274195.png

 

0 Likes
Message 59 of 62

j.palmeL29YX
Mentor
Mentor
Accepted solution

The block can easily be modified - if you had the "full" AutoCAD. 

Because you obviously don't have access I attach a file with the modified block. But I'm not sure about the whished horizontal distance. In the text you write 50, in the image I see 30. So I created two different versions.


BTW: In the attached Dyn-Array (v2).dwg you may modify the values d1 and d2 yourselfe in the block editor. 

DynArray.png

 

 

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 60 of 62

17ngo01ni84
Contributor
Contributor

bRILIIANT bRILIIANT IS ALL I CAN SAY

0 Likes