def get_body(self):
model_path = self.file_path_var.get()
raw_list = self.controller.get_body_list(model_path)
self.part_list = [str(item) for item in raw_list]
self.update_all_comboboxes()
def get_body_list(self,model_path):
try:
server_port = self.wb.start_mechanical_server(system_name='MODEL')
self.mechanical = launch_mechanical(start_instance=False, port=server_port)
except Exception as e:
messagebox.showerror("错误", str(e))
raise
script2 = f'''
geometry = DataModel.GetObjectById(12)
geometry.Import(r"{model_path}")
part_list = [part.Name for part in DataModel.GetObjectsByType(DataModelObjectCategory.Part)]
return part_list'''
part_list = self.mechanical.run_python_script(script2)
return part_list