Mesh API: Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 17: | Line 17: | ||
{{APIFunction|collapseFacets|list|Removes a list of facets| }} |
{{APIFunction|collapseFacets|list|Removes a list of facets| }} |
||
{{APIFunction|copy| |Creates a copy of this mesh|a Mesh object}} |
{{APIFunction|copy| |Creates a copy of this mesh|a Mesh object}} |
||
{{APIFunction|countComponents| |Get the number of |
{{APIFunction|countComponents| |Get the number of topological independent areas|an integer}} |
||
{{APIFunction|countNonUniformOrientedFacets| |Get the number of wrong oriented facets|an integer}} |
{{APIFunction|countNonUniformOrientedFacets| |Get the number of wrong oriented facets|an integer}} |
||
{{APIFunction|countSegments| |Get the number of segments which may also be 0|an integer}} |
{{APIFunction|countSegments| |Get the number of segments which may also be 0|an integer}} |
||
Line 29: | Line 29: | ||
{{APIFunction|flipNormals| |Flip the mesh normals| }} |
{{APIFunction|flipNormals| |Flip the mesh normals| }} |
||
{{APIFunction|foraminate| |Get a list of facet indices and intersection points| }} |
{{APIFunction|foraminate| |Get a list of facet indices and intersection points| }} |
||
{{APIFunction|getPlanes| |Get all planes of the mesh as segment. In the worst case each triangle can be regarded as single plane if none of its |
{{APIFunction|getPlanes| |Get all planes of the mesh as segment. In the worst case each triangle can be regarded as single plane if none of its neighbors is coplanar.| }} |
||
{{APIFunction|getSegment|integer|Get a list of facet indices that describes a segment| }} |
{{APIFunction|getSegment|integer|Get a list of facet indices that describes a segment| }} |
||
{{APIFunction|getSeparateComponents| |Returns a list containing the different components (separated areas) of the mesh as separate meshes|a list}} |
{{APIFunction|getSeparateComponents| |Returns a list containing the different components (separated areas) of the mesh as separate meshes|a list}} |
||
Line 41: | Line 41: | ||
{{APIFunction|isSolid| |Check if the mesh is a solid| }} |
{{APIFunction|isSolid| |Check if the mesh is a solid| }} |
||
{{APIFunction|meshFromSegment| |Create a mesh from segment| }} |
{{APIFunction|meshFromSegment| |Create a mesh from segment| }} |
||
{{APIFunction|nearestFacetOnRay|tuple, tuple|Get the index and intersection point of the nearest facet to a ray. The first parameter is a tuple of three floats the base point of the ray, the second parameter is ut uple of three floats for the direction. The result is a dictionary with an index and the intersection point or an empty dictionary if there is no intersection.|a |
{{APIFunction|nearestFacetOnRay|tuple, tuple|Get the index and intersection point of the nearest facet to a ray. The first parameter is a tuple of three floats the base point of the ray, the second parameter is ut uple of three floats for the direction. The result is a dictionary with an index and the intersection point or an empty dictionary if there is no intersection.|a dictionary}} |
||
{{APIFunction|offset|float|Move the point along their normals| }} |
{{APIFunction|offset|float|Move the point along their normals| }} |
||
{{APIFunction|offsetSpecial|float|Move the point along their normals| }} |
{{APIFunction|offsetSpecial|float|Move the point along their normals| }} |
||
Line 63: | Line 63: | ||
{{APIFunction|splitEdges| |Split all edges| }} |
{{APIFunction|splitEdges| |Split all edges| }} |
||
{{APIFunction|splitFacet| |Split facet| }} |
{{APIFunction|splitFacet| |Split facet| }} |
||
{{APIFunction|swapEdge| |Swap the common edge with the |
{{APIFunction|swapEdge| |Swap the common edge with the neighbor| }} |
||
{{APIFunction|transform| |Apply a transformation to the mesh| }} |
{{APIFunction|transform| |Apply a transformation to the mesh| }} |
||
{{APIFunction|transformToEigen| |Transform the mesh to its eigenbase| }} |
{{APIFunction|transformToEigen| |Transform the mesh to its eigenbase| }} |
Revision as of 06:55, 14 January 2013
The Mesh objects can be manipulated by adding new facets, deleting facets, importing from an STL file, transforming the mesh and much more. For a complete overview of what can be done see also the Mesh Module documentation. A mesh object cannot be added to an existing document directly. Therefore the document must create an object with a property class that supports meshes. Example:
m = Mesh.Mesh() ... # Manipulate the mesh d = FreeCAD.activeDocument() # Get a reference to the actie document f = d.addObject("Mesh::Feature", "Mesh") # Create a mesh feature f.Mesh = m # Assign the mesh object to the internal property d.recompute()
Description: Get the number of wrong oriented facets
Returns: an integer
Description: Get all planes of the mesh as segment. In the worst case each triangle can be regarded as single plane if none of its neighbors is coplanar.
Returns:
Description: Returns a list containing the different components (separated areas) of the mesh as separate meshes
Returns: a list
Description: Checks if the mesh has facets with inconsistent orientation
Returns:
Description: Get the index and intersection point of the nearest facet to a ray. The first parameter is a tuple of three floats the base point of the ray, the second parameter is ut uple of three floats for the direction. The result is a dictionary with an index and the intersection point or an empty dictionary if there is no intersection.
Returns: a dictionary
Description: Remove components with less or equal to number of given facets
Returns:
Returns: A collection of facets; With this attribute it is possible to get access to the facets of the mesh: for p in mesh.Facets: print p
Returns: A collection of the mesh points; With this attribute it is possible to get access to the points of the mesh: for p in mesh.Points: print p.x, p.y, p.z