def cmd_line_merge(argv=None, quiet=False): """command line interface to bdf_merge""" if argv is None: argv = sys.argv from docopt import docopt import pyNastran msg = ( "Usage:\n" ' bdf merge (IN_BDF_FILENAMES)... [-o OUT_BDF_FILENAME]\n' ' bdf merge -h | --help\n' ' bdf merge -v | --version\n' '\n' 'Positional Arguments:\n' ' IN_BDF_FILENAMES path to input BDF/DAT/NAS files\n' '\n' 'Options:\n' ' -o OUT, --output OUT_BDF_FILENAME path to output BDF/DAT/NAS file\n\n' 'Info:\n' ' -h, --help show this help message and exit\n' " -v, --version show program's version number and exit\n") if len(argv) == 1: sys.exit(msg) ver = str(pyNastran.__version__) #type_defaults = { # '--nerrors' : [int, 100], #} data = docopt(msg, version=ver, argv=argv[1:]) if not quiet: # pragma: no cover print(data) size = 16 bdf_filenames = data['IN_BDF_FILENAMES'] bdf_filename_out = data['--output'] if bdf_filename_out is None: bdf_filename_out = 'merged.bdf' #cards_to_skip = [ #'AEFACT', 'CAERO1', 'CAERO2', 'SPLINE1', 'SPLINE2', #'AERO', 'AEROS', 'PAERO1', 'PAERO2', 'MKAERO1'] cards_to_skip = [] bdf_merge(bdf_filenames, bdf_filename_out, renumber=True, encoding=None, size=size, is_double=False, cards_to_skip=cards_to_skip)
def test_merge_01(self): """merges multiple bdfs into a single deck""" log = SimpleLogger(level='error') bdf_filename1 = os.path.join(MODEL_PATH, 'bwb', 'bwb_saero.bdf') bdf_filename2 = os.path.join(MODEL_PATH, 'sol_101_elements', 'static_solid_shell_bar.bdf') bdf_filename3 = os.path.join(MODEL_PATH, 'solid_bending', 'solid_bending.bdf') bdf_filename4 = os.path.join(MODEL_PATH, 'iSat', 'ISat_Dploy_Sm.dat') bdf_filename_out1 = os.path.join(MODEL_PATH, 'bwb', 'BWBsaero_staticbar_8.out') bdf_filename_out2 = os.path.join(MODEL_PATH, 'bwb', 'BWBsaero_static_bar_16.out') bdf_filename_out3 = os.path.join(MODEL_PATH, 'bwb', 'BWBsaero_staticbar_isat.out') bdf_filenames1 = [bdf_filename1, bdf_filename2] bdf_filenames2 = [bdf_filename1, bdf_filename2, bdf_filename3, bdf_filename4] bdf_merge(bdf_filenames1, bdf_filename_out=bdf_filename_out1, renumber=True, encoding=None, size=8, is_double=False, cards_to_skip=None, log=log) bdf_merge(bdf_filenames1, bdf_filename_out=bdf_filename_out2, renumber=False, encoding=None, size=16, is_double=False, cards_to_skip=None, log=log) bdf_merge(bdf_filenames2, bdf_filename_out=bdf_filename_out3, renumber=False, encoding=None, size=16, is_double=False, cards_to_skip=None, log=log) read_bdf(bdf_filename_out1, log=log) read_bdf(bdf_filename_out2, log=log) read_bdf(bdf_filename_out3, log=log)
def cmd_line_merge(): # pragma: no cover """command line interface to bdf_merge""" import sys from docopt import docopt import pyNastran msg = "Usage:\n" msg += " bdf merge (IN_BDF_FILENAMES)... [-o OUT_BDF_FILENAME]\n" #msg += " test_bdf [-q] [-D] [-i] [-e E] [--crash C] [-x] [-p] [-c] [-L] [-d] [-f] [--encoding ENCODE] BDF_FILENAME\n" #msg += " test_bdf [-q] [-D] [-i] [-e E] [--crash C] [-x] [-p] [-c] [-L] [-l] [-f] [--encoding ENCODE] BDF_FILENAME\n" #msg += " test_bdf [-q] [-D] [-i] [-e E] [--crash C] [-p] [-r] [-f] [--encoding ENCODE] BDF_FILENAME\n" #msg += " test_bdf [-q] [-D] [-i] [-e E] [--crash C] [-x] [-p] [-s] [-f] [--encoding ENCODE] BDF_FILENAME\n" #msg += " test_bdf [-q] [-p] [-o [<VAR=VAL>]...] BDF_FILENAME\n" # msg += ' bdf merge -h | --help\n' msg += ' bdf merge -v | --version\n' msg += '\n' msg += "Positional Arguments:\n" msg += " IN_BDF_FILENAMES path to input BDF/DAT/NAS files\n" #msg += " IN_BDF_FILENAME path to input BDF/DAT/NAS file\n" #msg += " OUT_BDF_FILENAME path to output BDF/DAT/NAS file\n" msg += '\n' msg += 'Options:\n' #msg += ' --crash C, Crash on specific cards (e.g. CGEN,EGRID)\n' #msg += ' -q, --quiet prints debug messages (default=False)\n' #msg += ' -x, --xref disables cross-referencing and checks of the BDF.\n' #msg += ' (default=True -> on)\n' #msg += ' -p, --punch disables reading the executive and case control decks in the BDF\n' #msg += ' (default=False -> reads entire deck)\n' #msg += ' -c, --check disables BDF checks. Checks run the methods on \n' #msg += ' every element/property to test them. May fails if a \n' #msg += ' card is fully not supported (default=False)\n' #msg += ' -l, --large writes the BDF in large field, single precision format (default=False)\n' #msg += ' -d, --double writes the BDF in large field, double precision format (default=False)\n' #msg += ' -L, --loads Disables forces/moments summation for the different subcases (default=True)\n' #msg += ' -r, --reject rejects all cards with the appropriate values applied (default=False)\n' #msg += ' -D, --dumplines Writes the BDF exactly as read with the INCLUDES processed (pyNastran_dump.bdf)\n' #msg += ' -i, --dictsort Writes the BDF with exactly as read with the INCLUDES processed (pyNastran_dict.bdf)\n' #msg += ' -f, --profile Profiles the code (default=False)\n' #msg += ' -s, --stop Stop after first read/write (default=False)\n' #msg += ' -e E, --nerrors E Allow for cross-reference errors (default=100)\n' #msg += ' --encoding ENCODE the encoding method\n' #msg += ' -o <VAR_VAL>, --openmdao <VAR_VAL> rejects all cards with the appropriate values applied;\n' #msg += ' Uses the OpenMDAO %var syntax to replace it with value.\n' #msg += ' So test_bdf -r var1=val1 var2=val2\n' msg += " -o OUT, --output OUT_BDF_FILENAME path to output BDF/DAT/NAS file\n\n" msg += 'Info:\n' msg += ' -h, --help show this help message and exit\n' msg += " -v, --version show program's version number and exit\n" if len(sys.argv) == 1: sys.exit(msg) ver = str(pyNastran.__version__) #type_defaults = { # '--nerrors' : [int, 100], #} data = docopt(msg, version=ver) print(data) size = 16 bdf_filenames = data['IN_BDF_FILENAMES'] bdf_filename_out = data['--output'] if bdf_filename_out is None: bdf_filename_out = 'merged.bdf' cards_to_skip = ['AEFACT', 'CAERO1', 'CAERO2', 'SPLINE1', 'SPLINE2', 'AERO', 'AEROS', 'PAERO1', 'PAERO2', 'MKAERO1'] bdf_merge(bdf_filenames, bdf_filename_out, renumber=True, encoding=None, size=size, is_double=False, cards_to_skip=cards_to_skip)
def cmd_line_merge(): # pragma: no cover """command line interface to bdf_merge""" import sys from docopt import docopt import pyNastran msg = "Usage:\n" msg += " bdf merge (IN_BDF_FILENAMES)... [-o OUT_BDF_FILENAME]\n" #msg += " test_bdf [-q] [-D] [-i] [-e E] [--crash C] [-x] [-p] [-c] [-L] [-d] [-f] [--encoding ENCODE] BDF_FILENAME\n" #msg += " test_bdf [-q] [-D] [-i] [-e E] [--crash C] [-x] [-p] [-c] [-L] [-l] [-f] [--encoding ENCODE] BDF_FILENAME\n" #msg += " test_bdf [-q] [-D] [-i] [-e E] [--crash C] [-p] [-r] [-f] [--encoding ENCODE] BDF_FILENAME\n" #msg += " test_bdf [-q] [-D] [-i] [-e E] [--crash C] [-x] [-p] [-s] [-f] [--encoding ENCODE] BDF_FILENAME\n" #msg += " test_bdf [-q] [-p] [-o [<VAR=VAL>]...] BDF_FILENAME\n" # msg += ' bdf merge -h | --help\n' msg += ' bdf merge -v | --version\n' msg += '\n' msg += "Positional Arguments:\n" msg += " IN_BDF_FILENAMES path to input BDF/DAT/NAS files\n" #msg += " IN_BDF_FILENAME path to input BDF/DAT/NAS file\n" #msg += " OUT_BDF_FILENAME path to output BDF/DAT/NAS file\n" msg += '\n' msg += 'Options:\n' #msg += ' --crash C, Crash on specific cards (e.g. CGEN,EGRID)\n' #msg += ' -q, --quiet prints debug messages (default=False)\n' #msg += ' -x, --xref disables cross-referencing and checks of the BDF.\n' #msg += ' (default=True -> on)\n' #msg += ' -p, --punch disables reading the executive and case control decks in the BDF\n' #msg += ' (default=False -> reads entire deck)\n' #msg += ' -c, --check disables BDF checks. Checks run the methods on \n' #msg += ' every element/property to test them. May fails if a \n' #msg += ' card is fully not supported (default=False)\n' #msg += ' -l, --large writes the BDF in large field, single precision format (default=False)\n' #msg += ' -d, --double writes the BDF in large field, double precision format (default=False)\n' #msg += ' -L, --loads Disables forces/moments summation for the different subcases (default=True)\n' #msg += ' -r, --reject rejects all cards with the appropriate values applied (default=False)\n' #msg += ' -D, --dumplines Writes the BDF exactly as read with the INCLUDES processed (pyNastran_dump.bdf)\n' #msg += ' -i, --dictsort Writes the BDF with exactly as read with the INCLUDES processed (pyNastran_dict.bdf)\n' #msg += ' -f, --profile Profiles the code (default=False)\n' #msg += ' -s, --stop Stop after first read/write (default=False)\n' #msg += ' -e E, --nerrors E Allow for cross-reference errors (default=100)\n' #msg += ' --encoding ENCODE the encoding method\n' #msg += ' -o <VAR_VAL>, --openmdao <VAR_VAL> rejects all cards with the appropriate values applied;\n' #msg += ' Uses the OpenMDAO %var syntax to replace it with value.\n' #msg += ' So test_bdf -r var1=val1 var2=val2\n' msg += " -o OUT, --output OUT_BDF_FILENAME path to output BDF/DAT/NAS file\n\n" msg += 'Info:\n' msg += ' -h, --help show this help message and exit\n' msg += " -v, --version show program's version number and exit\n" if len(sys.argv) == 1: sys.exit(msg) ver = str(pyNastran.__version__) #type_defaults = { # '--nerrors' : [int, 100], #} data = docopt(msg, version=ver) print(data) size = 16 bdf_filenames = data['IN_BDF_FILENAMES'] bdf_filename_out = data['--output'] if bdf_filename_out is None: bdf_filename_out = 'merged.bdf' cards_to_skip = [ 'AEFACT', 'CAERO1', 'CAERO2', 'SPLINE1', 'SPLINE2', 'AERO', 'AEROS', 'PAERO1', 'PAERO2', 'MKAERO1' ] bdf_merge(bdf_filenames, bdf_filename_out, renumber=True, encoding=None, size=size, is_double=False, cards_to_skip=cards_to_skip)