示例#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'))