Hi,
Array command usually creates objects by fix and specified distances NOT as you asked,and as i know by autocad there is no way to do that.
Imad Habash
im not aware of a way to do this out of the box. You might be able to get it done with a lisp but i don't think it will be an array once you are finished. i have seen a block do something like this though im not exactly sure if it was not just triggering visibility states.
If the array isn't that long i might just array at 1.03 then explode and then start deleting the items on the intervals you don't need.
CADnoob
Hi @Anonymous,
At present, this is not a capability in the Array Command.
As @TheCADnoob suggested, If I were going to do this I would simply do an array at the regular interval and then erase the entities that I did not want. I am sorry there isn't anything more elegant as a solution. Perhaps if you check the LISP forum you might find something there.
Please hit the Accept as Solution button if my post fully solves your issue or answers your question.
@TheCADnoob wrote:im not aware of a way to do this out of the box. You might be able to get it done with a lisp but i don't think it will be an array once you are finished. i have seen a block do something like this though im not exactly sure if it was not just triggering visibility states.
If the array isn't that long i might just array at 1.03 then explode and then start deleting the items on the intervals you don't need.
You can use formulas in the distance fields on the ribbon when setting distances Between, etc. What would the formula look like for this application? (my brain is too tired for math right now).
Hi @Anonymous, I took a look at this and I think you would need to have an increment loop (such as one you could create in LISP). I am not sure how you could do this differently.
(Distance * x) where x increments by a value of 1 for y number of times.
@john.vellek wrote:Hi @Anonymous, I took a look at this and I think you would need to have an increment loop (such as one you could create in LISP). I am not sure how you could do this differently.
(Distance * x) where x increments by a value of 1 for y number of times.
That is indeed the consensus around the office too! I was hoping that it could be done simply.
EDIT: ack... if i would have read a little further i could have saved my self a post hehe sorry
That forumla (as i gather) is executed once to obtain a value and not per unit placemnt
CADnoob
Hello @Anonymous,
- Select an item in the array.
- Click Items panel > Item Spacing on the contextual ribbon tab.
- Enter a distance.
@Anonymous wrote:Hello @Anonymous,
- Select an item in the array.
- Click Items panel > Item Spacing on the contextual ribbon tab.
- Enter a distance.
How will this accomplish what the OP needs?
Thanks for the replies. Unfortunate that there is no easy way to do this.
I should get to work. I've got a few hundred blocks to space out. Ha.
Hi @Anonymous,
- As said before, there is no simple way of doing this in AutoCAD..
- 3Ds max can do this with ease in rectangular arrays, not on a path though..
All I can offer you is a couple of work arrounds that can ease your suffering a bit 🙂 - provided that:
1- The path is streight,
2- Assuming the distances are A,B,C,D ... And A/B/C/D is a constants - but A,B,C,D... are not nessesarely equal)..
3- A/B/C/D.... is a constant that you use frequently..
Here is what you can do, Method 1:
1- You can create a custom MLine, where the distances between lines are A,B,C,D... (you can scale it as you like afterwards as you like.. The distances A,B,C,D will cahnge but A/B/C/D... will remain constant).. in your case, offsets from 0 will be: 1; (1+1.03^1=2.03); (2.03+1.03^2=3.0909....)
2- You can draw the MLine perpendecular to the path to define the insertion points, Set the scale to Distance A, and the justification to bottom (to start with the first distance)..
3- Then using the copy command you can place our blocks..
Obviously tis too much work to be used once, but if that factor (1.03) is used frequently, this will actually save you a lot of time and calculations..
----------------
A similar approach, woul be
1- To create a block "B" contaning smaller blocks "A" with the offsets between them set as mentioned (1, 2.03...) ,
2- When ever you need edit the block "B" and replace the block "A" inside with the distributed block - or redefine "A" to contain it,
3- Insert and scale "B" with factor of actual distance A,
4- Explode "B" , then rescale the distributed blocks from the properties palette.. (If you redefined block "A" instead of replacing it, a second explode is requred to not have it changed when repeating the steps with another block)
Finally, good luck my friend -- (You most certainly need it !! 🙂 )
Thanks elshawadfy.
Unfortunatley the path is curved.
I've questioned how precise the measurements have to be. ie. along the arc or a straight line. Might be able to simplify the task.
Still going to be tedious.
If it's an arc of a circle, you can still use the ML method, you will just need some adjustments:
1- New distance (offset from 0 in ML) Dn = R* sin [ ( Do/R ) in radians], where Do is the Old Dist (from the distances we calculated previously); R is the radius of the arc..
2- Draw the ML from the Arc Center to the first pont of insertion on the arc..
------- .But sadly that would mean you need a specific ML for each radius 😞 ..
Its a polyline with lots of segments. The curves vary amongst all the paths. Think I'm out of luck. Its nearly the weekend!!
The only remaning solution now would be programming.. If a moderator moved the toppic to a programming & customization section in the forum, you may find a solution there..
This drawing contains a dynamic block, with 2 custom properties: Initial Distance & Multiplier.. you can change any of them, and the distribution lines will change accordingly (This also works for straight lines only)
-------------
(The file also contains a ML as described before)..
Hi SLE33,
I am checking back to see if my post or others helped you with your problem. Please add a post with your results so other Forum users can benefit.
Please hit the Accept as Solution button if a post or posts fully solved your issue or answered your question.
If you like I can move this to the customization forum too.
Can't find what you're looking for? Ask the community or share your knowledge.