def test_nastran_to_cart3d_02(self): log = get_logger(level='warning', encoding='utf-8') lines = ('SOL 101\n' 'CEND\n' 'BEGIN BULK\n' 'GRID,1,,1.0,0.,0.\n' 'GRID,2,,1.0,1.,0.\n' 'GRID,19,,0.0,1.,0.\n' 'CTRIA3,10,100,1,2,19\n' 'PSHELL,100,1000,0.1\n' 'MAT1,1000,3.0e7,,0.3\n' 'ENDDATA\n') bdf_filename = os.path.join(model_path, 'test02.bdf') cart3d_filename = os.path.join(model_path, 'test02.tri') cart3d_filename_out = os.path.join(model_path, 'test02_out.tri') with open(bdf_filename, 'w') as bdf_file: bdf_file.write(lines) nastran_to_cart3d_filename(bdf_filename, cart3d_filename, log=log) model = Cart3D(log=log) model.read_cart3d(cart3d_filename) model.write_cart3d(cart3d_filename_out) test = Cart3dGUI() test.log = log test.model.load_cart3d_geometry(cart3d_filename) os.remove(bdf_filename) os.remove(cart3d_filename) os.remove(cart3d_filename_out)
def test_nastran_to_ugrid_01(self): bdf_filename = os.path.join(MODEL_PATH, 'solid_bending', 'solid_bending.bdf') size = 8 debug = False log = get_logger(log=None, level='warning', encoding='utf-8') model = read_bdf(bdf_filename, log=log, debug=debug) #log = model.log #model.get_element_faces() skin_bdf_filename = os.path.join(MODEL_PATH, 'solid_bending', 'solid_skin.bdf') model.write_skin_solid_faces(skin_bdf_filename, write_solids=True, write_shells=True, size=size, is_double=False, encoding=None) bdf_model = read_bdf(skin_bdf_filename, log=log, debug=debug) ugrid_filename_out = os.path.join(MODEL_PATH, 'solid_bending', 'solid_skin.b8.ugrid') ugrid_filename_out2 = os.path.join(MODEL_PATH, 'solid_bending', 'solid_skin2.b8.ugrid') nastran_to_ugrid(bdf_model, ugrid_filename_out, properties=None, check_shells=True, check_solids=True) ugrid = read_ugrid(ugrid_filename_out, encoding=None, log=log, debug=debug) skin_bdf_filename2 = os.path.join(MODEL_PATH, 'solid_bending', 'solid_skin2.bdf') skin_cart3d_filename = os.path.join(MODEL_PATH, 'solid_bending', 'solid_skin2.tri') skin_cart3d_filename3 = os.path.join(MODEL_PATH, 'solid_bending', 'solid_skin3.tri') skin_stl_filename3 = os.path.join(MODEL_PATH, 'solid_bending', 'solid_skin3.stl') #msg += " format_converter nastran <INPUT> <format2> <OUTPUT> [-o <OP2>] --no_xref\n" #msg += " format_converter <format1> <INPUT> tecplot <OUTPUT> [-r RESTYPE...] [-b] [--block] [-x <X>] [-y <Y>] [-z <Z>] [--scale SCALE]\n" #msg += " format_converter <format1> <INPUT> stl <OUTPUT> [-b] [--scale SCALE]\n" #msg += " format_converter cart3d <INPUT> <format2> <OUTPUT> [-b] [--scale SCALE]\n" #msg += " format_converter <format1> <INPUT> <format2> <OUTPUT> [--scale SCALE]\n" argv = ['format_converter', 'nastran', bdf_filename, 'ugrid', ugrid_filename_out2] with self.assertRaises(RuntimeError): cmd_line_format_converter(argv=argv, quiet=True) #argv = ['format_converter', 'nastran', bdf_filename, 'cart3d', skin_cart3d_filename3] #cmd_line_format_converter(argv=argv) #argv = ['format_converter', 'nastran', bdf_filename, 'stl', skin_stl_filename3] #cmd_line_format_converter(argv=argv) ugrid.write_bdf(skin_bdf_filename2, include_shells=True, include_solids=True, convert_pyram_to_penta=True, encoding=None, size=size, is_double=False) read_bdf(skin_bdf_filename2, log=log, debug=debug) with self.assertRaises(AssertionError): nastran_to_cart3d_filename(skin_bdf_filename2, skin_cart3d_filename) ugrid.write_bdf(skin_bdf_filename2, include_shells=True, include_solids=False, convert_pyram_to_penta=True, encoding=None, size=size, is_double=False) nastran_to_cart3d_filename(skin_bdf_filename2, skin_cart3d_filename) read_cart3d(skin_cart3d_filename, log=log) os.remove(ugrid_filename_out) os.remove(skin_bdf_filename) os.remove(skin_bdf_filename2)
def test_nastran_to_cart3d_01(self): lines = ( 'SOL 101\n' 'CEND\n' 'BEGIN BULK\n' 'GRID,1,,1.0,0.,0.\n' 'GRID,2,,1.0,1.,0.\n' 'GRID,3,,0.0,1.,0.\n' 'CTRIA3,10,100,1,2,3\n' 'PSHELL,100,1000,0.1\n' 'MAT1,1000,3.0e7,,0.3\n' 'ENDDATA\n' ) bdf_filename = os.path.join(model_path, 'test01.bdf') cart3d_filename = os.path.join(model_path, 'test01.tri') cart3d_filename_out = os.path.join(model_path, 'test01_out.tri') with open(bdf_filename, 'w') as f: f.write(lines) nastran_to_cart3d_filename(bdf_filename, cart3d_filename) model = Cart3D() model.read_cart3d(cart3d_filename) model.write_cart3d(cart3d_filename_out) test = Cart3dGUI() test.load_cart3d_geometry(cart3d_filename, dirname=None)
def main(): # pragma: no cover bdf_filename = 'bay.bdf' bc_file = 'bc' bdf_filename2 = 'bay2.bdf' cart3d_filename = 'bay.i.tri' stl_filename = 'bay.stl' #in_format = 'nastran' flip_normals = True volume_bdfname = 'bay.vol.bdf' module = __import__(bc_file) pid_map = module.__dict__['pid_map'] boundary_conditions = module.__dict__['boundary_conditions'] #print(dir(module)) #e = execfile(bc_file, globals(), locals()) #print(globals()) #print(dir(e)) pid_map boundary_conditions assert isinstance(pid_map, dict) assert isinstance(boundary_conditions, dict) get_bcs(bdf_filename, pid_map, boundary_conditions, log=None) #if flip_normals: #bdf = BDF(debug=False) #bdf.read_bdf(bdf_filename, xref=False) #bdf.flip_normals() #bdf.write_bdf(bdf_filename2) #del bdf #else: #bdf_filename2 = bdf_filename if 0: nastran_to_cart3d_filename(bdf_filename, cart3d_filename, log=log) cart3d_to_stl_filename(cart3d_filename, stl_filename, log=log) else: nastran_to_stl_filename(bdf_filename, stl_filename, log=log) stl_to_nastran_filename(stl_filename, bdf_filename2, log=log) print('----------') #nastran_to_cart3d(bdf_filename2, cart3d_filename) #cart3d = Cart3d() #cart3d.read_cart3d(cart3d_filename) stl = STL() stl.read_stl(stl_filename) if flip_normals: stl.flip_normals() stl.project_boundary_layer(stl.nodes, stl.elements, volume_bdfname)
def main(): bdf_filename = 'bay.bdf' bc_file = 'bc' bdf_filename2 = 'bay2.bdf' cart3d_filename = 'bay.i.tri' stl_filename = 'bay.stl' #in_format = 'nastran' flip_normals = True volume_bdfname = 'bay.vol.bdf' module = __import__(bc_file) pid_map = module.__dict__['pid_map'] boundary_conditions = module.__dict__['boundary_conditions'] #print(dir(module)) #e = execfile(bc_file, globals(), locals()) #print(globals()) #print(dir(e)) pid_map boundary_conditions assert isinstance(pid_map, dict) assert isinstance(boundary_conditions, dict) get_bcs(bdf_filename, pid_map, boundary_conditions, log=None) #if flip_normals: #bdf = BDF() #bdf.read_bdf(bdf_filename, xref=False) #bdf.flip_normals() #bdf.write_bdf(bdf_filename2) #del bdf #else: #bdf_filename2 = bdf_filename if 0: nastran_to_cart3d_filename(bdf_filename, cart3d_filename, log=log) cart3d_to_stl_filename(cart3d_filename, stl_filename, log=log) else: nastran_to_stl_filename(bdf_filename, stl_filename, log=log) stl_to_nastran_filename(stl_filename, bdf_filename2, log=log) print("----------") #nastran_to_cart3d(bdf_filename2, cart3d_filename) #cart3d = Cart3dReader() #cart3d.read_cart3d(cart3d_filename) stl = STLReader() stl.read_stl(stl_filename) if flip_normals: stl.flip_normals() stl.project_boundary_layer(stl.nodes, stl.elements, volume_bdfname)
def test_nastran_to_cart3d_02(self): lines = ('SOL 101\n' 'CEND\n' 'BEGIN BULK\n' 'GRID,1,,1.0,0.,0.\n' 'GRID,2,,1.0,1.,0.\n' 'GRID,19,,0.0,1.,0.\n' 'CTRIA3,10,100,1,2,19\n' 'PSHELL,100,1000,0.1\n' 'MAT1,1000,3.0e7,,0.3\n' 'ENDDATA\n') bdf_filename = os.path.join(model_path, 'test02.bdf') cart3d_filename = os.path.join(model_path, 'test02.tri') cart3d_filename_out = os.path.join(model_path, 'test02_out.tri') with open(bdf_filename, 'w') as f: f.write(lines) nastran_to_cart3d_filename(bdf_filename, cart3d_filename) model = Cart3D() model.read_cart3d(cart3d_filename) model.write_cart3d(cart3d_filename_out) test = Cart3dGUI() test.load_cart3d_geometry(cart3d_filename, dirname=None)