From FreeCAD Documentation
					 
					
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 Workbench 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()
 addFacet(Facet)
 addFacet(Facet)
Description: Adds a facet to the mesh
Returns:  
 
 
 addFacets(list)
 addFacets(list)
Description: Adds a list of facets to the mesh
Returns:  
 
 
 addMesh(Mesh)
 addMesh(Mesh)
Description: Combines this mesh with another mesh.
Returns:  
 
 
 clear( )
 clear( )
Description: Clears the mesh
Returns:  
 
 
 coarsen( )
 coarsen( )
Description: Coarsens the mesh
Returns:  
 
 
 collapseEdge(Edge)
 collapseEdge(Edge)
Description: Removes an edge and both facets that share this edge
Returns:  
 
 
 collapseFacet(Facet)
 collapseFacet(Facet)
Description: Removes a facet
Returns:  
 
 
 collapseFacets(list)
 collapseFacets(list)
Description: Removes a list of facets
Returns:  
 
 
 copy( )
 copy( )
Description: Creates a copy of this mesh
Returns: a Mesh object
 
 
 countComponents( )
 countComponents( )
Description: Get the number of topological independent areas
Returns: an integer
 
 
 countNonUniformOrientedFacets( )
 countNonUniformOrientedFacets( )
Description: Get the number of wrong oriented facets
Returns: an integer
 
 
 countSegments( )
 countSegments( )
Description: Get the number of segments which may also be 0
Returns: an integer
 
 
 crossSections( )
 crossSections( )
Description: Get cross-sections of the mesh through several planes
Returns:  
 
 
 difference(Mesh)
 difference(Mesh)
Description: Difference of this and the given mesh object.
Returns:  
 
 
 fillupHoles( )
 fillupHoles( )
Description: Fillup holes
Returns:  
 
 
 fixDeformations( )
 fixDeformations( )
Description: Repair deformed facets
Returns:  
 
 
 fixDegenerations( )
 fixDegenerations( )
Description: Remove degenerated facets
Returns:  
 
 
 fixIndices( )
 fixIndices( )
Description: Repair any invalid indices
Returns:  
 
 
 fixSelfIntersections( )
 fixSelfIntersections( )
Description: Repair self-intersections
Returns:  
 
 
 flipNormals( )
 flipNormals( )
Description: Flip the mesh normals
Returns:  
 
 
 foraminate( )
 foraminate( )
Description: Get a list of facet indices and intersection points
Returns:  
 
 
 getPlanes( )
 getPlanes( )
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:  
 
 
 getSegment(integer)
 getSegment(integer)
Description: Get a list of facet indices that describes a segment
Returns:  
 
 
 getSeparateComponents( )
 getSeparateComponents( )
Description: Returns a list containing the different components (separated areas) of the mesh as separate meshes
Returns: a list
 
 
 harmonizeNormals( )
 harmonizeNormals( )
Description: Adjust wrong oriented facets
Returns:  
 
 
 hasNonManifolds( )
 hasNonManifolds( )
Description: Check if the mesh has non-manifolds
Returns: a boolean
 
 
 hasNonUniformOrientedFacets( )
 hasNonUniformOrientedFacets( )
Description: Checks if the mesh has facets with inconsistent orientation
Returns:  
 
 
 hasSelfIntersections( )
 hasSelfIntersections( )
Description: Check if the mesh intersects itself
Returns:  
 
 
 inner( )
 inner( )
Description: Get the part inside of the intersection
Returns:  
 
 
 insertVertex(Vertex)
 insertVertex(Vertex)
Description: Inserts a vertex into a facet
Returns:  
 
 
 intersect(Mesh)
 intersect(Mesh)
Description: Intersection of this and the given mesh object.
Returns:  
 
 
 isSolid( )
 isSolid( )
Description: Check if the mesh is a solid
Returns:  
 
 
 meshFromSegment( )
 meshFromSegment( )
Description: Create a mesh from segment
Returns:  
 
 
 nearestFacetOnRay(tuple, tuple)
 nearestFacetOnRay(tuple, tuple)
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
 
 
 offset(float)
 offset(float)
Description: Move the point along their normals
Returns:  
 
 
 offsetSpecial(float)
 offsetSpecial(float)
Description: Move the point along their normals
Returns:  
 
 
 optimizeEdges( )
 optimizeEdges( )
Description: Optimize the edges to get nicer facets
Returns:  
 
 
 optimizeTopology( )
 optimizeTopology( )
Description: Optimize the edges to get nicer facets
Returns:  
 
 
 outer( )
 outer( )
Description: Get the part outside the intersection
Returns:  
 
 
 printInfo( )
 printInfo( )
Description: Get detailed information about the mesh
Returns:  
 
 
 read( )
 read( )
Description: Read in a mesh object from file.
Returns:  
 
 
 refine( )
 refine( )
Description: Refine the mesh
Returns:  
 
 
 removeComponents(integer)
 removeComponents(integer)
Description: Remove components with less or equal to number of given facets
Returns:  
 
 
 removeDuplicatedFacets( )
 removeDuplicatedFacets( )
Description: Remove duplicated facets
Returns:  
 
 
 removeDuplicatedPoints( )
 removeDuplicatedPoints( )
Description: Remove duplicated points
Returns:  
 
 
 removeFacets(list)
 removeFacets(list)
Description: Remove a list of facet indices from the mesh
Returns:  
 
 
 removeFoldsOnSurface( )
 removeFoldsOnSurface( )
Description: Remove folds on surfaces
Returns:  
 
 
 removeNonManifolds( )
 removeNonManifolds( )
Description: Remove non-manifolds
Returns:  
 
 
 rotate( )
 rotate( )
Description: Apply a rotation to the mesh
Returns:  
 
 
 setPoint(int, Vector)
 setPoint(int, Vector)
Description: Sets the point at index.
Returns:  
 
 
 smooth( )
 smooth( )
Description: Smooth the mesh
Returns:  
 
 
 snapVertex( )
 snapVertex( )
Description: Insert a new facet at the border
Returns:  
 
 
 splitEdge( )
 splitEdge( )
Description: Split edge
Returns:  
 
 
 splitEdges( )
 splitEdges( )
Description: Split all edges
Returns:  
 
 
 splitFacet( )
 splitFacet( )
Description: Split facet
Returns:  
 
 
 swapEdge( )
 swapEdge( )
Description: Swap the common edge with the neighbor
Returns:  
 
 
 transform( )
 transform( )
Description: Apply a transformation to the mesh
Returns:  
 
 
 transformToEigen( )
 transformToEigen( )
Description: Transform the mesh to its eigenbase
Returns:  
 
 
 translate(Vector)
 translate(Vector)
Description: Apply a translation to the mesh
Returns:  
 
 
 unite(Mesh)
 unite(Mesh)
Description: Union of this and the given mesh object.
Returns:  
 
 
 write(string)
 write(string)
Description: Write the mesh object into file.
Returns:  
 
 
 writeInventor( )
 writeInventor( )
Description: Write the mesh in OpenInventor format to a string.
Returns: a string
 
 
 Area
 Area
Returns: the area of the mesh object.
 
 
 CountEdges
 CountEdges
Returns: the number of vertices of the mesh object.
 
 
 CountFacets
 CountFacets
Returns: the number of facets of the mesh object.
 
 
 CountPoints
 CountPoints
Returns: the number of points of the mesh object.
 
 
 Facets
 Facets
Returns: A collection of facets; With this attribute it is possible to get access to the facets of the mesh: for f in mesh.Facets: print f. Facet.Points is a list of coordinate-tupels for the vertices. Facet.PointIndices is a list of indice for the vertices of the facet. WARNING! store Facets in a local variable as it is generated on the fly, each time it is accessed.
 
 
 Points
 Points
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,p.Index.WARNING! store Points in a local variable as it is generated on the fly, each time it is accessed.
 
 
 Topology
 Topology
Returns: the points and face indices as tuple. Topology[0] is a list of all vertices. Each being a tuple of 3 coordinates. Topology[1] is a list of all polygons. Each being a list of vertex indice into Topology[0] WARNING! store Topology in a local variable as it is generated on the fly, each time it is accessed.
 
 
 Volume
 Volume
Returns: the volume of the mesh object.
 
 
 BoundBox
 BoundBox
Returns: the BoundBox of the object
 
 
 Matrix
 Matrix
Returns: the current transformation of the object as matrix
 
 
 Placement
 Placement
Returns: the current transformation of the object as placement
 
 
     User documentation
 User documentation
        
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Material, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework