def test_stl_to_nastran_01(self): stl_filename = os.path.join(test_path, 'sphere.stl') bdf_filename_8 = os.path.join(test_path, 'sphere_8.bdf') bdf_filename_16 = os.path.join(test_path, 'sphere_16.bdf') bdf_filename_double = os.path.join(test_path, 'sphere_double.bdf') stl_to_nastran_filename(stl_filename, bdf_filename_8) stl_to_nastran(stl_filename, bdf_filename_16, size=16) stl_to_nastran(stl_filename, bdf_filename_double, size=16, is_double=True) os.remove(bdf_filename_8) os.remove(bdf_filename_16) os.remove(bdf_filename_double)
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_stl_to_nastran_01(self): log = get_logger(level='warning') stl_filename = os.path.join(TEST_PATH, 'sphere.stl') bdf_filename_8 = os.path.join(TEST_PATH, 'sphere_8.bdf') bdf_filename_16 = os.path.join(TEST_PATH, 'sphere_16.bdf') bdf_filename_double = os.path.join(TEST_PATH, 'sphere_double.bdf') stl_to_nastran_filename(stl_filename, bdf_filename_8, log=log) stl_to_nastran(stl_filename, bdf_filename_16, size=16, log=log) stl_to_nastran(stl_filename, bdf_filename_double, size=16, is_double=True, log=log) os.remove(bdf_filename_8) os.remove(bdf_filename_16) os.remove(bdf_filename_double)
def test_stl_to_nastran_01(self): stl_filename = os.path.join(test_path, 'sphere.stl') bdf_filename_8 = os.path.join(test_path, 'sphere_8.bdf') bdf_filename_16 = os.path.join(test_path, 'sphere_16.bdf') bdf_filename_double = os.path.join(test_path, 'sphere_double.bdf') stl_to_nastran_filename(stl_filename, bdf_filename_8) stl_to_nastran(stl_filename, bdf_filename_16, size=16) stl_to_nastran(stl_filename, bdf_filename_double, size=16, is_double=True) os.remove(bdf_filename_8) os.remove(bdf_filename_16) os.remove(bdf_filename_double)
def process_stl(stl_filename, fmt2, fname2, data=None): """ Converts STL to Nastran/Cart3d """ assert fmt2 in ['stl', 'nastran', 'cart3d'], 'format2=%s' % fmt2 if '*' in stl_filename: stl_filenames = glob.glob(stl_filename) else: stl_filenames = [stl_filename] assert len(stl_filenames) > 0, stl_filenames model = merge_stl_files(stl_filenames, stl_out_filename=None) scale = data['--scale'] if scale is not None: assert isinstance(scale, float), 'scale=%r type=%r' % (scale, type(scale)) model.nodes *= scale # model = STL() # model.read_stl(stl_filename) if fmt2 == 'nastran': stl_temp_filename = '__temp__.stl' model.write_stl(stl_out_filename, is_binary=True, #float_fmt='%6.12f', stop_on_failure=False) stl_to_nastran_filename(stl_temp_filename, fname2) os.remove(stl_temp_filename) # stl_to_cart3d(model, fname2 + '.cart') # process_cart3d(fname2 + '.cart', 'nastran', fname2) # stl_to_nastran(model, fname2) #elif fmt2 == 'cart3d': # we don't have an STL -> Cart3d, so we: # - STL -> BDF # - BDF -> Cart3D # stl_to_cart3d(model, fname2) #stl_to_nastran_filename(stl_filename, fname2 + '.bdf') #stl_to_cart3d_filename(fname2 + '.bdf', fname2) elif fmt2 == 'stl': is_binary = data['--binary'] model.write_stl(fname2, is_binary=is_binary, float_fmt='%6.12f', stop_on_failure=False) # elif fmt2 == 'tecplot': # stl_to_tecplot(model, fname2) # elif fmt2 == 'ugrid': # stl_to_ugrid(model, fname2) else: raise NotImplementedError(fmt2)
def process_stl(stl_filename, fmt2, fname2, data=None): """ Converts STL to Nastran/Cart3d """ assert fmt2 in ['stl', 'nastran', 'cart3d'], 'format2=%s' % fmt2 if '*' in stl_filename: stl_filenames = glob.glob(stl_filename) else: stl_filenames = [stl_filename] assert len(stl_filenames) > 0, stl_filenames model = merge_stl_files(stl_filenames, stl_out_filename=None) # model = STL() # model.read_stl(stl_filename) if fmt2 == 'nastran': stl_to_nastran_filename(stl_filename, fname2) # stl_to_cart3d(model, fname2 + '.cart') # process_cart3d(fname2 + '.cart', 'nastran', fname2) # stl_to_nastran(model, fname2) elif fmt2 == 'cart3d': # stl_to_cart3d(model, fname2) stl_to_nastran_filename(stl_filename, fname2 + '.bdf') stl_to_nastran_filename(fname2 + '.bdf', fname2) elif fmt2 == 'stl': is_binary = data['--binary'] model.write_stl(fname2, is_binary=is_binary, float_fmt='%6.12f') # elif fmt2 == 'tecplot': # stl_to_tecplot(model, fname2) # elif fmt2 == 'ugrid': # stl_to_ugrid(model, fname2) else: raise NotImplementedError(fmt2)
def test_stl_to_nastran_01(self): log = get_logger(level='warning') stl_filename = os.path.join(TEST_PATH, 'sphere.stl') bdf_filename_8 = os.path.join(TEST_PATH, 'sphere_8.bdf') bdf_filename_8b = os.path.join(TEST_PATH, 'sphere_8b.bdf') bdf_filename_16 = os.path.join(TEST_PATH, 'sphere_16.bdf') bdf_filename_double = os.path.join(TEST_PATH, 'sphere_double.bdf') stl_to_nastran_filename(stl_filename, bdf_filename_8, log=log) stl_to_nastran(stl_filename, bdf_filename_16, size=16, log=log) stl_to_nastran(stl_filename, bdf_filename_double, size=16, is_double=True, log=log) argv = [ 'format_converter', 'stl', stl_filename, 'nastran', bdf_filename_8b ] cmd_line_format_converter(argv=argv, quiet=True) os.remove(bdf_filename_8) os.remove(bdf_filename_8b) os.remove(bdf_filename_16) os.remove(bdf_filename_double)
def test_stl_to_nastran_01(self): stl_filename = os.path.join(test_path, 'sphere.stl') bdf_filename = os.path.join(test_path, 'sphere.bdf') stl_to_nastran_filename(stl_filename, bdf_filename) os.remove(bdf_filename)