Macro FlattenWire: Difference between revisions

From FreeCAD Documentation
No edit summary
(MacroCode)
 
(25 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
{{Macro/es|Name=FlattenWire|Description=Esta macro aplana contornos de croquizado que no son planos a la mediana de su coordenada Z|Author=Yorik}}
<translate>


<!--T:1-->
import FreeCAD
{{Macro
obj = FreeCAD.ActiveDocument.ActiveObject
|Name=FlattenWire
z = 0
|Icon=Macro_FlattenWire.png
for p in obj.Points: z += p.z
|Description=This macro flattens draft wires that are not planar to their median Z coordinate
z = z/len(obj.Points)
|Author=Yorik
newpoints = []
|Version=1.1
for p in obj.Points: newppoints.append(FreeCAD.Vector(p.x,p.y,z))
|Date=2021-10-27
obj.Points = newppoints
|FCVersion=All
|Download=[https://www.freecadweb.org/wiki/images/2/2f/Macro_FlattenWire.png ToolBar Icon]
}}


==Description== <!--T:4-->
{{languages/es | {{en|Macro_FlattenWire}} }}

<!--T:2-->
This macro flattens draft wires that are not planar to their median Z coordinate.

==Script== <!--T:3-->

<!--T:5-->
ToolBar Icon
</translate>
[[Image:Macro_FlattenWire.png]]

'''Macro_FlattenWire.FCMacro'''

{{MacroCode|code=
import FreeCAD
obj = FreeCAD.ActiveDocument.ActiveObject
z = 0
for p in obj.Points: z += p.z
z = z/len(obj.Points)
newpoints = []
for p in obj.Points: newpoints.append(FreeCAD.Vector(p.x, p.y, z))
obj.Points = newpoints
}}

Latest revision as of 10:22, 21 December 2021

FlattenWire

Description
This macro flattens draft wires that are not planar to their median Z coordinate

Macro version: 1.1
Last modified: 2021-10-27
FreeCAD version: All
Download: ToolBar Icon
Author: Yorik
Author
Yorik
Download
ToolBar Icon
Links
Macro Version
1.1
Date last modified
2021-10-27
FreeCAD Version(s)
All
Default shortcut
None
See also
None

Description

This macro flattens draft wires that are not planar to their median Z coordinate.

Script

ToolBar Icon

Macro_FlattenWire.FCMacro

import FreeCAD
obj = FreeCAD.ActiveDocument.ActiveObject
z = 0
for p in obj.Points: z += p.z
z = z/len(obj.Points)
newpoints = []
for p in obj.Points: newpoints.append(FreeCAD.Vector(p.x, p.y, z))
obj.Points = newpoints