Heya,
Here’s a new my script making polar arrays. It is also capable to make spirals from the objects to rotate…
How it works? + some instructions of use and ideas of application:
Script works in 2 modes - Mode_1: when no object is selected and Mode_2: when one of more objects are selected in Blender. The script basically does what polar array function in Autocad does + it can be arranged not only in one plane but also as a spiral. Rotation/spirals are around Z axis or an axis parallel to Z.
Mode_1: As soon as no object is selected, the script creates a cube, then re-shapes it, then rotates it as per the parameters entered. The interface in that case looks like this:
Default values are suitable to making “spiral stairs” so I will explain this as an example.
CX,CY,CZ are coordinates of rotation center. A cube is used as an object to rotate and populate the polar array, so Size_X,Y,Z values are used to re-shape the default cube. With size values of 3.0,1.0,0.2 the cube is re-shaped to a more wide and flat object which can be used as a step of a spiral stairs RX,RY,RZ give preliminary rotation of the object on its X,Y,Z axes. In case of spiral stairs it is no practical to rotate the step. If somebody likes - he/she may use some small angle of rotation on Z… Then you set-up the number of steps. By default it is = 18. “Angle to fill” sets the angle of polar array. By default it is = 360 degrees, i.e. this is 1 full turn. The range is (-10800,10800) degrees, which covers 30 full turns. Internal radius sets up the value for inner space (cylinder). This value together with size values is used to position the steps. For the first step CZ is used to determine the beginning. Last parameter is Delta Z. It gives the increment on Z. Should there is 0.0 entered => a polar array in one plane is produced. By default, the value is such that there will be 0.1 units on Z between the “steps” (0.5 = 2*Size_Z+0.1). Soooo pressing “OK” will produce “the stairs”
Setting negative for the angle to fill, will produce a “negative” spiral - rotated clockwise. Using negative value for Delta Z => stairs go downwards. Here’s the stairs using the default values:
Setting up Delta Z = 0, may produce water-mill propellers like this:
Using some values for initial object’s rotation result in this:
So script helps producing turbine-like objects. While using a better shaped object to rotate, better results may be achieved, but for that you need to use Mode_2.
Mode_2: Script runs automatically into its Mode_2 when one of more objects are selected. The idea is to rotate the selected object(s). In comparision to the BLENDER built-in function Spin function, the benefit is that several objects can be rotated simultaneously. Virtually, there is no restriction of the number of objects to rotate at a time. The interface in that case is very much simplified:
The uppermost toggle button provides opportunity to use the 3D cursor as rotation point. In fact, there is a need of rotation axis which is determined by the rotation point and a prime line parallel to Z. By the default the “Use 3D cursor” is pressed so that the 3D cursor will define the rotation axis. If you switch off this option, you’d need to enter coordinates CX,CY of the rotation point. CX,CY values take effect ONLY when the toggle button “Use 3D cursor” is switched off. The other values suggest that 6 objects (groups of objects) are to get obtained after running the script, the “Angle to fill” field works as in Mode_1, and “Delta Z” - same as before. Now Delta_Z is 0.0 by default. This means that all selected objects will be rotated using their Z coordinate around the rotation axis. Should you like to obtain a spiral - you’d need to set some different value for Delta_Z. It takes effect over all objects to populate the polar array. When two or more objects are selected, script preserves relative distances between them - quite expected, right?
I’ll leave it to your imagination what you can produce by using Mode_2 of the script!
Regards,