コード例 #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
ファイル: fdmApp.py プロジェクト: MiniRalis/Cura2
 def finished(self):
     setPreference('active_view_preset', self._settings_view_presets.index(self._active_setting_view))
     setPreference('active_machine', self._machine_list.index(self._machine))
     machine_storage = ConfigParser()
     for machine in self._machine_list:
         machine.saveSettingsToConfigParser(machine_storage, 'machine_%d' % (self._machine_list.index(machine)))
     with open(getDefaultPreferenceStoragePath('machines.ini'), "w") as f:
         machine_storage.write(f)
     saveSettingViewPresets(getDefaultPreferenceStoragePath('view_presets.ini'), self._settings_view_presets)
コード例 #3
0
ファイル: app.py プロジェクト: hanxiaomax/Cura2
    def __init__(self):
        self._toolbox = []

        self._scene = None
        self._view = None
        self._translator = None
        self._machine = None
        self._machine_list = []

        self._main_window = None

        if platform.system() == "Windows" and not 'PYCHARM_HOSTED' in os.environ:
            super(CuraApp, self).__init__(redirect=True, filename=getDefaultPreferenceStoragePath('output.log'))
        else:
            super(CuraApp, self).__init__(redirect=False)

        self._view.setScene(self._scene)
        self._view.setMachine(self._machine)
        self._scene.setView(self._view)
        self._machine.setTranslator(self._translator)
        self._scene.setTranslator(self._translator)
        self._scene.setMachine(self._machine)
        self._translator.setScene(self._scene)
        self._translator.setMachine(self._machine)

        self._main_window = MainWindow(self)
        self._main_window.Show()
        self._main_window.Maximize()
コード例 #4
0
ファイル: app.py プロジェクト: MiniRalis/Cura2
    def __init__(self):
        self._toolbox = []

        self._scene = None
        self._view = None
        self._translator = None
        self._machine = None
        self._machine_list = []

        self._main_window = None

        # Do not redirect stdout if running in an IDE.
        if platform.system() == "Windows" and not 'PYCHARM_HOSTED' in os.environ:
            super(CuraApp, self).__init__(redirect=True, filename=getDefaultPreferenceStoragePath('output.log'))
        else:
            super(CuraApp, self).__init__(redirect=False)

        # Why? All of these are None or empty
        self._view.setScene(self._scene)
        self._view.setMachine(self._machine)
        self._scene.setView(self._view)
        self._machine.setTranslator(self._translator)
        self._scene.setTranslator(self._translator)
        self._scene.setMachine(self._machine)
        self._translator.setScene(self._scene)
        self._translator.setMachine(self._machine)

        # Create and show main window
        self._main_window = MainWindow(self)
        self._main_window.Show()
        self._main_window.Maximize()
コード例 #5
0
ファイル: cura.py プロジェクト: hanxiaomax/Cura2
def main():
    """
    Main Cura entry point. Parses arguments, and starts GUI or slicing process depending on the arguments.
    """
    from Cura import localization
    from Cura.resources import getDefaultPreferenceStoragePath
    from Cura import preferences
    preferences.loadPreferences(getDefaultPreferenceStoragePath('preferences.ini'))
    localization.setup()

    parser = OptionParser(usage="usage: %prog [options] <filename>.stl")

    (options, args) = parser.parse_args()

    from app import CuraFDMApp
    app = CuraFDMApp()
    app.MainLoop()
    app.finished()
    preferences.savePreferences(getDefaultPreferenceStoragePath('preferences.ini'))
コード例 #6
0
def main():
    """
    Main Cura entry point. Parses arguments, and starts GUI or slicing process depending on the arguments.
    """
    from Cura import localization
    from Cura.resources import getDefaultPreferenceStoragePath
    from Cura import preferences
    preferences.loadPreferences(
        getDefaultPreferenceStoragePath('preferences.ini'))
    localization.setup()

    parser = OptionParser(usage="usage: %prog [options] <filename>.stl")

    (options, args) = parser.parse_args()

    from app import CuraFDMApp
    app = CuraFDMApp()
    app.MainLoop()
    app.finished()
    preferences.savePreferences(
        getDefaultPreferenceStoragePath('preferences.ini'))
コード例 #7
0
ファイル: cutApp.py プロジェクト: dotBits/Cura2
    def OnInit(self):
        self._scene = CutScene()
        self._view = CutView3D()
        self._translator = CutTranslator()

        machine_storage = ConfigParser()
        machine_storage.read(getDefaultPreferenceStoragePath('cut_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 = CutMachine()
            machine.loadSettingsFromConfigParser(machine_storage, 'machine_%d' % n)
            self.addMachine(machine)
            n += 1

        if len(self._machine_list) < 1:
            from Cura.machine.cutMachine import CutMachine
            self.addMachine(CutMachine())

        if len(self._machine_list) < 1:
            return False

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

        idx = min(int(getPreference('active_machine', 0)), len(self._machine_list) - 1)
        self.setMachine(self._machine_list[idx])

        return True
コード例 #8
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
コード例 #9
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
コード例 #10
0
 def finished(self):
     self._machine.saveSettings(
         getDefaultPreferenceStoragePath('settings.ini'))
コード例 #11
0
ファイル: app.py プロジェクト: sanyaade-iot/Cura2
 def finished(self):
     self._machine.saveSettings(getDefaultPreferenceStoragePath('settings.ini'))