BETA Suggestion - In one place: Request for interface for Arrays

I have voiced this in a couple of threads - and I think they may be tangents…so I want to get it all in one place as a request for the new Array functions - hopefully, this can be considered before the Beta becomes production:

I see two parameters in both array functions - Position and Spacing. In both Linear and Circular arrays, these can be controlled empirically, by changing the parameters in the dialog. All Good. Don’t change that! (EDIT: HOWEVER, the meaning of “POSITION” for Circular Arrays is different in this design…see below)

My request is in the use of the mouse:
Note: For the purpose of this discussion, I’m calling the object that is used as the source for the array to be the “Key Object”.

If you drag the key object, I would request that both Array dialogs treat that as a POSITION change for the array.
Linear (this is current behavior in Linear Array):




In both of these cases, I moved the key object diagonally to the upper right.
NOTE: This is a CHANGE to the way circular “Center” is interpreted. This center is the center of the array body…not the radius for the circle. This would require that CENTER POSITION be a position on the grid…and not imply a change to the radius of the array. The SPACING parameter would represent the change in the size of the radius.

NOTE 2: If you think it’s more clear, perhaps dragging the center dot of the circular array to a new location of the screen could move the entire array. That may be more intuitive (and consistent with moving normal objects).

If you hold the SHIFT key down and drag the key object, you will effect the SPACING of the array:
By shift-dragging the key object away from the center of the array the SPACING goes from this:

To this:

Same behavior (actually, it’s current behavior for the array as it stands today)
SHIFT-Dragging the key object goes from this:

To This (If SHIFT-Dragged away from the center):

or this (if SHIFT-Dragged towards the center)

I believe that this consistent approach to Array handling will make the functions more consistent and intuitive for your users.

  • Gary
1 Like

First, neither of the dialogs have both “position & spacing”
The linear array does have spacing, but the position is implied by the position of the key object.
And the entire array is relative to that position.
The circular array has position (of the center point) in the dialog, and spacing is dependent on the position of the key object & the number of copies & the angle.

So linear can be defined by 1 point. Where circular needs 2 points.

Perhaps it would be better to think in terms of practicality. real world examples of where this would be used. Take for example a bolt circle


If I move the key object, I wouldn’t want the default behavior to move the center as well. I already have the center where I want it. I want the movement to change the diameter of the bolt circle, and the orientation, or radial position of the holes.

What are some other practical examples of circular array?

Another consideration is what happens after you OK the array. You can’t change the configuration of the array easily once it’s applied. But you can easily select the objects & move the entire array.

1 Like

Hey Todd…you are, of course, correct…there is no POSITION parm in Linear…but it is implied. I suggest, therefore, that there be one (for those who live by the numbers).

If you’re placing an array relative to the rest of your design and want to get that array to “look right”…you may need to alternate between position and spacing until you get the design you’re looking for. As you point out, once you OK the dialog, you can no longer adjust the spacing (only the position)…which limits you to getting the spacing 100% correct BEFORE you place the object. That’s an artificial limitation that really doesn’t need to be there.

Try to fit 5 circles of a specified dimension as close to the dimension of a square as you can - without moving the square - and without eyeballing the spacing yourself - and see what you have to go through - Can do it in one shot? I wasn’t able to. But, if you could create the array, drag it to the square, size it, you’d be done in seconds - even if you had to nudge it a couple of times. That’s simply not possible with the current solution. You could do it with a linear array, if you play with the spacing numbers empirically.

It would also be good to be able to change the key object when working within the dialog (both array tools). This would allow you to size / space in different directions. You would click on a different array object, it would highlight the new object (and deselect the original) and use that object for its calculations from then on.

Having only skimmed over this functionality in the other posts, I tried to take up your challenge… but I can’t figure out how to use the circular array tool.

I can get an array, but clicking on the tool handles and moving doesn’t do anything for me.

I’m also confused as to how you can have a circular tool without being able to specify a radius.

Please see if the example at:


Okies… I figured it out. Easiest way was to put the circle inside the square and centre it vertically inside the square (touching the left hand side), then click the centre of the square in the circular array tool.

I’d still like to see the radius in text somewhere though.

It is not intuitive…you are correct. Let me see if I can help:
The radius is determined using the distance between the center of the circle and the center of the key object. If you move the key object (drag) away from the center, the spacing (radius) gets larger. Move it closer, and it shrinks the radius.

There is no way to move the array.

If you click off of the key object, the array goes away temporarily. If you click back onto the key object, it comes back. I’m honestly not sure what purpose that can be used for, but that’s the behavior.

EDIT: Lastly, the move center button allows you to click on the grid to specify where you want the center of the CIRCLE to be - NOTE: This does NOT move the array…it moves the center of the circle and then recalculates the radius based on the new center’s relative position to the center of the key object.

It’s quirky, but okay enough after fiddling. You can move the array around once you’ve created it as a group and closed the dialog. You just have to get the size right first time.

I’m not bothered that it is quirky since it’s probably less important that (say) getting commas working as decimal places.

Yes…you are correct…but once you close that dialog, you lose the ability to change the spacing between the objects. You are no longer working with an array…just a bunch of objects. This is my major problem with the current design

It’s a positional renderer… not terribly sophisticated, but more useful than not having it there at all.

Yup. The recommendation is to make it a fully functional tool that’s consistent with other tools being released on the same date. As it stands now, you need to think like the code, not like a user.

I’m interested in how you knew to position the key object at the left edge…suppose you needed an array of 7 circles, not 5…where would you start it then?

If an arc or circular array isn’t positioned as desired, simply rotate it.


I was just trying the challenge :slight_smile: I wouldn’t choose to do geometry work in CC since the disappearing controls frustrate me.

But… thought I’d download the current version to do the renderer testing that was requested.

But once you rotate it, you’ve closed the dialog and can no longer adjust the spacing. Why fight this? There are work arounds for everything, why not improve the tool so you can do everything you need to in the dialog and then commit the work? Why force your users to have to understand the inner calculations selected by the developer? they’re just trying to manipulate a design on the grid! Think like a metal worker or wood worker, not like an engineer - and usability matters! Just sayin’.

I tried your “position and then click center” technique with 7 and it will work as well…it’s Kludgy also, because you can’t see the center of the object so well, so you’re going back and trial-and-erroring until you get the size right…then it’s off center to the left, so you need to close the dialog after you get the size right and then center the objects in the square with normal tools. It works…but it’s a workaround for what really needs to be present in the tools.

Unfortunately, my understanding for the current version is that it isn’t an option to add arrays as such to the data structures and file format — that will have to await a future version.

This is actually a pretty good example. Although the instructions are a bit ambiguous.
You say, “without eyeballing the spacing”, but then, “even if you had to nudge it a couple of times.” which sounds a lot like “eyeballing”. Even if you could move the entire array you would still be eyeballing it. If you wanted it mathematically perfect, then you’d have to do the math either way.

This, I think is the most efficient way given the current capabilities.

  1. Move the circle to align with the midpoint of any edge


  1. Create your array, and select the center of the square as the array center


  1. Drag the key object away from the center until the side objects are aligned with the edges of the square


  1. Select OK
  2. The array objects are still selected, so just select the Move icon. Select the center anchor, and move it to the center of the square.


  1. Done


I don’t think it would be a whole lot quicker if the option to move the whole array was available in the Create Circular Array command. And I still wouldn’t want the default behavior to move the center with the key object. That would seem, to me, as counter-intuitive as creating a rectangle from center & corner point rather than from 2 corner points! :wink:

Hey Todd… I meant without adjusting the spacing manually (outside of the array dialog). Your method worked. It works well for that example, although I don’t know how it would work if the target weren’t a square or easy thing to find the center of…but it does work.

In a single release of product, we are presented with two array functions: One allows positional changes through drag and drop and one doesn’t. One allows spacing changes through drag and drop, the other doesn’t. There are good reasons for BOTH positional and spacing changes for both types of arrays. Why make the user learn two different interaction models to use what is functionally the same tools? If the answer is, “circles use a different calculation model than grids”, that’s an Engineer’s answer…an end user doesn’t need to understand how grids differ than circles, the software hides the complexity. It would be like having a different gas pedal on a car because it has a rotary engine rather than a V-configuration. That implementation is hidden from the end user to support consistency and ease of use.

This topic was automatically closed after 30 days. New replies are no longer allowed.