openCASCADE Engine¶
Using the openCASCADE kernel instead of the built-in geometry kernel. Models can be built using constructive solid geometry, allowing for 2D and 3D polygon boolean operations.
Geometry¶
-
class
pygmsh.occ.geometry.
Geometry
(init_argv=None)¶ Bases:
pygmsh.common.geometry.CommonGeometry
-
add_ball
(*args, mesh_size=None, **kwargs)¶
-
add_box
(*args, mesh_size=None, **kwargs)¶
-
add_cone
(*args, mesh_size=None, **kwargs)¶
-
add_cylinder
(*args, mesh_size=None, **kwargs)¶
-
add_disk
(*args, mesh_size=None, **kwargs)¶
-
add_ellipsoid
(center, radii, mesh_size=None)¶
-
add_rectangle
(*args, mesh_size=None, **kwargs)¶
-
add_torus
(*args, mesh_size=None, **kwargs)¶
-
add_wedge
(*args, mesh_size=None, **kwargs)¶
-
boolean_difference
(d0, d1, delete_first: bool = True, delete_other: bool = True)¶ Boolean difference, see https://gmsh.info/doc/texinfo/gmsh.html#Boolean-operations input_entity and tool_entity are called object and tool in gmsh documentation.
-
boolean_fragments
(d0, d1, delete_first: bool = True, delete_other: bool = True)¶ Boolean fragments, see https://gmsh.info/doc/texinfo/gmsh.html#Boolean-operations input_entity and tool_entity are called object and tool in gmsh documentation.
-
boolean_intersection
(entities, delete_first: bool = True, delete_other: bool = True)¶ Boolean intersection, see https://gmsh.info/doc/texinfo/gmsh.html#Boolean-operations input_entity and tool_entity are called object and tool in gmsh documentation.
-
boolean_union
(entities, delete_first: bool = True, delete_other: bool = True)¶ Boolean union, see https://gmsh.info/doc/texinfo/gmsh.html#Boolean-operations input_entity and tool_entity are called object and tool in gmsh documentation.
-
characteristic_length_max
¶
-
characteristic_length_min
¶
-
force_outward_normals
(tag)¶
-
import_shapes
(filename: str)¶
-
revolve
(*args, **kwargs)¶
-
Ball¶
-
class
pygmsh.occ.ball.
Ball
(center, radius, angle1=-1.5707963267948966, angle2=1.5707963267948966, angle3=6.283185307179586)¶ Bases:
object
Creates a sphere.
Parameters: - center (array-like[3]) – Center of the ball.
- radius (float) – Radius of the ball.
- x0 (float) – If specified and x0 > -1, the ball is cut off at x0*radius parallel to the y-z plane.
- x1 (float) – If specified and x1 < +1, the ball is cut off at x1*radius parallel to the y-z plane.
- alpha (float) – If specified and alpha < 2*pi, the points between alpha and 2*pi w.r.t. to the x-y plane are not part of the object.
- char_length (float) – If specified, sets the Characteristic Length property.
-
dim
= 3¶
Box¶
-
class
pygmsh.occ.box.
Box
(x0, extents, char_length=None)¶ Bases:
object
Creates a box.
Parameters: - x0 (array-like[3]) – List containing the x, y, z values of the start point.
- extends (array-like[3]) – List of the 3 extents of the box edges.
- char_length (float) – Characteristic length of the mesh elements of this polygon.
-
dim
= 3¶
Cone¶
-
class
pygmsh.occ.cone.
Cone
(center, axis, radius0, radius1, angle=6.283185307179586)¶ Bases:
object
Creates a cone.
- center : array-like[3]
- The 3 coordinates of the center of the first circular face.
- axis : array-like[3]
- The 3 components of the vector defining its axis.
- radius0 : float
- Radius of the first circle.
- radius1 : float
- Radius of the second circle.
- angle : float
- Angular opening of the the Cone.
-
dim
= 3¶
Cylinder¶
-
class
pygmsh.occ.cylinder.
Cylinder
(x0, axis, radius, angle=6.283185307179586)¶ Bases:
object
Creates a cylinder.
Parameters: - x0 (array-like[3]) – The 3 coordinates of the center of the first circular face.
- axis (array-like[3]) – The 3 components of the vector defining its axis.
- radius (float) – Radius value of the cylinder.
- angle (float) – Angular opening of the cylinder.
-
dim
= 3¶
Disk¶
-
class
pygmsh.occ.disk.
Disk
(x0: Union[Tuple[float, float], Tuple[float, float, float]], radius0: float, radius1: Optional[float] = None)¶ Bases:
object
Creates a disk.
Parameters: - x0 (array-like[3]) – The 3 coordinates of the center of the disk face.
- radius0 (float) – Radius value of the disk.
- radius1 (float) – Radius along Y, leading to an ellipse.
-
dim
= 2¶
Rectangle¶
-
class
pygmsh.occ.rectangle.
Rectangle
(x0: Tuple[float, float, float], a: float, b: float, corner_radius: Optional[float] = None)¶ Bases:
object
Creates a rectangle.
- x0 : array-like[3]
- The 3 first expressions define the lower-left corner.
- a : float
- Rectangle width.
- b : float
- Rectangle height.
- corner_radius : float
- Defines a radius to round the rectangle corners.
-
dim
= 2¶