As part of a larger python script in 2.49b I am trying to commit a number of boolean unions to arrive at a final, single object. The code portion below creates a sphere and then creates a succession of cylinders in a circle around it. If I uncomment the last section to make each new cylinder boolean unite to the sphere then after the first union I get this error in my terminal and Blender crashes:
ASSERT intern/moto/include/MT_Vector3.inl:42: !MT_fuzzyZero(s) failed.
This error is due to coincident faces when doing a union, as fas as I can tell, and I am assuming it’s because the old mesh from a union is still held in the internal Blender database and interferes with the new union, as there should be no co-incident faces between the meshes actually being united. I have tried renaming and moving the mesh between unions but with no luck. Anybody have an idea how best to solve this?
cylinder = 
sc = Blender.Scene.GetCurrent() # get current scene
sphere = Blender.Mesh.Primitives.Icosphere(2, 2)
sc.objects.new(sphere,‘Sphere’) # add a new mesh-type object to the scene
sp = Blender.Object.Get(‘Sphere’)
for i in range (0, 10):
cylinder.append(Blender.Mesh.Primitives.Cylinder(6, 1, 2))
for vert in cylinder[i].verts:
vert.co.z = vert.co.z+1
cy = Blender.Object.Get(‘Cyl’+str(i))
cy.RotX = math.pi/2
cy.RotZ = (float(i)/10)2math.pi