def load_model_file(self, widget=None, filename=None, store_filename=True): if callable(filename): filename = filename() if not filename: filename = self.settings.get("get_filename_func")( "Loading model ...", mode_load=True, type_filter=FILTER_MODEL) if filename: file_type, importer = pycam.Importers.detect_file_type(filename) if file_type and callable(importer): progress = self.settings.get("progress") progress.update(text="Loading model ...") # "cancel" is not allowed progress.disable_cancel() if self.load_model( importer(filename, program_locations=get_all_program_locations( self.settings), unit=self.settings.get("unit"), fonts_cache=self.settings.get("fonts"), callback=progress.update)): if store_filename: self.set_model_filename(filename) self.add_to_recent_file_list(filename) result = True else: result = False progress.finish() return result else: log.error("Failed to detect filetype!") return False
def load_model_file(self, widget=None, filename=None, store_filename=True): if callable(filename): filename = filename() if not filename: filename = self.settings.get("get_filename_func")("Loading model ...", mode_load=True, type_filter=FILTER_MODEL) if filename: file_type, importer = pycam.Importers.detect_file_type(filename) if file_type and callable(importer): progress = self.settings.get("progress") progress.update(text="Loading model ...") # "cancel" is not allowed progress.disable_cancel() if self.load_model(importer(filename, program_locations=get_all_program_locations(self.settings), unit=self.settings.get("unit"), fonts_cache=self.settings.get("fonts"), callback=progress.update)): if store_filename: self.set_model_filename(filename) self.add_to_recent_file_list(filename) result = True else: result = False progress.finish() return result else: log.error("Failed to detect filetype!") return False
def paste_model_from_clipboard(self, widget=None): data, importer = self._get_data_and_importer_from_clipboard() progress = self.core.get("progress") if data: progress.update(text="Loading model from clipboard") text_buffer = StringIO.StringIO(data.data) model = importer(text_buffer, program_locations=get_all_program_locations(self.core), unit=self.core.get("unit"), fonts_cache=self.core.get("fonts"), callback=progress.update) if model: models = self.core.get("models") self.log.info("Loaded a model from clipboard") models.add_model(model, name_template="Pasted model #%d") else: self.log.warn("Failed to load a model from clipboard") else: self.log.warn("The clipboard does not contain suitable data") progress.finish()
def paste_model_from_clipboard(self, widget=None): data, importer = self._get_data_and_importer_from_clipboard() progress = self.core.get("progress") if data: progress.update(text="Loading model from clipboard") text_buffer = StringIO.StringIO(data.data) model = importer(text_buffer, program_locations=get_all_program_locations( self.core), unit=self.core.get("unit"), fonts_cache=self.core.get("fonts"), callback=progress.update) if model: models = self.core.get("models") self.log.info("Loaded a model from clipboard") models.add_model(model, name_template="Pasted model #%d") else: self.log.warn("Failed to load a model from clipboard") else: self.log.warn("The clipboard does not contain suitable data") progress.finish()