Radial Array and Instances

Radial Array

Adds an array modifier to the selected object with an easily adjustable segment number.

You can change a number of segments by scrolling or typing a number on a keyboard.

Axis of the array can be changed to X, Y or Z local axis of the object by pressing XYZ axis keys. Or you can choose the view axis by pressing V key.

The center of the array can be set to the object pivot or 3D cursor.

If you try to add an additional radial array to an object that already has it, the tool will pick up an existing modifier and allow you to edit it.

Radial Instances

Adds linked duplicates of the object radially around the 3D cursor.

You can change a number of duplicates with a mouse scroll or type it on a keyboard. Rotation is performed around local X, Y, Z axis or view Z axis (which can be switched by XYZV keys).

Duplicated objects will be added to selected object collection, and if it has a parent, then duplicates will inherit it.

Download

15 Likes

I will give this a try today. Looks very useful!

Hi.
Thank you very much for making this addon. I have tested several similar addons (some of them have some advanced features) but I was looking for a simple and efficient one. And this one works perfectly fine (on Blender 2.82). Thanks again @Cirno.

I have also installed it on:

  • Blender version: Daily Build (blender-2.83-85cdf9a1b9e8-windows64)
  • Addon version: 1.0

As soon as I clicked on the “Duplicate Radially” button, Blender 2.83 crashed. Here is the error that I saw in the console:

ERROR (rna.define): c:\b\win64_cmake_vs2017\win64_cmake_vs2017\blender.git\source\blender\makesrna\intern\rna_define.c:1840 RNA_def_property_enum_items: “OBJECT_OT_duplicate_radially_modal.spin_axis”, enum identifiers must not contain spaces.
ERROR (rna.define): c:\b\win64_cmake_vs2017\win64_cmake_vs2017\blender.git\source\blender\makesrna\intern\rna_define.c:2097 RNA_def_property_enum_default: “OBJECT_OT_duplicate_radially_modal.spin_axis”, default is not in items.
ERROR (rna.define): c:\b\win64_cmake_vs2017\win64_cmake_vs2017\blender.git\source\blender\makesrna\intern\rna_define.c:1840 RNA_def_property_enum_items: “OBJECT_OT_duplicate_radially.spin_axis”, enum identifiers must not contain spaces.
ERROR (rna.define): c:\b\win64_cmake_vs2017\win64_cmake_vs2017\blender.git\source\blender\makesrna\intern\rna_define.c:2097 RNA_def_property_enum_default: “OBJECT_OT_duplicate_radially.spin_axis”, default is not in items.
Error : EXCEPTION_ACCESS_VIOLATION
Address : 0x00007FF75652FDF0
Module : E:\blender_dailybuild\blender.exe

I am not sure if I should report errors with Blender 2.83 because it’s an alpha version, and many addons are prone to errors and bugs.
But it works fine on Blender 2.82.

Thank you for the report, I uploaded the new version.

1 Like

Do you plan to upload your script to Github ?

Maybe. Do you want it for forking and tracking changes?

For both of these reasons and also because GitHub has a nice bug tracking / issue system.

1 Like

Very useful. I have the following suggestions:

  1. Beside the standard X/Y/Z/V axis for array, add an option for selecting an arbitary line edge or two vertexes as the array axis.

  2. Define start and end array angle .

  3. Allow the user to decide whether to rotate the arrayed element or not.

I think I’ll add this.

I got it what is the end angle and indeed it could be useful. But what you mean by start angle? Isn’t array will always start from the object location?

Do you mean just an array with overlapped meshes? How can someone use it?

Please add an option to adjust the radius of the array. Like an input window.

Let’s say the starting point is the center of the array, but where should radius end?
I think that the center of the array could be on the cursor, and the distance from it to the origin of object would be the radius. How does this sound?

Could you do it as a modifier? I know often times this is done as a Displace modifier with good success.

Unfortunately, no. Blender modifiers can’t be created with addons, you can only integrate them into a blender build.

I think I meant mainly for the radial array option of your add-on. That if someone chooses that option then the radius that Jakroval was asking for would just be a Displace modifier that gets added and is in sync with the axis that the user chooses for the array.

Okay. I’ll try

1 Like

I can adjust the radius by moving the object, but how would you move the group to a new location?
If you add a controller (empty) as an array center point, so you can move the group anywhere without apply the array modifiers.

If you want to move an object without breaking the array, you need to move it together with the array empty.

I see. Thanks

Thank you. Good job.