spaced copy

Next
 From:  Ditto
6105.1 
Howdy,

I am looking for a trick: I want to create copies of an object which are evenly spaced between two points or across a surface.

As silly examples: I have a house front, and want to create 5 equidistant windows holes. Or a tube where I want 3 holes to make a sprinkler.

It's a bit like the directional array or the array along a curve, but with built-in symmetry.

Possible ? Thanks !
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  coi (MARCO)
6105.2 In reply to 6105.1 
Hi Ditto

You could use the directional array to create copies of evenly spaced objects between two points. Just use the "Extend, Count" option in the commands dialog...

quote:
With "Mode: Extent, Count", you also give an item count and 2 points, but the distance between the points is taken as the full extent, with the offset distance between copies being calculated as a distribution to fit inside of that.



  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Ditto
6105.3 In reply to 6105.2 
Thanks, Marco!

That's an "almost" solution. If you draw a square around the circles, you will see that the start and ending distances with the side borders are the complicating parts. This is why I chose the house front as an example.

Like here: If I wanted to have 5 circles evenly spaced out between the horizontal border lines, but with the same distance left and right. Not sure which point to grab as base-point for directional array.




But all in all, this case is rather simple to solve using ordinary mirror and divide operations. I was just wondering if there is a speedier way ...

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  coi (MARCO)
6105.4 In reply to 6105.3 
Ah, i see you point. Could be a useful extension to the Array arsenal. I think, Michael could cover this one.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Samuel Zeller
6105.5 In reply to 6105.3 
Usually I draw a little line that I drag on the other side to use as a guide for the array

Also there's the boundingbox command that draw a bounding box between elements that's quite useful sometimes :)

But it would be cool to specify a first point, then an ending point then have options to adjust the array (like offseting the array)
--
shapenoid.com stojan-voumard.com
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  DannyT (DANTAS)
6105.6 In reply to 6105.1 
Hi Ditto,

You can use the Array Extent Count option you just need some extra temporary geometry to get the spacing even in the rectangle.



For five circles with equal gap spacing within the rectangle you'll have to count off seven then pick from center point to center point of the outside circles, delete the outside circles and your done.



Cheers
~Danny~
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Marc (TELLIER)
6105.7 In reply to 6105.5 
I usually line up the shapes and the divide the resulting space in six spaces.



Curves can now be stretched with the unwrapcurve plugin, it can be useful in certain situations.

Marc
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Marc (TELLIER)
6105.8 In reply to 6105.6 
Excellent method Danny!
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Ditto
6105.9 In reply to 6105.6 
Hi Danny,

This is almost what my current preferred method is. As the first inner circle already has a position, I need to go from there. I first mirror it over to the other side from the centerline of the box, then directional array from center to center of the two extreme circles. I essentially divide and fill the space between them.

Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  DannyT (DANTAS)
6105.10 In reply to 6105.9 
Hi Ditto,

I'm a bit confused now, we were assuming you wanted the same gap size from the end of the rectangle to the circles the same as the spacing between the rest of the circles.

-
~Danny~
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Ditto
6105.11 In reply to 6105.10 
No need to be confused, Danny. I was certainly just not capable to make myself clear enough. Post #3 showed my problem of having a first position fixed for the first element, but that is just one specific case.

I was looking for a more generic solution anyway. There are only a couple of situations that I can think of :
- a given number of objects equally spaced over a distance : |--O--O--O--O--O--| <<(your solution)
- equally spaced for wrapping (flowing) around : |-O--O--O--O--O-|
- equally spaced with given position for the first element, with symmetry : |----O--O--O--O--O----| <<(my solution)

None of these are particularly difficult to draw, but I esteem them pretty standard in design: Place objects evenly over a distance, linear or not, planar or not. Any of the cases could be solved by dividing the distance and placing the objects.

And I hoped for something that I have overlooked in the array or flow commands.

Thanks to all, anyway ! Great to have such a collaborative community ! Thanks !

Ditto
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  blowlamp
6105.12 
I often use the method in this short video http://screencast.com/t/Yu26N4Mkhfx



Martin.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
6105.13 In reply to 6105.11 
Hi Ditto,

> I was looking for a more generic solution anyway. There are only a couple of situations that I can think of :
> - a given number of objects equally spaced over a distance : |--O--O--O--O--O--| <<(your solution)> - equally spaced for wrapping (flowing) around : |-O--O--O--O--O-|
> - equally spaced with given position for the first element, with symmetry : |----O--O--O--O--O----| <<(my solution)

I was thinking a bit about how Array Dir might be modified for doing things like this more easily but it seems like it could make things kind of confusing to put too many options in it, it's somewhat difficult to really clearly describe these different options in a way that is immediately easy to understand.

One thing I've thought about some is having an option for specifically controlling the distance between the bounding boxes around items rather than the "base point to target point" type focus that it currently has.

But for your type #3, the "Extent, Count" mode does do what you need, you just need to control where you place the end point, and it is possible to use 2 construction lines to do that right inside of the Array Dir command without activating any other tools.

Make the first construction line a vertical one at the midpoint, and then you can drop in a second construction line from the start point onto that vertical line and get the reflected end point as an "end" snap. You can use construction lines in this way to create a snap point that is mirrored around some centerline without needing to actually run the mirror command separately.

It looks like this:




So anytime that it's really just a single snap point that you need to have mirrored, you can usually do that with construction lines - get an axis construction line going down the middle and then you create a second construction line starting at the point you want to mirror and ending on the axis line, the "reflected end" is then available as a snap point.

- Michael
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Ditto
6105.14 In reply to 6105.13 
Thanks, Michael. I definitely need to explore the power of construction lines more.

I managed to get the same result as you with horizontal construction. But impossible with vertical copies, building from bottom to top in my (attached - same as before, iirc) 3dm. The bug usually sits in front of the screen, but here I am lost ...

Thanks!

Ditto
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
6105.15 In reply to 6105.14 
Hi Ditto, you just do the same thing for the vertical direction - maybe you're not releasing the end point of the second construction line at the right spot. It's not enough just to make the second construction line vertical alone, you need to do the mouse down on the circle center, then drag it and do the mouse up at the "Int, Perp" snap on the median line. The distance between the start point and the up point of the second cline is significant. It's then that distance from the start point of the cline to the release point that is reflected with an additional "End" snap that has the mirrored location that you want.

Here's how it looks using your file:



- Michael
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
6105.16 In reply to 6105.15 
So the basic mechanism that this is using is the "reflected endpoints" of the construction line.

If you drag out a construction line with the mouse down starting point and the mouse up release point like this:




The distance between those points is used to create additional End snaps, extended by the same distance on the other side, like this:






When applied perpendicular to a central axis that gives a mirrored point around the axis.

You can also use that distance in a couple of other ways too, like "capture" a distance between 2 points and reapply that distance elsewhere by holding down on the little menu launcher tag and picking relocate or reorient cline, and also you can put in a division number on that little menu to enable "div snap" to do things like snaps at 1/5 or whatever you want increments along that distance.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Ditto
6105.17 In reply to 6105.16 
Again, the bug sat in front of the screen. Thank you Michael for these detailed explications. You were right, I didn't release the cline construction at the right point.

Thanks again!

Ditto
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Samuel Zeller
6105.18 In reply to 6105.16 
Oh my... the div snap and relocate stuff is incredible I should use it more :)

It's by far the best construction lines in any software ever made (it should be the same in Illustrator and Indesign haha)
--
shapenoid.com stojan-voumard.com
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All