Mesh TrimByPlane/en: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(2 intermediate revisions by the same user not shown)
Line 23: Line 23:
==Usage==
==Usage==


# Select a single mesh object and a single [[Part_Primitives|Part plane]]. The (extended) plane should intersect the mesh object.
# Select a single mesh object and a single [[Part_Plane|Part plane]]. The (extended) plane should intersect the mesh object.
# There are several ways to invoke the command:
# There are several ways to invoke the command:
#* Press the {{Button|[[Image:Mesh_TrimByPlane.svg|16px]] [[Mesh_TrimByPlane|Mesh TrimByPlane]]}} button.
#* Press the {{Button|[[Image:Mesh_TrimByPlane.svg|16px]] [[Mesh_TrimByPlane|Trim mesh with a plane]]}} button.
#* Select the {{MenuCommand|Meshes → Cutting → [[Image:Mesh_TrimByPlane.svg|16px]] Trim mesh with a plane}} option from the menu.
#* Select the {{MenuCommand|Meshes → Cutting → [[Image:Mesh_TrimByPlane.svg|16px]] Trim mesh with a plane}} option from the menu.
# The {{MenuCommand|Trim by plane}} dialog box opens.
# The {{MenuCommand|Trim by plane}} dialog box opens.
Line 32: Line 32:
#* {{button|Above}}
#* {{button|Above}}
#* {{button|Split}}: removes the faces and parts of faces above the plane, and creates a new mesh object containing them.
#* {{button|Split}}: removes the faces and parts of faces above the plane, and creates a new mesh object containing them.

==Scripting==

See also: [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].

To trim a mesh with a plane use its {{incode|trimByPlane}} method.

{{Code|code=
import FreeCAD as App
import Mesh

# Create a non-parametric box-shaped mesh:
msh = App.ActiveDocument.addObject("Mesh::Feature", "Mesh")
msh.Mesh = Mesh.createBox(30, 40, 50)
msh.ViewObject.DisplayMode = "Flat Lines"

# Define a plane by a base point and a normal vector:
pnt = App.Vector(25, 0, 0)
nor = App.Vector(0, 0, 1)

# We need to work on a copy of the msh.Mesh object:
new_msh = msh.Mesh.copy()

# Trim that copy:
new_msh.trimByPlane(pnt, nor)

# Update msh.Mesh:
msh.Mesh = new_msh
}}




Line 45: Line 74:
{{Mesh Tools navi{{#translation:}}}}
{{Mesh Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 13:16, 26 November 2023

Mesh TrimByPlane

Menu location
Meshes → Cutting → Trim mesh with a plane
Workbenches
Mesh
Default shortcut
None
Introduced in version
-
See also
Mesh PolyCut, Mesh PolyTrim

Description

The Mesh TrimByPlane command trims faces and parts of faces on one side of a plane from a mesh object.

Usage

  1. Select a single mesh object and a single Part plane. The (extended) plane should intersect the mesh object.
  2. There are several ways to invoke the command:
    • Press the Trim mesh with a plane button.
    • Select the Meshes → Cutting → Trim mesh with a plane option from the menu.
  3. The Trim by plane dialog box opens.
  4. Select the side you want to keep by pressing one of the buttons:
    • Below
    • Above
    • Split: removes the faces and parts of faces above the plane, and creates a new mesh object containing them.

Scripting

See also: FreeCAD Scripting Basics.

To trim a mesh with a plane use its trimByPlane method.

import FreeCAD as App
import Mesh

# Create a non-parametric box-shaped mesh:
msh = App.ActiveDocument.addObject("Mesh::Feature", "Mesh")
msh.Mesh = Mesh.createBox(30, 40, 50)
msh.ViewObject.DisplayMode = "Flat Lines"

# Define a plane by a base point and a normal vector:
pnt = App.Vector(25, 0, 0)
nor = App.Vector(0, 0, 1)

# We need to work on a copy of the msh.Mesh object:
new_msh = msh.Mesh.copy()

# Trim that copy:
new_msh.trimByPlane(pnt, nor)

# Update msh.Mesh:
msh.Mesh = new_msh