:class:`Face` ============= .. py:class:: ansys.geometry.core.designer.face.Face(id: str, surface_type: SurfaceType, body: ansys.geometry.core.designer.body.Body, grpc_client: ansys.geometry.core.connection.client.GrpcClient, is_reversed: bool = False) Represents a single face of a body within the design assembly. This class synchronizes to a design within a supporting Geometry service instance. :Parameters: **id** : :class:`python:str` Server-defined ID for the body. **surface_type** : :obj:`SurfaceType` Type of surface that the face forms. **body** : :obj:`Body` Parent body that the face constructs. **grpc_client** : :obj:`GrpcClient` Active supporting Geometry service instance for design modeling. .. !! processed by numpydoc !! .. py:currentmodule:: Face Overview -------- .. tab-set:: .. tab-item:: Methods .. list-table:: :header-rows: 0 :widths: auto * - :py:attr:`~normal` - Get the normal direction to the face at certain UV coordinates. * - :py:attr:`~face_normal` - Get the normal direction to the face at certain UV coordinates. * - :py:attr:`~point` - Get a point of the face evaluated at certain UV coordinates. * - :py:attr:`~face_point` - Get a point of the face evaluated at certain UV coordinates. * - :py:attr:`~create_isoparametric_curves` - Create isoparametic curves at the given proportional parameter. .. tab-item:: Properties .. list-table:: :header-rows: 0 :widths: auto * - :py:attr:`~id` - Face ID. * - :py:attr:`~is_reversed` - Flag indicating if the face is reversed. * - :py:attr:`~body` - Body that the face belongs to. * - :py:attr:`~shape` - Underlying trimmed surface of the face. * - :py:attr:`~surface_type` - Surface type of the face. * - :py:attr:`~area` - Calculated area of the face. * - :py:attr:`~edges` - List of all edges of the face. * - :py:attr:`~loops` - List of all loops of the face. Import detail ------------- .. code-block:: python from ansys.geometry.core.designer.face import Face Property detail --------------- .. py:property:: id :type: str Face ID. .. !! processed by numpydoc !! .. py:property:: is_reversed :type: bool Flag indicating if the face is reversed. .. !! processed by numpydoc !! .. py:property:: body :type: ansys.geometry.core.designer.body.Body Body that the face belongs to. .. !! processed by numpydoc !! .. py:property:: shape :type: ansys.geometry.core.shapes.surfaces.trimmed_surface.TrimmedSurface Underlying trimmed surface of the face. If the face is reversed, its shape is a ``ReversedTrimmedSurface`` type, which handles the direction of the normal vector to ensure it is always facing outward. .. !! processed by numpydoc !! .. py:property:: surface_type :type: SurfaceType Surface type of the face. .. !! processed by numpydoc !! .. py:property:: area :type: pint.Quantity Calculated area of the face. .. !! processed by numpydoc !! .. py:property:: edges :type: list[ansys.geometry.core.designer.edge.Edge] List of all edges of the face. .. !! processed by numpydoc !! .. py:property:: loops :type: list[FaceLoop] List of all loops of the face. .. !! processed by numpydoc !! Method detail ------------- .. py:method:: normal(u: float = 0.5, v: float = 0.5) -> ansys.geometry.core.math.vector.UnitVector3D Get the normal direction to the face at certain UV coordinates. :Parameters: **u** : :class:`python:float`, default: 0.5 First coordinate of the 2D representation of a surface in UV space. The default is ``0.5``, which is the center of the surface. **v** : :class:`python:float`, default: 0.5 Second coordinate of the 2D representation of a surface in UV space. The default is ``0.5``, which is the center of the surface. :Returns: :obj:`UnitVector3D` :class:`UnitVector3D` object evaluated at the given U and V coordinates. This :class:`UnitVector3D` object is perpendicular to the surface at the given UV coordinates. .. rubric:: Notes To properly use this method, you must handle UV coordinates. Thus, you must know how these relate to the underlying Geometry service. It is an advanced method for Geometry experts only. .. !! processed by numpydoc !! .. py:method:: face_normal(u: float = 0.5, v: float = 0.5) -> ansys.geometry.core.math.vector.UnitVector3D Get the normal direction to the face at certain UV coordinates. :Parameters: **u** : :class:`python:float`, default: 0.5 First coordinate of the 2D representation of a surface in UV space. The default is ``0.5``, which is the center of the surface. **v** : :class:`python:float`, default: 0.5 Second coordinate of the 2D representation of a surface in UV space. The default is ``0.5``, which is the center of the surface. :Returns: :obj:`UnitVector3D` :class:`UnitVector3D` object evaluated at the given U and V coordinates. This :class:`UnitVector3D` object is perpendicular to the surface at the given UV coordinates. .. rubric:: Notes This method is deprecated. Use the ``normal`` method instead. .. !! processed by numpydoc !! .. py:method:: point(u: float = 0.5, v: float = 0.5) -> ansys.geometry.core.math.point.Point3D Get a point of the face evaluated at certain UV coordinates. :Parameters: **u** : :class:`python:float`, default: 0.5 First coordinate of the 2D representation of a surface in UV space. The default is ``0.5``, which is the center of the surface. **v** : :class:`python:float`, default: 0.5 Second coordinate of the 2D representation of a surface in UV space. The default is ``0.5``, which is the center of the surface. :Returns: :obj:`Point3D` :class:`Point3D` object evaluated at the given UV coordinates. .. rubric:: Notes To properly use this method, you must handle UV coordinates. Thus, you must know how these relate to the underlying Geometry service. It is an advanced method for Geometry experts only. .. !! processed by numpydoc !! .. py:method:: face_point(u: float = 0.5, v: float = 0.5) -> ansys.geometry.core.math.point.Point3D Get a point of the face evaluated at certain UV coordinates. :Parameters: **u** : :class:`python:float`, default: 0.5 First coordinate of the 2D representation of a surface in UV space. The default is ``0.5``, which is the center of the surface. **v** : :class:`python:float`, default: 0.5 Second coordinate of the 2D representation of a surface in UV space. The default is ``0.5``, which is the center of the surface. :Returns: :obj:`Point3D` :class:`Point3D` object evaluated at the given UV coordinates. .. rubric:: Notes This method is deprecated. Use the ``point`` method instead. .. !! processed by numpydoc !! .. py:method:: create_isoparametric_curves(use_u_param: bool, parameter: float) -> list[ansys.geometry.core.shapes.curves.trimmed_curve.TrimmedCurve] Create isoparametic curves at the given proportional parameter. Typically, only one curve is created, but if the face has a hole, it is possible that more than one curve is created. :Parameters: **use_u_param** : :ref:`bool ` Whether the parameter is the ``u`` coordinate or ``v`` coordinate. If ``True``, it is the ``u`` coordinate. If ``False``, it is the ``v`` coordinate. **parameter** : :class:`python:float` Proportional [0-1] parameter to create the one or more curves at. :Returns: :class:`python:list`\[:obj:`TrimmedCurve`] list of curves that were created. .. !! processed by numpydoc !!