Added multiply settings
parent
7954a951a6
commit
bb0b36cc07
|
@ -154,8 +154,8 @@ def getSkeinPyPyProfileInformation():
|
|||
'Activate_Multiply': "True",
|
||||
'Center_X_mm': storedSetting("machine_center_x"),
|
||||
'Center_Y_mm': storedSetting("machine_center_y"),
|
||||
'Number_of_Columns_integer': "1",
|
||||
'Number_of_Rows_integer': "1",
|
||||
'Number_of_Columns_integer': storedSetting('model_multiply_x', '1'),
|
||||
'Number_of_Rows_integer': storedSetting('model_multiply_y', '1'),
|
||||
'Reverse_Sequence_every_Odd_Layer': DEFSET,
|
||||
'Separation_over_Perimeter_Width_ratio': DEFSET,
|
||||
},'speed': {
|
||||
|
|
|
@ -171,6 +171,13 @@ class mainWindow(configBase.configWindowBase):
|
|||
c = configBase.SettingRow(right, "Rotate (deg)", 'model_rotate_base', '0', '')
|
||||
validators.validFloat(c)
|
||||
configBase.settingNotify(c, self.preview3d.updateModelTransform)
|
||||
configBase.TitleRow(right, "Multiply")
|
||||
c = configBase.SettingRow(right, "Multiple X", 'model_multiply_x', '1', '')
|
||||
validators.validInt(c)
|
||||
configBase.settingNotify(c, self.preview3d.updateModelTransform)
|
||||
c = configBase.SettingRow(right, "Multiple Y", 'model_multiply_y', '1', '')
|
||||
validators.validInt(c)
|
||||
configBase.settingNotify(c, self.preview3d.updateModelTransform)
|
||||
|
||||
# load and slice buttons.
|
||||
loadButton = wx.Button(self, -1, 'Load Model')
|
||||
|
|
|
@ -381,21 +381,32 @@ class PreviewGLCanvas(glcanvas.GLCanvas):
|
|||
self.modelDisplayList = glGenLists(1);
|
||||
if self.parent.modelDirty:
|
||||
self.parent.modelDirty = False
|
||||
multiX = int(settings.getProfileSetting('model_multiply_x', '1'))
|
||||
multiY = int(settings.getProfileSetting('model_multiply_y', '1'))
|
||||
modelSize = self.parent.triangleMesh.getCarveCornerMaximum() - self.parent.triangleMesh.getCarveCornerMinimum()
|
||||
glNewList(self.modelDisplayList, GL_COMPILE)
|
||||
glBegin(GL_TRIANGLES)
|
||||
for face in self.parent.triangleMesh.faces:
|
||||
v1 = self.parent.triangleMesh.vertexes[face.vertexIndexes[0]]
|
||||
v2 = self.parent.triangleMesh.vertexes[face.vertexIndexes[1]]
|
||||
v3 = self.parent.triangleMesh.vertexes[face.vertexIndexes[2]]
|
||||
glNormal3f(face.normal.x, face.normal.y, face.normal.z)
|
||||
glVertex3f(v1.x, v1.y, v1.z)
|
||||
glVertex3f(v2.x, v2.y, v2.z)
|
||||
glVertex3f(v3.x, v3.y, v3.z)
|
||||
glNormal3f(-face.normal.x, -face.normal.y, -face.normal.z)
|
||||
glVertex3f(v1.x, v1.y, v1.z)
|
||||
glVertex3f(v3.x, v3.y, v3.z)
|
||||
glVertex3f(v2.x, v2.y, v2.z)
|
||||
glEnd()
|
||||
glPushMatrix()
|
||||
glTranslate(-(modelSize.x+self.lineWidth*15)*(multiX-1)/2,-(modelSize.y+self.lineWidth*15)*(multiY-1)/2, 0)
|
||||
for mx in xrange(0, multiX):
|
||||
for my in xrange(0, multiY):
|
||||
for face in self.parent.triangleMesh.faces:
|
||||
glPushMatrix()
|
||||
glTranslate((modelSize.x+self.lineWidth*15)*mx,(modelSize.y+self.lineWidth*15)*my, 0)
|
||||
glBegin(GL_TRIANGLES)
|
||||
v1 = self.parent.triangleMesh.vertexes[face.vertexIndexes[0]]
|
||||
v2 = self.parent.triangleMesh.vertexes[face.vertexIndexes[1]]
|
||||
v3 = self.parent.triangleMesh.vertexes[face.vertexIndexes[2]]
|
||||
glNormal3f(face.normal.x, face.normal.y, face.normal.z)
|
||||
glVertex3f(v1.x, v1.y, v1.z)
|
||||
glVertex3f(v2.x, v2.y, v2.z)
|
||||
glVertex3f(v3.x, v3.y, v3.z)
|
||||
glNormal3f(-face.normal.x, -face.normal.y, -face.normal.z)
|
||||
glVertex3f(v1.x, v1.y, v1.z)
|
||||
glVertex3f(v3.x, v3.y, v3.z)
|
||||
glVertex3f(v2.x, v2.y, v2.z)
|
||||
glEnd()
|
||||
glPopMatrix()
|
||||
glPopMatrix()
|
||||
glEndList()
|
||||
if self.renderTransparent:
|
||||
#If we want transparent, then first render a solid black model to remove the printer size lines.
|
||||
|
|
Loading…
Reference in New Issue