def ang_convert(span, steps): obj, desc = mesh_pop("ang_convert") #TODO Sliceing an object is overkill, just add more points result = None step = 1.0 * span / steps for i in range(steps): mask = CSG.generate_box_mesh([step * i, -100, -100], [step * (i + 1), 100, 100]) # TODO fix slice = CSG.boolean(obj, mask, "intersection") # TODO fix vertices = np.empty([len(slice.vertices), 3], dtype=float) for i in range(len(slice.vertices)): ang = slice.vertices[i][0] r = slice.vertices[i][1] vertices[i][0] = -r * math.cos(ang) vertices[i][1] = r * math.sin(ang) vertices[i][2] = slice.vertices[i][2] tmp = CSG.form_mesh(vertices, slice.faces) # TODO fix if result is None: result = tmp else: result = CSG.boolean(result, tmp, "union") # TODO fix mesh_push(result, "TODO")