def main(): parser = ArgumentParser(description=__doc__) parser.add_argument('--version', action='version', version = "%(prog)s") parser.add_argument('-o', metavar = 'filename', action = "store", dest = "output_filename", default = 'out.vtk', help = help['filename']) parser.add_argument('-f', '--format', metavar='format', action='store', type=str, dest='format', default=None, help=help['format']) parser.add_argument("-a", "--axis", metavar = 'axis', action = "store", dest = "axis", default = 'x', help = help['axis']) parser.add_argument("-d", "--dims", metavar = 'dims', action = "store", dest = "dims", default = '[1.0, 1.0, 2.0, 2.0, 3.0]', help = help['dims']) parser.add_argument("-s", "--shape", metavar = 'shape', action = "store", dest = "shape", default = '[11, 11, 11]', help = help['shape']) parser.add_argument("-c", "--centre", metavar = 'centre', action = "store", dest = "centre", default = '[0.0, 0.0, 0.0]', help = help['centre']) parser.add_argument("--force-hollow", action = "store_true", dest = "force_hollow", default = False, help = help['force_hollow']) parser.add_argument("--is-open", action = "store_true", dest = "is_open", default = False, help = help['is_open']) parser.add_argument("--open-angle", metavar = 'angle', type=float, action = "store", dest = "open_angle", default = '0.0', help = help['open_angle']) parser.add_argument("--non-uniform", action = "store_true", dest = "non_uniform", default = False, help = help['non_uniform']) options = parser.parse_args() import numpy as nm dims = eval("nm.array(%s, dtype = nm.float64)" % options.dims) shape = eval("nm.array(%s, dtype = nm.int32)" % options.shape) centre = eval("nm.array(%s, dtype = nm.float64)" % options.centre) print(dims) print(shape) print(centre) mesh = gen_cylinder_mesh(dims, shape, centre, axis=options.axis, force_hollow=options.force_hollow, is_open=options.is_open, open_angle=options.open_angle, non_uniform=options.non_uniform, name=options.output_filename) io = MeshIO.for_format(options.output_filename, format=options.format, writable=True) mesh.write(options.output_filename, io=io)
def main(): parser = ArgumentParser(description=__doc__) parser.add_argument('--version', action='version', version = "%(prog)s") parser.add_argument('-o', metavar = 'filename', action = "store", dest = "output_filename", default = 'out.vtk', help = helps['filename']) parser.add_argument('-f', '--format', metavar='format', action='store', type=str, dest='format', default=None, help=helps['format']) parser.add_argument("-a", "--axis", metavar = 'axis', action = "store", dest = "axis", default = 'x', help = helps['axis']) parser.add_argument("-d", "--dims", metavar = 'dims', action = "store", dest = "dims", default = '[1.0, 1.0, 2.0, 2.0, 3.0]', help = helps['dims']) parser.add_argument("-s", "--shape", metavar = 'shape', action = "store", dest = "shape", default = '[11, 11, 11]', help = helps['shape']) parser.add_argument("-c", "--centre", metavar = 'centre', action = "store", dest = "centre", default = '[0.0, 0.0, 0.0]', help = helps['centre']) parser.add_argument("--force-hollow", action = "store_true", dest = "force_hollow", default = False, help = helps['force_hollow']) parser.add_argument("--is-open", action = "store_true", dest = "is_open", default = False, help = helps['is_open']) parser.add_argument("--open-angle", metavar = 'angle', type=float, action = "store", dest = "open_angle", default = '0.0', help = helps['open_angle']) parser.add_argument("--non-uniform", action = "store_true", dest = "non_uniform", default = False, help = helps['non_uniform']) options = parser.parse_args() import numpy as nm dims = eval("nm.array(%s, dtype = nm.float64)" % options.dims) shape = eval("nm.array(%s, dtype = nm.int32)" % options.shape) centre = eval("nm.array(%s, dtype = nm.float64)" % options.centre) print(dims) print(shape) print(centre) mesh = gen_cylinder_mesh(dims, shape, centre, axis=options.axis, force_hollow=options.force_hollow, is_open=options.is_open, open_angle=options.open_angle, non_uniform=options.non_uniform, name=options.output_filename) io = MeshIO.for_format(options.output_filename, format=options.format, writable=True) mesh.write(options.output_filename, io=io)
def test_gen_cylinder_mesh(self): from sfepy.mesh.mesh_generators import gen_cylinder_mesh mesh = gen_cylinder_mesh([0.5, 1, 2, 1.5, 3], [5, 4, 3], [0, 2, 1], axis='z', non_uniform=True, verbose=False) filename = op.join(self.options.out_dir, 'gen_cylinger.mesh') mesh.write(filename) self.report('cylinder mesh generated') return True
def test_gen_cylinder_mesh(self): from sfepy.mesh.mesh_generators import gen_cylinder_mesh mesh = gen_cylinder_mesh([0.5, 1, 2, 1.5, 3], [5, 4, 3], [0, 2, 1], axis='z', non_uniform=True, verbose=False) filename = op.join(self.options.out_dir, 'gen_cylinder.mesh') mesh.write(filename) self.report('cylinder mesh generated') csum = nm.sum(mesh.coors - nm.min(mesh.coors, axis=0), axis=0) return nm.linalg.norm(csum - nm.array([120, 90, 90])) < tolerance
def main(): parser = ArgumentParser(description=__doc__) parser.add_argument('--version', action='version', version="%(prog)s") parser.add_argument('-o', metavar='filename', action="store", dest="output_filename", default='out.vtk', help=helps['filename']) parser.add_argument('-f', '--format', metavar='format', action='store', type=str, dest='format', default=None, help=helps['format']) parser.add_argument("-a", "--axis", metavar='axis', action="store", dest="axis", default='x', help=helps['axis']) parser.add_argument("-d", "--dims", metavar='dims', action="store", dest="dims", default='[1.0, 1.0, 2.0, 2.0, 3.0]', help=helps['dims']) parser.add_argument("-s", "--shape", metavar='shape', action="store", dest="shape", default='[11, 11, 11]', help=helps['shape']) parser.add_argument("-c", "--centre", metavar='centre', action="store", dest="centre", default='[0.0, 0.0, 0.0]', help=helps['centre']) parser.add_argument("--force-hollow", action="store_true", dest="force_hollow", default=False, help=helps['force_hollow']) parser.add_argument("--is-open", action="store_true", dest="is_open", default=False, help=helps['is_open']) parser.add_argument("--open-angle", metavar='angle', type=float, action="store", dest="open_angle", default='0.0', help=helps['open_angle']) parser.add_argument("--non-uniform", action="store_true", dest="non_uniform", default=False, help=helps['non_uniform']) options = parser.parse_args() dims = nm.array(eval(options.dims), dtype=nm.float64) shape = nm.array(eval(options.shape), dtype=nm.int32) centre = nm.array(eval(options.centre), dtype=nm.float64) output.prefix = 'cylindergen:' output('dimensions:', dims) output('shape:', shape) output('centre:', centre) output('output file:', options.output_filename) check_format_suffix(options.format, op.splitext(options.output_filename)[1][1:]) mesh = gen_cylinder_mesh(dims, shape, centre, axis=options.axis, force_hollow=options.force_hollow, is_open=options.is_open, open_angle=options.open_angle, non_uniform=options.non_uniform, name=options.output_filename) io = MeshIO.any_from_filename(options.output_filename, file_format=options.format, mode='w') mesh.write(options.output_filename, io=io)