def save_3d_cad_images(self):
status = self.resultObj['Bolt']['status']
if status is True:
if self.fuse_model is None:
self.fuse_model = self.create2Dcad()
shape = self.fuse_model
files_types = "IGS (*.igs);;STEP (*.stp);;STL (*.stl);;BREP(*.brep)"
fileName, _ = QFileDialog.getSaveFileName(self, 'Export', os.path.join(str(self.folder), "untitled.igs"), files_types)
fName = str(fileName)
# if self.connectivity is None:
# self.connectivity = self.create_3d_col_web_beam_web()
# if self.fuse_model is None:
# self.fuse_model = self.create_2d_cad(self.connectivity)
# shape = self.fuse_model
#
# files_types = "IGS (*.igs);;STEP (*.stp);;STL (*.stl);;BREP(*.brep)"
# filename = QFileDialog.getSaveFileName(self, 'Export', str(self.folder) + "/untitled.igs", files_types)
#
# filename = str(filename)
flag = True
if fName == '':
flag = False
return flag
else:
file_extension = fName.split(".")[-1]
if file_extension == 'igs':
IGESControl.IGESControl_Controller().Init()
iges_writer = IGESControl.IGESControl_Writer()
iges_writer.AddShape(shape)
iges_writer.Write(fName)
elif file_extension == 'brep':
BRepTools.breptools.Write(shape, fName)
elif file_extension == 'stp':
# initialize the STEP exporter
step_writer = STEPControl_Writer()
Interface_Static_SetCVal("write.step.schema", "AP203")
# transfer shapes and write file
step_writer.Transfer(shape, STEPControl_AsIs)
status = step_writer.Write(fName)
assert(status == IFSelect_RetDone)
else:
stl_writer = StlAPI_Writer()
stl_writer.SetASCIIMode(True)
stl_writer.Write(shape, fName)
self.fuse_model = None
QMessageBox.about(self, 'Information', "File saved")
else:
self.ui.actionSave_3D_model.setEnabled(False)
QMessageBox.about(self,'Information', 'Design Unsafe: 3D Model cannot be saved')
评论列表
文章目录