예제 #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'))