面がバラバラにならないようにするために、addVertexとaddFaceを分けて書いてみました。立方体はつながっていますが、球体で試してみると、バラバラ?・・・悩みます。
def drawCube():
obj = MQSystem.newObject()
s=MQSystem.newPoint
p =[s(50,50,50), s(-50,50,50), s(-50,-50,50),s(50,-50,50),
s(50,50,-50), s(-50,50,-50),s(-50,-50,-50), s(50,-50,-50)]
out(str(p[0]))
obj.addVertex(p[0])
obj.addVertex(p[1])
obj.addVertex(p[2])
obj.addVertex(p[3])
obj.addVertex(p[4])
obj.addVertex(p[5])
obj.addVertex(p[6])
obj.addVertex(p[7])
obj.addFace([3,2,1,0])
obj.addFace([4,7,3,0])
obj.addFace([1,5,4,0])
obj.addFace([2,6,5,1])
obj.addFace([3,7,6,2])
obj.addFace([5,6,7,4])
doc.addObject( obj )