Mesh Scale/en: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(One intermediate revision by the same user not shown)
Line 24: Line 24:
# Select one or more mesh objects.
# Select one or more mesh objects.
# There are several ways to invoke the command:
# There are several ways to invoke the command:
#* Press the {{Button|[[Image:Mesh_Scale.svg|16px]] [[Mesh_Scale|Mesh Scale]]}} button.
#* Press the {{Button|[[Image:Mesh_Scale.svg|16px]] [[Mesh_Scale|Scale...]]}} button.
#* Select the {{MenuCommand|Meshes → [[Image:Mesh_Scale.svg|16px]] Scale...}} option from the menu.
#* Select the {{MenuCommand|Meshes → [[Image:Mesh_Scale.svg|16px]] Scale...}} option from the menu.
# The {{MenuCommand|Scaling}} dialog box opens.
# The {{MenuCommand|Scaling}} dialog box opens.
# Specify a scaling factor, the value must be larger than {{Value|0}}.
# Specify a scaling factor, the value must be larger than {{Value|0}}.
# Press the {{button|OK}} button to finish the command.
# Press the {{button|OK}} button to finish the command.

==Scripting==

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

To scale a mesh use its {{incode|transformGeometry}} 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(10, 10, 10)
msh.ViewObject.DisplayMode = "Flat Lines"

# Create and scale a matrix:
mat = App.Matrix()
mat.scale(2.0, 3.0, 4.0) # Unequal scaling.

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

# Transform that copy:
new_msh.transformGeometry(mat)

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




Line 42: Line 71:
{{Mesh Tools navi{{#translation:}}}}
{{Mesh Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 13:15, 26 November 2023

Mesh Scale

Menu location
Meshes → Scale...
Workbenches
Mesh
Default shortcut
None
Introduced in version
-
See also
None

Description

The Mesh Scale command scales mesh objects.

Usage

  1. Select one or more mesh objects.
  2. There are several ways to invoke the command:
    • Press the Scale... button.
    • Select the Meshes → Scale... option from the menu.
  3. The Scaling dialog box opens.
  4. Specify a scaling factor, the value must be larger than 0.
  5. Press the OK button to finish the command.

Scripting

See also: FreeCAD Scripting Basics.

To scale a mesh use its transformGeometry 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(10, 10, 10)
msh.ViewObject.DisplayMode = "Flat Lines"

# Create and scale a matrix:
mat = App.Matrix()
mat.scale(2.0, 3.0, 4.0) # Unequal scaling.

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

# Transform that copy:
new_msh.transformGeometry(mat)

# Update msh.Mesh:
msh.Mesh = new_msh