def _onNewMachine(self, e): wizard = NewDFMPrinterWizard() machine = wizard.run() if machine is not None: self._app.addMachine(machine) self._app.setMachine(machine) self.updateButton()
def OnInit(self): self._settings_view_presets = [] self._active_setting_view = None self._scene = Printer3DScene() self._view = PrinterView3D() self._translator = FDMPrinterTranslator() machine_storage = ConfigParser() machine_storage.read(getDefaultPreferenceStoragePath('machines.ini')) n = 0 while machine_storage.has_section('machine_%d' % n): machine = None if machine_storage.has_option('machine_%d' % n, 'machine_class'): try: class_name = machine_storage.get('machine_%d' % n, 'machine_class') module_name, class_name = class_name.rsplit('.', 1) __import__(module_name) module = sys.modules[module_name] machine = getattr(module, class_name)() except: import traceback traceback.print_exc() machine = None if machine is None: machine = FDMPrinter() machine.loadSettingsFromConfigParser(machine_storage, 'machine_%d' % n) self.addMachine(machine) n += 1 if len(self._machine_list) < 1: wizard = NewDFMPrinterWizard() machine = wizard.run() if machine is not None: self.addMachine(machine) if len(self._machine_list) < 1: return False self._toolbox.append(RotateTool(self)) self._toolbox.append(ScaleTool(self)) self._toolbox.append(MirrorTool(self)) self._toolbox.append(SelectAndMoveTool(self)) svp = SettingsViewPreset() svp.setName('Normal') svp.importFromFile(getResourcePath('view_presets/normal_view.ini')) svp.setBuildIn() self.addSettingsViewPreset(svp) for svp in loadSettingViewPresets(getDefaultPreferenceStoragePath('view_presets.ini')): self.addSettingsViewPreset(svp) self.setActiveSettingsView(self._settings_view_presets[int(getPreference('active_view_preset', 0))]) self.setMachine(self._machine_list[int(getPreference('active_machine', 0))]) wx.CallAfter(self._scene.loadFile, 'C:/Models/D&D/Box.stl') return True