예제 #1
0
파일: app.py 프로젝트: hanxiaomax/Cura2
    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
예제 #2
0
 def getMachine(self):
     machine = FDMPrinter()
     machine.getSettingByKey('machine_name').setValue(self._machine_name.GetValue())
     machine.getSettingByKey('machine_width').setValue(self._build_area_width.GetValue())
     machine.getSettingByKey('machine_depth').setValue(self._build_area_depth.GetValue())
     machine.getSettingByKey('machine_height').setValue(self._build_area_height.GetValue())
     machine.getSettingByKey('machine_nozzle_size').setValue(self._nozzle_size.GetValue())
     return machine
예제 #3
0
class CuraFDMApp(CuraApp):
    def __init__(self):
        super(CuraFDMApp, self).__init__()

    def OnInit(self):
        self._settings_view_presets = [SettingsViewPreset()]
        self._active_setting_view = self._settings_view_presets[0]
        self._active_setting_view.setName('Normal')
        self._active_setting_view.importFromFile(
            getResourcePath('view_presets/normal_view.ini'))

        self._scene = Printer3DScene()
        self._view = PrinterView3D()
        self._translator = FDMPrinterTranslator()
        self._machine = FDMPrinter()

        self._toolbox.append(RotateTool(self))
        self._toolbox.append(ScaleTool(self))
        self._toolbox.append(MirrorTool(self))
        self._toolbox.append(SelectAndMoveTool(self))

        self._scene.loadFile('C:/Models/D&D/Box.stl')

        self._machine.loadSettings(
            getDefaultPreferenceStoragePath('settings.ini'))
        self.setActiveSettingsView(self._active_setting_view)
        return True

    def finished(self):
        self._machine.saveSettings(
            getDefaultPreferenceStoragePath('settings.ini'))

    def getSettingsViewPresets(self):
        return self._settings_view_presets

    def addSettingsViewPreset(self, svp):
        self._settings_view_presets.append(svp)

    def getActiveSettingsViewPreset(self):
        return self._active_setting_view

    def setActiveSettingsView(self, settings_view):
        self._active_setting_view = settings_view
        settings_view.applyPreset(self._machine)
        if self._mainWindow is not None:
            self._mainWindow.refreshProfilePanel()
예제 #4
0
파일: app.py 프로젝트: sanyaade-iot/Cura2
class CuraFDMApp(CuraApp):
    def __init__(self):
        super(CuraFDMApp, self).__init__()

    def OnInit(self):
        self._settings_view_presets = [SettingsViewPreset()]
        self._active_setting_view = self._settings_view_presets[0]
        self._active_setting_view.setName('Normal')
        self._active_setting_view.importFromFile(getResourcePath('view_presets/normal_view.ini'))

        self._scene = Printer3DScene()
        self._view = PrinterView3D()
        self._translator = FDMPrinterTranslator()
        self._machine = FDMPrinter()

        self._toolbox.append(RotateTool(self))
        self._toolbox.append(ScaleTool(self))
        self._toolbox.append(MirrorTool(self))
        self._toolbox.append(SelectAndMoveTool(self))

        self._scene.loadFile('C:/Models/D&D/Box.stl')

        self._machine.loadSettings(getDefaultPreferenceStoragePath('settings.ini'))
        self.setActiveSettingsView(self._active_setting_view)
        return True

    def finished(self):
        self._machine.saveSettings(getDefaultPreferenceStoragePath('settings.ini'))

    def getSettingsViewPresets(self):
        return self._settings_view_presets

    def addSettingsViewPreset(self, svp):
        self._settings_view_presets.append(svp)

    def getActiveSettingsViewPreset(self):
        return self._active_setting_view

    def setActiveSettingsView(self, settings_view):
        self._active_setting_view = settings_view
        settings_view.applyPreset(self._machine)
        if self._mainWindow is not None:
            self._mainWindow.refreshProfilePanel()
예제 #5
0
    def OnInit(self):
        self._settings_view_presets = [SettingsViewPreset()]
        self._active_setting_view = self._settings_view_presets[0]
        self._active_setting_view.setName('Normal')
        self._active_setting_view.importFromFile(
            getResourcePath('view_presets/normal_view.ini'))

        self._scene = Printer3DScene()
        self._view = PrinterView3D()
        self._translator = FDMPrinterTranslator()
        self._machine = FDMPrinter()

        self._toolbox.append(RotateTool(self))
        self._toolbox.append(ScaleTool(self))
        self._toolbox.append(MirrorTool(self))
        self._toolbox.append(SelectAndMoveTool(self))

        self._scene.loadFile('C:/Models/D&D/Box.stl')

        self._machine.loadSettings(
            getDefaultPreferenceStoragePath('settings.ini'))
        self.setActiveSettingsView(self._active_setting_view)
        return True
예제 #6
0
파일: app.py 프로젝트: sanyaade-iot/Cura2
    def OnInit(self):
        self._settings_view_presets = [SettingsViewPreset()]
        self._active_setting_view = self._settings_view_presets[0]
        self._active_setting_view.setName('Normal')
        self._active_setting_view.importFromFile(getResourcePath('view_presets/normal_view.ini'))

        self._scene = Printer3DScene()
        self._view = PrinterView3D()
        self._translator = FDMPrinterTranslator()
        self._machine = FDMPrinter()

        self._toolbox.append(RotateTool(self))
        self._toolbox.append(ScaleTool(self))
        self._toolbox.append(MirrorTool(self))
        self._toolbox.append(SelectAndMoveTool(self))

        self._scene.loadFile('C:/Models/D&D/Box.stl')

        self._machine.loadSettings(getDefaultPreferenceStoragePath('settings.ini'))
        self.setActiveSettingsView(self._active_setting_view)
        return True