Macro FlattenWire3Points/pl: Difference between revisions
(Created page with "Makrodefinicja FlattenWire3Points") |
(Created page with "Ikonka paska narzędzi Image:Macro_FlattenWire3Points.png") |
||
(3 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
{{Macro |
{{Macro |
||
|Name=FlattenWire3Points |
|Name=FlattenWire3Points |
||
|Name/pl=FlattenWire3Points |
|||
|Icon=Macro_FlattenWire3Points.png |
|Icon=Macro_FlattenWire3Points.png |
||
|Description=Ta makrodefinicja spłaszcza polilinie środowiska Rysunek Roboczy, które nie są płaskie na płaszczyźnie zdefiniowanej przez 3 punkty.<br/> Aby użyć tego makra, wybierz pierwsze 3 wierzchołki z pojedynczej polilinii Rysunek Roboczy. |
|||
|Description=This macro flattens draft wires that are not planar on a plane defined by 3 points.<br/> To use this macro, select first 3 vertices from a single Draft Wire. |
|||
|Author=Yorik |
|Author=Yorik |
||
|Version=1.0 |
|Version=1.0 |
||
|Date=2016-02-06 |
|Date=2016-02-06 |
||
|FCVersion= |
|FCVersion=Wszystkie |
||
|Download=[https://www.freecadweb.org/wiki/images/1/1e/Macro_FlattenWire3Points.png |
|Download=[https://www.freecadweb.org/wiki/images/1/1e/Macro_FlattenWire3Points.png Ikonka paska narzędzi] |
||
}} |
}} |
||
== |
==Opis== |
||
This macro flattens draft wires that are not planar on a plane defined by 3 points. To use this macro, select first 3 vertices from a single [[Draft Wire]]. |
|||
Ta makrodefinicja spłaszcza polilinie środowiska Rysunek Roboczy, które nie są płaskie na płaszczyźnie zdefiniowanej przez 3 punkty.<br/> Aby użyć tego makra, wybierz pierwsze 3 wierzchołki z pojedynczej [[Draft_Wire/pl|polilinii]] Rysunek Roboczy. |
|||
==Script== |
|||
==Tworzenie skryptów== |
|||
⚫ | |||
⚫ | |||
'''Macro_FlattenWire3Points.FCMacro''' |
'''Macro_FlattenWire3Points.FCMacro''' |
Latest revision as of 18:10, 5 July 2021
Description |
---|
Ta makrodefinicja spłaszcza polilinie środowiska Rysunek Roboczy, które nie są płaskie na płaszczyźnie zdefiniowanej przez 3 punkty. Aby użyć tego makra, wybierz pierwsze 3 wierzchołki z pojedynczej polilinii Rysunek Roboczy. Macro version: 1.0 Last modified: 2016-02-06 FreeCAD version: Wszystkie Download: Ikonka paska narzędzi Author: Yorik |
Author |
Yorik |
Download |
Ikonka paska narzędzi |
Links |
Macros recipes How to install macros How to customize toolbars |
Macro Version |
1.0 |
Date last modified |
2016-02-06 |
FreeCAD Version(s) |
Wszystkie |
Default shortcut |
None |
See also |
None |
Opis
Ta makrodefinicja spłaszcza polilinie środowiska Rysunek Roboczy, które nie są płaskie na płaszczyźnie zdefiniowanej przez 3 punkty.
Aby użyć tego makra, wybierz pierwsze 3 wierzchołki z pojedynczej polilinii Rysunek Roboczy.
Tworzenie skryptów
Macro_FlattenWire3Points.FCMacro
import FreeCAD,FreeCADGui,Draft # check selection sel = FreeCADGui.Selection.getSelectionEx() ok = True if len(sel) != 1: FreeCAD.Console.PrintError("Please select 3 vertices from one Draft wire\n") ok = False sel = sel[0] if Draft.getType(sel.Object) not in ["Wire","BSpline"]: FreeCAD.Console.PrintError("Please select 3 vertices from one Draft wire\n") ok = False if len(sel.SubElementNames) != 3: FreeCAD.Console.PrintError("Please select 3 vertices from one Draft wire\n") ok = False for e in sel.SubElementNames: if not "Vertex" in e: FreeCAD.Console.PrintError("Please select 3 vertices from one Draft wire\n") ok = False if ok: # define a plane p1 = getattr(sel.Object.Shape,sel.SubElementNames[0]).Point p2 = getattr(sel.Object.Shape,sel.SubElementNames[1]).Point p3 = getattr(sel.Object.Shape,sel.SubElementNames[2]).Point p4 = p2.sub(p1).cross(p3.sub(p1)) # project wire points points = [] for p in sel.Object.Points: points.append(p.projectToPlane(p1,p4)) sel.Object.Points = points