def make_2d(mesh, dims): print ">>>>>> make_2d" x,y=dims print "X-dim=%s, Y-dim=%s, Z-dim=%s" % (x,y,1) print "--> make_coords" t0=time.time() coords=utils.make_coords(x,y,1) print " %.1f ms" % ((time.time()-t0)*1000) print "--> createVtx" t0=time.time() verts=mesh.createVtx(coords) print " %.1f ms" % ((time.time()-t0)*1000) print "--> make_quadrilateral_vertex_array" t0=time.time() # vert_arr=utils.make_quadrilateral_vertex_array_orig(verts, x, y) # vert_arr=utils.make_quadrilateral_vertex_array_extend(verts, x) vert_arr=utils.make_quadrilateral_vertex_array(verts, x) print " %.1f ms" % ((time.time()-t0)*1000) print "--> createEntArr quadrilaterals" t0=time.time() quads,status=mesh.createEntArr(iMesh.Topology.quadrilateral,vert_arr) print " %.1f ms" % ((time.time()-t0)*1000) print "--> createEntSet(s)" set=mesh.createEntSet(ordered=False) set.add(quads) utils.print_mesh_types(mesh) print "<<<<<<\n"
def make_3d(mesh, dims, t3d): print ">>>>>> make_3d" x,y,z=dims print "X-dim=%s, Y-dim=%s, Z-dim=%s" % (x,y,z) print "--> make_coords" t0=time.time() coords=utils.make_coords(x,y,z) print " %.1f ms" % ((time.time()-t0)*1000) print "--> createVtx" t0=time.time() verts=mesh.createVtx(coords) print " %.1f ms" % ((time.time()-t0)*1000) print "--> make_hexahedron_vertex_array" t0=time.time() # vert_arr=utils.make_hexahedron_vertex_array_orig(verts, x,y,z) # vert_arr=utils.make_hexahedron_vertex_array_extend(verts, x,y,z) vert_arr=utils.make_hexahedron_vertex_array(verts, x,y,z) print " %.1f ms" % ((time.time()-t0)*1000) print "--> createEntArr hexahedrons" t0=time.time() cubes,status=mesh.createEntArr(iMesh.Topology.hexahedron,vert_arr) print " %.1f ms" % ((time.time()-t0)*1000) print "--> createEntSet(s)" if t3d: set=mesh.createEntSet(ordered=False) set.add(cubes) else: t0=time.time() slice_size=(x-1)*(y-1) # Add a set for the 'top' (5th face) of each 'layer' in the mesh for zi in range(z-1): set=mesh.createEntSet(ordered=False) # The 5th face (index 4) is always the top set.add([x[4] for x in mesh.getEntAdj(cubes[zi*slice_size:(zi+1)*slice_size], iBase.Type.face)]) # Add a final set for the 'bottom' (6th face) of the last 'layer' in the mesh set=mesh.createEntSet(ordered=False) # The 6th face (index 5) is always the top set.add([x[5] for x in mesh.getEntAdj(cubes[(z-1)*slice_size:z*slice_size], iBase.Type.face)]) print " %.1f ms" % ((time.time()-t0)*1000) utils.print_mesh_types(mesh) print "<<<<<<\n"