self.modelDisplayList = None
self.modelDirty = True
- self.centerX = -self.getSize()[0]/2 + 5
- self.centerY = -self.getSize()[1]/2 + 5
+ self.centerX = self.getSize()[0]/2 + 5
+ self.centerY = self.getSize()[1]/2 + 5
self.updateMatrix()
output = mesh.mesh()
output._prepareVertexCount(totalCount)
for item in self.list:
- offset = numpy.array([item.centerX, item.centerY, 0])
- for v in item.mesh.vertexes:
- v0 = v * item.scale + offset
- output.addVertex(v0[0], v0[1], v0[2])
+ vMin = item.getMinimum()
+ vMax = item.getMaximum()
+ offset = - vMin - (vMax - vMin) / 2
+ offset += numpy.array([item.centerX, item.centerY, 0])
+ vertexes = (item.mesh.vertexes * item.matrix).getA() + offset
+ for v in vertexes:
+ output.addVertex(v[0], v[1], v[2])
stl.saveAsSTL(output, filename)
def OnSaveProject(self, e):
pos = [item.centerX - self.machineSize[0] / 2, item.centerY - self.machineSize[1] / 2]
else:
pos = [item.centerX, item.centerY]
- positionList.append(pos + (item.mesh.matrix * item.scale).reshape((9,)).tolist())
+ positionList.append(pos + item.matrix.getA().flatten().tolist())
+ print positionList
sliceCommand = sliceRun.getSliceCommand(resultFilename, fileList, positionList)
else:
self._saveCombinedSTL(resultFilename + "_temp_.stl")
glEnable(GL_LIGHTING)
glTranslate(item.centerX, item.centerY, 0)
- glPushMatrix()
vMin = item.getMinimum()
vMax = item.getMaximum()
offset = - vMin - (vMax - vMin) / 2
#Next follow 4 binary bytes containing the amount of faces, and then the face information.
f.write(struct.pack("<I", int(mesh.vertexCount / 3)))
for idx in xrange(0, mesh.vertexCount, 3):
- v1 = mesh.origonalVertexes[idx]
- v2 = mesh.origonalVertexes[idx+1]
- v3 = mesh.origonalVertexes[idx+2]
+ v1 = mesh.vertexes[idx]
+ v2 = mesh.vertexes[idx+1]
+ v3 = mesh.vertexes[idx+2]
f.write(struct.pack("<fff", 0.0, 0.0, 0.0))
f.write(struct.pack("<fff", v1[0], v1[1], v1[2]))
f.write(struct.pack("<fff", v2[0], v2[1], v2[2]))