def _run_macro(self, *args): config = self.config filename = getopenfilename( 'Open %s File' % 'Open %s File' % config.macro_extension().upper(), config.directory(), r'%s Macro File (*.%s)' % (config.application_name(), config.macro_extension())) if filename in ('', None): return with open(filename, 'r') as f: data = f.read().split('\n') for data_ in data: if data_[0] == '#': continue data_ = data_[22:] if data_.startswith('Error') or data_.startswith('Info'): continue try: index = data_.index('(') except IndexError: continue command = data_[:index] command_data = literal_eval(data_[index:]) print(command, command_data) self.dispatch((command, command_data))
def _open(self, filename=None): if filename is None or filename == '' or filename is False: config = self.config filename = getopenfilename( 'Open %s File' % config.application_name(), config.directory(), r'%s File (*.%s)' % (config.application_name(), config.file_extension())) if filename in ('', None): return self.dispatch(('File.read', (filename, )))
def _open(self, *args): filename = getopenfilename( caption='Choose Data File', directory='', filter_=r'.txt (*.txt); .csv (*.csv)' ) if filename in ('', None): return Action = Actions.ImportAction action_data = Action.ActionDataCls(filename) action = Action(self.main_data, action_data, self.config) command = Commands.ImportCommand(self, action) self.config.dispatch((action, action_data, command))
def import_model_new(self, filename=None): plugins = Plugins.instance() # FIXME: needs to be done by an action if filename is None or filename == '' or filename is False: filename = getopenfilename(caption='Import Punch Binary File', directory=config.directory(), filter_=r'.pbf File (*.pbf)') if filename in ('', None): return from fem.model import Model main_data = Model.instance() """:type: fem.model.MainData""" main_data.collector.set_filename(filename) plugins.load_collector(main_data.collector) bdf_data = main_data.collector.readers[0].header_data.get_bdf_data() from mrNastran import BdfData # bdf_data = BdfData() # with open(filename, 'rb') as f: # buffer_ = f.read() # bdf_data.read_from_buffer(buffer_, len(buffer_)) ugrid = BdfData.to_vtk(bdf_data) # ugrid = bdf_data.to_vtk() # from fem.gui.vtk_widget.vtk_graphics import VTKGraphics vtk_graphics = self.main_window.vtk_widget.vtk_graphics vtk_graphics.set_ugrid(ugrid) vtk_graphics.set_bdf_data(bdf_data) from fem.model._model import Model main_data = Model.instance() main_data.set_model_name(filename)
def import_model(self, filename=None): # FIXME: needs to be done by an action if filename is None or filename == '' or filename is False: filename = getopenfilename(caption='Import BDF Model', directory=config.directory(), filter_=r'BDF File (*.bdf)') if filename in ('', None): return model = self.main_window.get_model() model.import_bdf(filename) h5n = model.h5n ugrid = model.ugrid # from fem.gui.vtk_widget.vtk_graphics import VTKGraphics vtk_graphics = self.main_window.vtk_widget.vtk_graphics vtk_graphics.set_ugrid(ugrid) vtk_graphics.set_bdf_data(None) model.set_model_name(filename)