# run with ./pyfem test_python_interface.py import mesh driver = mesh.driver() driver.step(100) ### create box box = mesh.box(coords=[[0.0,0.0],[2.0,1.0]],outer_box=[[-5.0,-5.0],[5.0,5.0]],shifting=[-3.0,-3.0]) box2 = box+[2.0,0.0] # shifts the box box4 = box+box2 # create a new object which is a sum of objects box4.set_shift([0.0,1.5]) # set shift to use in multiplication (repetition) box3 = box4*3 # repeat the box4 three times # mesh in files box3.mesh_it(visual=True, driver=driver,save=["holes.ps","/tmp/holes.vtk"])
import mesh import Numeric pi = Numeric.pi vertical = mesh.box(coords=[[0.0, 0.0], [1.0, 5.0]], outer_box=[[-5.0, -5.0], [5.0, 5.0]], rod_length=0.1) horizontal = vertical.copy() horizontal.rotate(0, 1, pi / 4.0, bc=True) cross = vertical.unite(horizontal) circle = mesh.ellipsoid(length=[1.0, 1.0], shifting=[-2.0, -1.0]) compound = circle + cross cone = mesh.conical(coords1=[0.0, 0.0], rad1=2.0, coords2=[2.0, 0.0], rad2=1.0, shifting=[3.0, -3.0]) hole = mesh.ellipsoid(length=[1.0, 3.0], shifting=[2.0, -1.0], outer_box=[[-5.0, -5.0], [5.0, 5.0]]) hole.rotate(1, 0, 3 / 4.0 * pi) diff = cone - hole compound += diff stick = mesh.box(coords=[[0.0, 0.0], [1.0, 5.0]], shifting=[3.0, -2.0]) stick.rotate(1, 0, pi / 4.0) hole.intersect(stick) compound += hole compound.mesh_it(visual=True)