Macro FlattenWire3Points/pl: Difference between revisions

From FreeCAD Documentation
(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=All
|FCVersion=Wszystkie
|Download=[https://www.freecadweb.org/wiki/images/1/1e/Macro_FlattenWire3Points.png ToolBar Icon]
|Download=[https://www.freecadweb.org/wiki/images/1/1e/Macro_FlattenWire3Points.png Ikonka paska narzędzi]
}}
}}


==Description==
==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==
ToolBar icon [[Image:Macro_FlattenWire3Points.png]]

Ikonka paska narzędzi [[Image:Macro_FlattenWire3Points.png]]


'''Macro_FlattenWire3Points.FCMacro'''
'''Macro_FlattenWire3Points.FCMacro'''

Latest revision as of 18:10, 5 July 2021

Other languages:

FlattenWire3Points

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
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

Ikonka paska narzędzi

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