 # Python Maya Script : Create Cube as same distance between them along a circle shape

#1

Hello,

I am trying to write a script that create multiple cube and place them at the same distance from the origin. I want them to create a circle with cube and i want those cubes to be at the same distance between them.
I only succed to create cube at them distance from origin but no at the same distance between them.

Here is my script.

import maya.cmds as cm
import math
cubeList = []
for i in range(0,60):
cube = cm.polyCube ()
cubeList.append(cube)

def moveObj(obj,a,b):
cm.setAttr(obj +’.translateX’,a)
cm.setAttr(obj +’.translateZ’,b)

for i in range(0,len(cubeList)):
angle = i * (360/(i+1))
x = 10math.cos(angle)
y = 10
math.sin(angle)
moveObj(cubeList[i],x,y)

Can someone help me ?
Thanks

#2

Something along these lines should work.

from maya import cmds, OpenMaya
import math
def main(count, radius, up_axis=(0, 1, 0)):
up_axis = OpenMaya.MVector(*up_axis).normal()

``````cubes = []
angle_increment = 360.0 / count
for i in xrange(count):
# Create a cube.
cube = cmds.polyCube()
cubes.append(cube)

# Get an axis perpendicular to the up-axis to set the initial position.
x_axis = OpenMaya.MVector(1, 0, 0)
if x_axis.angle(up_axis) &gt; 0.01:
point = (x_axis ^ up_axis) * radius
else:
point = (OpenMaya.MVector(0, 1, 0) ^ up_axis) * radius

# Rotate The point by the angle increment around the up-axis.
angle = angle_increment * i