Draft BezCurve/pl: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(56 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav
{{Docnav/pl
|[[Draft_Facebinder|Facebinder]]
|[[Draft_CubicBezCurve/pl|Sześcienna krzywa Bézier'a]]
|[[Draft CubicBezCurve|CubicBezCurve]]
|[[Draft_Module|Draft]]
|[[Draft_Point/pl|Punkt]]
|[[Draft_Workbench/pl|Środowisko pracy Rysunek Roboczy]]
|IconL=Draft_Facebinder.svg
|IconR=Draft_CubicBezCurve.svg
|IconL=Draft_CubicBezCurve.svg
|IconR=Draft_Point.svg
|IconC=Workbench_Draft.svg
|IconC=Workbench_Draft.svg
}}
}}
Line 11: Line 12:
{{GuiCommand/pl
{{GuiCommand/pl
|Name=Draft BezCurve
|Name=Draft BezCurve
|Name/pl=Draft: Krzywa Beziera
|Name/pl=Rysunek Roboczy: Krzywa Béziera
|MenuLocation=Drafting → Narzędzia Beziera → Krzywa Beziera
|MenuLocation=Kreślenie → Narzędzia krzywych Béziera → Krzywa Béziera
|Workbenches=[[Draft_Module/pl|Draft]], [[Arch_Module/pl|Arch]]
|Workbenches=[[Draft_Workbench/pl|Rysunek Roboczy]], [[Arch_Workbench/pl|Architektura]]
|Shortcut={{KEY|B}} {{KEY|Z}}
|Shortcut={{KEY|B}} {{KEY|Z}}
|Version=0.14
|Version=0.14
|SeeAlso=[[Draft_Wire|Draft: Wire]], [[Draft_BSpline|Draft: BSpline]]
|SeeAlso=[[Draft_CubicBezCurve/pl|Sześcienna krzywa Béziera]], [[Draft_BSpline/pl|Krzywa złożona]]
}}
}}


==Description==
<span id="Description"></span>
==Opis==


The {{Button|[[Image:Draft_BezCurve.svg|16px]] [[Draft_BezCurve|Draft BezCurve]]}} tool creates a [http://en.wikipedia.org/wiki/Bezier_curve Bezier Curve], or a piecewise Bezier curve, from several points. It uses the [[Draft_Linestyle|Draft Linestyle]] set on the [[Draft_Tray|Draft Tray]].
Polecenie [[Image:Draft_BezCurve.svg|24px]] '''Krzywa Bézier'a''' tworzy krzywą [http://en.wikipedia.org/wiki/Bezier_curve Bézier'a] na podstawie kilku punktów.


Polecenie tworzy pojedynczą krzywą Béziera o {{PropertyData|Stopniu}} równym {{incode|number_of_points - 1}}. Można ją przekształcić w fragmentaryczną krzywą Béziera, zmniejszając tę właściwość.
The BezCurve tool curve uses {{Emphasis|control points}} to define the direction of the curve; on the other hand the [[Draft_BSpline|Draft BSpline]] tool specifies the exact points through which the curve will go. To create exact circular or elliptical curves, use [[Draft_Arc|Draft Arc]] and [[Draft_Ellipse|Draft Ellipse]].

Polecenia [[Draft_CubicBezCurve/pl|Sześcienna krzywa Bézier'a]] i Sześcienna krzywa Bézier'a używają {{Emphasis|punktów kontrolnych}} do zdefiniowania położenia i krzywizny odcinka krzywej. Z kolei polecenie [[Draft_BSpline/pl|Krzywa złożona]] określa {{Emphasis|dokładne punkty}}, przez które będzie przechodzić krzywa.


[[Image:Draft_BezCurve_Example.png|400px]]
[[Image:Draft_BezCurve_Example.png|400px]]
{{Caption|Bezier curve defined by multiple control points}}
{{Caption|Krzywa Bezier'a zdefiniowana przez wiele punktów}}


==Usage==
<span id="Usage"></span>
==Użycie==


Zapoznaj się również z informacjami na stronie: [[Draft_Tray/pl|Tacka narzędziowa]], [[Draft_Snap/pl|Przyciąganie]] oraz [[Draft_Constrain/pl|Wiązania]].
# Invoke the Draft BezCurve command several ways:
#* Press the {{Button|[[Image:Draft_BezCurve.svg|16px]] [[Draft BezCurve|Draft BezCurve]]}} button in Draft toolbar
#* Press the {{KEY|B}} then {{KEY|Z}} keyboard keys
#* Use the {{MenuCommand|Draft → Bezier tools → BezCurve}} entry in the Draft menu
# Click a first point on the [[3D view]], or type a [[Draft_Coordinates|coordinate]] and press the {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} button.
# Click additional points on the [[3D view]], or type a [[Draft_Coordinates|coordinate]] and press the {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} button.
# Press {{KEY|Esc}} or the {{Button|Close}} button, or double-click the last point to complete the edition.


# Istnieje kilka sposobów wywołania polecenia:
The object is created as a single Bezier curve of degree {{incode|number_of_points - 1}}. It can be transformed to a piecewise wire made of curves of a specified degree by changing its properties.
#* Naciśnij przycisk {{Button|[[Image:Draft_BezCurve.svg|16px]] '''Krzywa Bezier'a'''}}.
#* Wybierz z menu opcję {{MenuCommand|Kreślenie → Narzędzia krzywych Béziera → [[Image:Draft_BezCurve.svg|16px]] Krzywa Bézier'a}}.
#* Użyj skrótu klawiaturowego: {{KEY|B}}, a następnie {{KEY|Z}}. {{Version/pl|0.20}}
# Zostanie otwarty panel zadań {{MenuCommand|Krzywa Bézier'a}}. Więcej informacji można znaleźć w sekcji [[#Opcje|Opcje]].
# Wybierz pierwszy punkt w oknie [[3D_view/pl|widoku 3D]] lub wpisz współrzędne i naciśnij przycisk {{Button|[[Image:Draft_AddPoint.svg|16px]] Wprowadź punkt}}.
# Wybierz dodatkowe punkty w oknie [[3D_view/pl|widoku 3D]] lub wpisz współrzędne i naciśnij przycisk {{Button|[[Image:Draft_AddPoint.svg|16px]] Wprowadź punkt}}.
# Naciśnij {{KEY|Esc}} lub przycisk {{Button|Zamknij}}, aby zakończyć polecenie.


<span id="Options"></span>
The curve can be edited by double clicking on the element in the tree view, or by pressing the {{Button|[[Image:Draft Edit.svg|16px]] [[Draft Edit|Draft Edit]]}} button. Then you can move the points to a new position, or click {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} or {{Button|[[Image:Draft_DelPoint.svg|16px]] [[Draft_DelPoint|remove point]]}} and then click on the curve to add or remove points. You can also change the constraint type of each point.
==Opcje==


Skróty klawiaturowe jedno znakowe dostępne w panelu zadań można zmienić. Zobacz stronę [[Draft_Preferences/pl|Preferencji]]. Skróty wymienione tutaj są skrótami domyślnymi ''(w wersji 0.22)''.
=== Node constraints ===


* Aby ręcznie wprowadzić współrzędne, wprowadź składowe X, Y i Z, a następnie naciśnij klawisz {{KEY|Enter}} po każdej z nich. Możesz też nacisnąć przycisk {{Button|[[Image:Draft_AddPoint.svg|16px]] Wprowadź punkt}}, gdy masz już żądane wartości. Wskazane jest, aby przed wprowadzeniem współrzędnych wysunąć kursor poza obszar okna [[3D_view/pl|widoku 3D]].
The segment endpoints can be constrained such that adjacent control points are tangent or symmetric to the segments at the endpoint.
* Wciśnij {{KEY|R}} lub kliknij pole wyboru {{MenuCommand|Względnie}}, aby przełączyć tryb względny. Jeśli tryb względny jest włączony, współrzędne są względne do ostatniego punktu, jeśli jest dostępny, w przeciwnym razie są one względne do początku układu współrzędnych.
First, start editing the curve, then pick one of the tools and then pick a point. Click again on the tool to deactivate it, so you can move the point.
* Naciśnij {{KEY|G}} lub kliknij pole wyboru {{MenuCommand|Globalnie}}, aby przełączyć tryb globalny. Jeśli tryb globalny jest włączony, współrzędne odnoszą się do globalnego układu współrzędnych, w przeciwnym razie odnoszą się do układu współrzędnych [[Draft_SelectPlane/pl|płaszczyzny roboczej]]. {{Version/pl|0.20}}
* {{Button|[[Image:Draft_BezSharpNode.svg|32px]] sharp}} remove constraints on the points so the curve can have sharp corners.
* Naciśnij {{KEY|F}} lub kliknij pole wyboru {{MenuCommand|Wypełniony}}, aby przełączyć tryb wypełnienia. Jeśli tryb wypełnienia jest włączony, utworzona krzywa będzie miała właściwość {{PropertyData|Utwórz ścianę}} ustawione na {{TRUE/pl}} i będzie miała wypełnioną ścianę, pod warunkiem, że jest zamknięta i nie przecina się samoczynnie. Należy pamiętać, że krzywa przecinająca się z powierzchnią nie będzie wyświetlana poprawnie, dla takiej krzywej {{PropertyData|Utwórz ścianę}} musi być ustawiona na {{FALSE/pl}}.
* {{Button|[[Image:Draft_BezTanNode.svg|32px]] tangent}} force adjacent control points to be tangent.
* Naciśnij {{KEY|N}} lub kliknij pole wyboru {{MenuCommand|Kontynuuj}}, aby włączyć tryb kontynuacji. Jeśli tryb kontynuacji jest włączony, polecenie uruchomi się ponownie po użyciu {{Button|[[Image:Draft_FinishLine.svg|16px]] Zakończ}} lub {{Button|[[Image:Draft_CloseLine.svg|16px]] Zamknij}}, lub po utworzeniu zamkniętej krzywej poprzez przyciągnięcie do pierwszego punktu krzywej, umożliwiając dalsze tworzenie krzywych.
* {{Button|[[Image:Draft_BezSymNode.svg|32px]] symmetric}} force adjacent control points to be tangent and equidistant.
* Naciśnij {{KEY|/}} lub przycisk {{Button|[[Image:Draft_UndoLine.svg|16px]] Cofnij}}, aby anulować ostatni punkt.
* Naciśnij {{KEY|A}} lub przycisk {{Button|[[Image:Draft_FinishLine.svg|16px]] Zakończ}}, aby zakończyć polecenie i pozostawić krzywą otwartą.
* Naciśnij {{KEY|O}} lub przycisk {{Button|[[Image:Draft_CloseLine.svg|16px]] Zamknij}}, aby zakończyć polecenie i zamknąć krzywą. Zamkniętą krzywą można również utworzyć, przyciągając ją do pierwszego punktu krzywej.
* Naciśnij {{KEY|W}} lub przycisk {{Button|[[Image:Draft Wipe.svg|16px]] Wyczyść}}, aby usunąć już umieszczone segmenty, ale kontynuować pracę od ostatniego punktu.
* Naciśnij {{KEY|U}} lub przycisk {{Button|[[Image:Draft SelectPlane.svg|16px]] [[Draft_SelectPlane/pl|Ustaw płaszczyznę roboczą]]}}, aby ustawić bieżącą płaszczyznę roboczą w orientacji określonej przez ostatni i poprzedni punkt.
* Naciśnij {{KEY|S}}, aby włączyć lub wyłączyć [[Draft_Snap|Przyciąganie]].
* Naciśnij {{KEY|Esc}} lub przycisk {{Button|Zamknij}}, aby zakończyć polecenie.


<span id="Notes"></span>
===Limitations===
==Uwagi==
* The Points property does not yet appear in the properties list.
* OpenCascade, and thus FreeCAD, does not support Bezier curves of degrees larger than 25. This should not be a problem in practice, as most users would typically use Bezier curves of degrees 3 to 5.


* Krzywa Bezier'a środowiska Rysunek Roboczy może być edytowana za pomocą polecenia [[Draft_Edit/pl|Edytuj]].
==Options==
* OpenCascade, a tym samym FreeCAD, nie obsługuje krzywych Bézier'a o stopniach większych niż 25. W praktyce nie powinno to stanowić problemu, ponieważ większość użytkowników zazwyczaj używa krzywych Bézier'a o stopniach od 3 do 5.


<span id="Properties"></span>
* Press {{KEY|A}} or the {{Button|[[Image:Draft_FinishLine.svg|12px]] [[Draft_FinishLine|Finish]]}} button to finish the curve, leaving it open.
==Właściwości==
* Press {{KEY|O}} or the {{Button|[[Image:Draft_CloseLine.svg|12px]] [[Draft_CloseLine|Close]]}} button to close the curve, that is, a segment will be added from the last point to the first one to form a face. At least four points, a curve of degree three, are required to form a face.
* Press {{KEY|W}} or the {{Button|[[Image:Draft Wipe.svg|12px]] [[Draft_Wipe|Wipe]]}} button to remove the curve segments already placed, but keep editing the curve from the last point.
* Press {{KEY|U}} or the {{Button|[[Image:Draft SelectPlane.svg|12px]] [[Draft_SelectPlane|Set WP]]}} button to adjust the current working plane in the orientation of the last point.
* Press {{KEY|X}}, {{KEY|Y}} or {{KEY|Z}} after a point to constrain the next point on the given axis.
* To enter coordinates manually, simply enter the numbers, then press {{KEY|Enter}} between each X, Y and Z component.
* Press {{KEY|R}} or click the checkbox to toggle ''relative'' mode. If relative mode is on, the coordinates of the next point are relative to the last one; if not, they are absolute, taken from the origin (0,0,0).
* Press {{KEY|T}} or click the checkbox to toggle ''continue'' mode. If continue mode is on, the BezCurve tool will restart after you finish the curve, allowing you to draw another one without pressing the tool button again.
* Press {{KEY|L}} or click the checkbox to toggle ''filled'' mode. If filled mode is on, a closed wire will create a filled face ({{PropertyData|Make Face}} {{TRUE}}); if not, the closed wire will not make a face ({{PropertyData|Make Face}} {{FALSE}}).
:{{Emphasis|Note:}} the curve should not be filled if it intersects itself, as it won't create a proper face. If the curve is filled but no shape is visible, manually set {{PropertyData|Make Face}} to {{FALSE}} to see the curve.
* Hold {{KEY|Ctrl}} while drawing to force [[Draft_Snap|snapping]] your point to the nearest snap location, independently of the distance.
* Hold {{KEY|Shift}} while drawing to [[Draft_Constrain|constrain]] your next point horizontally or vertically in relation to the last one.
* Press {{KEY|Ctrl}}+{{KEY|Z}} or press the {{button|[[Image:Draft_UndoLine.svg|12px]] [[Draft_UndoLine|Undo]]}} button to undo the last point.
* Press {{KEY|Esc}} or the {{button|Close}} button to abort the current command; curve segments already placed will remain.


Zapoznaj się również z informacjami na stronie: [[Property_editor/pl|Edytor właściwości]].
==Properties==


Obiekt Krzywa Bezier'a środowiska Rysunek Roboczy wywodzi się z obiektu [[Part_Part2DObject/pl|Część: Part2DObject]] i dziedziczy wszystkie jego właściwości. Posiada on również następujące dodatkowe właściwości:
=== Data ===
* {{PropertyData|Degree}}: specifies the degree of the Bezier curve or the individual segments.
* {{PropertyData|Closed}}: specifies if the curve is closed or not. If the curve is initially open, this value is {{FALSE}}; setting it to {{TRUE}} will draw a segment to close the curve. If the curve is initially closed, this value is {{TRUE}}; setting it to {{FALSE}} will remove the last segment, and make the curve open.
* {{PropertyData|Make Face}}: specifies if the curve makes a face or not. If it is {{TRUE}} a face is created, otherwise only the perimeter is considered part of the object. This property only works if {{PropertyData|Closed}} is {{TRUE}}.
:{{Emphasis|Note:}} do not set {{PropertyData|Make Face}} to {{TRUE}} if the curve intersects itself, as it won't create a proper face.
* {{PropertyData|Continuity}}: (read-only) when the curve is closed, indicates the continuity of the curve {{incode|[0]}}, or {{incode|[0,0]}}. Otherwise it's {{incode|[]}}.


<span id="Data"></span>
=== View ===
===Dane===
* {{PropertyView|Arrow Size}}: specifies the size of the symbol displayed at the end of the curve.
* {{PropertyView|Arrow Type}}: specifies the type of symbol displayed at the end of the curve, which can be dot, circle, arrow, and tick.
* {{PropertyView|End Arrow}}: specifies whether to show a symbol at the last point of the curve, so it can be used as an annotation line.
* {{PropertyView|Pattern}}: specifies a [[Draft Pattern|Draft Pattern]] with which to fill the face of the closed curve. This property only works if {{PropertyData|Make Face}} is {{TRUE}}, and if {{PropertyView|Display Mode}} is "Flat Lines".
* {{PropertyView|Pattern Size}}: specifies the size of the [[Draft Pattern|Draft Pattern]].


{{TitleProperty|Rysunek Roboczy}}
==Scripting==

{{Emphasis|See also:}} [[Draft API|Draft API]] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].
* {{PropertyData|Obszar|Area}}: ''(tylko do odczytu)'' określa obszar powierzchni krzywej. Wartość będzie {{value|0.0}} jeśli właściwość {{PropertyData|Utwórz ścianę}} ma wartość {{FALSE/pl}} lub ściana nie może zostać utworzona.
* {{PropertyData|Zamknięta|Bool}}: określa czy krzywa jest zamknięta czy nie. Jeśli krzywa jest początkowo otwarta, wartość ta wynosi {{FALSE/pl}}, ustawienie jej na {{TRUE/pl}} spowoduje narysowanie segmentu w celu zamknięcia krzywej. Jeśli krzywa jest początkowo zamknięta, wartość ta wynosi {{TRUE/pl}}, ustawienie jej na {{FALSE/pl}} spowoduje usunięcie ostatniego segmentu i otwarcie krzywej.
* {{PropertyData|Ciągła|IntegerList}}: ''(tylko do odczytu)'' określa ciągłość krzywej.
* {{PropertyData|Stopień|Integer}}: określa stopień krzywej.
* {{PropertyData|Długość|Length}}: ''(tylko do odczytu)'' określa całkowitą długość krzywej.
* {{PropertyData|Utwórz ścianę|Bool}}: określa czy krzywa tworzy powierzchnię czy nie. Jeśli jest {{TRUE/pl}}, tworzona jest ściana, w przeciwnym razie tylko obwód jest uważany za część obiektu. Ta właściwość działa tylko wtedy, gdy właściwość {{PropertyData|Zamknięta}} ma wartość {{TRUE/pl}} i jeśli krzywa nie przecina się samoczynnie.
* {{PropertyData|Punkty|VectorList}}: określa punkty kontrolne krzywej w jej lokalnym układzie współrzędnych.

<span id="View"></span>
===Widok===

{{TitleProperty|Rysunek Roboczy}}

* {{PropertyView|Rozmiar strzałki|Length}}: określa rozmiar symbolu wyświetlanego na końcu krzywej.
* {{PropertyView|Typ strzałki|Enumeration}}: określa typ symbolu wyświetlanego na końcu krzywej, którym może być {{value|Punkt}}, {{value|Okrąg}}, {{value|Strzałka}}, {{value|Grot}} lub {{value|Grot-2}}.
* {{PropertyView|Zakończenie strzałki|Bool}}: określa, czy na końcu krzywej ma być wyświetlany symbol, aby można go było użyć jako linii adnotacji.
* {{PropertyView|Wzór|Enumeration}}: określa [[Draft_Pattern/pl|Wzór]], którym ma być wypełniona powierzchnia zamkniętej krzywej. Ta właściwość działa tylko jeśli właściiwość {{PropertyData|Utwórz ścianę}} ma wartość {{TRUE/pl}} i jeśli właściwość {{PropertyView|Tryb wyświetlania}} ma wartość {{value|Cieniowany z krawędziami}}.
* {{PropertyView|Rozmiar wzoru|Float}}: określa rozmiar [[Draft_Pattern/pl|Wzoru]].

<span id="Scripting"></span>
==Tworzenie skryptów==

Zobacz również stronę: [https://freecad.github.io/SourceDoc/ Dokumentacja API generowana automatycznie] oraz [[FreeCAD_Scripting_Basics/pl|Podstawy pisania skryptów dla FreeCAD]].

Aby utworzyć Krzywa Bezier'a środowiska Rysunek Roboczy użyj metody {{incode|make_bezcurve}} modułu Rysunek Roboczy ({{Version/pl|0.19}}). Ta metoda zastępuje przestarzałą metodę {{incode|makeBezCurve}}.


The BezCurve tool can be used in [[macros|macros]] and from the [[Python|Python]] console by using the following function:
{{Code|code=
{{Code|code=
BezCurve = makeBezCurve(pointslist, closed=False, placement=None, face=None, support=None, degree=None)
bezcurve = make_bezcurve(pointslist, closed=False, placement=None, face=None, support=None, degree=None)
BezCurve = makeBezCurve(Part.Wire, closed=False, placement=None, face=None, support=None, degree=None)
bezcurve = make_bezcurve(Part.Wire, closed=False, placement=None, face=None, support=None, degree=None)
}}
}}


* Creates a {{incode|BezCurve}} object with the given list of points, {{incode|pointslist}}.
* Tworzy obiekt {{incode|bezcurve}} z podaną listą punktów, {{incode|pointslist}}.
** Each point in the list is defined by its {{incode|FreeCAD.Vector}}, with units in millimeters.
** Każdy punkt na liście jest zdefiniowany przez jego {{incode|FreeCAD.Vector}}, z jednostkami w milimetrach.
** Alternatively, the input can be a {{incode|Part.Wire}}, from which points are extracted.
** Alternatywnie, dane wejściowe mogą być typu {{incode|Part.Wire}}, z których wyodrębniane punkty.
* If {{incode|closed}} is {{incode|True}}, or if the first and last points are identical, the curve is closed.
* Jeśli {{incode|closed}} ma wartość {{True/pl}}, lub jeśli pierwszy i ostatni punkt mają identyczne wartości, krzywa jest zamknięta.
* If a {{incode|placement}} is given, it is used; otherwise the shape is created at the origin.
* Jeśli {{incode|placement}} ma wartość {{incode|Brak}}, kształt jest tworzony w punkcie początkowym.
* If {{incode|face}} is {{incode|True}}, and the wire is closed, the wire will make a face, that is, it will appear filled.
* Jeśli parametr {{incode|ściana}} ma wartość {{True/pl}}, a krzywa jest zamknięta, to krzywa będzie ścianą, czyli będzie wyglądała na wypełnioną.

Przykład:


Example:
{{Code|code=
{{Code|code=
import FreeCAD, Draft
import FreeCAD as App
import Draft


doc = App.newDocument()
p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(1000, 1000, 0)
p3 = FreeCAD.Vector(2000, 0, 0)
p4 = FreeCAD.Vector(1500, -2000, 0)


p1 = App.Vector(0, 0, 0)
BezCurve1 = Draft.makeBezCurve([p1, p2, p3, p4], closed=True)
p2 = App.Vector(1000, 1000, 0)
BezCurve2 = Draft.makeBezCurve([p4, 1.3*p2, p1, 4.1*p3], closed=True)
p3 = App.Vector(2000, 0, 0)
BezCurve3 = Draft.makeBezCurve([1.7*p3, 1.5*p4, 2.1*p2, p1], closed=True)
p4 = App.Vector(1500, -2000, 0)

bezcurve1 = Draft.make_bezcurve([p1, p2, p3, p4], closed=True)
bezcurve2 = Draft.make_bezcurve([p4, 1.3*p2, p1, 4.1*p3], closed=True)
bezcurve3 = Draft.make_bezcurve([1.7*p3, 1.5*p4, 2.1*p2, p1], closed=True)

doc.recompute()
}}
}}



{{Docnav
{{Docnav/pl
|[[Draft_Facebinder|Facebinder]]
|[[Draft_CubicBezCurve/pl|Sześcienna krzywa Bézier'a]]
|[[Draft CubicBezCurve|CubicBezCurve]]
|[[Draft_Module|Draft]]
|[[Draft_Point/pl|Punkt]]
|[[Draft_Workbench/pl|Środowisko pracy Rysunek Roboczy]]
|IconL=Draft_Facebinder.svg
|IconR=Draft_CubicBezCurve.svg
|IconL=Draft_CubicBezCurve.svg
|IconR=Draft_Point.svg
|IconC=Workbench_Draft.svg
|IconC=Workbench_Draft.svg
}}
}}
Line 128: Line 152:
{{Draft Tools navi{{#translation:}}}}
{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 08:07, 9 January 2024

Rysunek Roboczy: Krzywa Béziera

Lokalizacja w menu
Kreślenie → Narzędzia krzywych Béziera → Krzywa Béziera
Środowisko pracy
Rysunek Roboczy, Architektura
Domyślny skrót
B Z
Wprowadzono w wersji
0.14
Zobacz także
Sześcienna krzywa Béziera, Krzywa złożona

Opis

Polecenie Krzywa Bézier'a tworzy krzywą Bézier'a na podstawie kilku punktów.

Polecenie tworzy pojedynczą krzywą Béziera o DANEStopniu równym number_of_points - 1. Można ją przekształcić w fragmentaryczną krzywą Béziera, zmniejszając tę właściwość.

Polecenia Sześcienna krzywa Bézier'a i Sześcienna krzywa Bézier'a używają punktów kontrolnych do zdefiniowania położenia i krzywizny odcinka krzywej. Z kolei polecenie Krzywa złożona określa dokładne punkty, przez które będzie przechodzić krzywa.

Krzywa Bezier'a zdefiniowana przez wiele punktów

Użycie

Zapoznaj się również z informacjami na stronie: Tacka narzędziowa, Przyciąganie oraz Wiązania.

  1. Istnieje kilka sposobów wywołania polecenia:
    • Naciśnij przycisk Krzywa Bezier'a.
    • Wybierz z menu opcję Kreślenie → Narzędzia krzywych Béziera → Krzywa Bézier'a.
    • Użyj skrótu klawiaturowego: B, a następnie Z. dostępne w wersji 0.20
  2. Zostanie otwarty panel zadań Krzywa Bézier'a. Więcej informacji można znaleźć w sekcji Opcje.
  3. Wybierz pierwszy punkt w oknie widoku 3D lub wpisz współrzędne i naciśnij przycisk Wprowadź punkt.
  4. Wybierz dodatkowe punkty w oknie widoku 3D lub wpisz współrzędne i naciśnij przycisk Wprowadź punkt.
  5. Naciśnij Esc lub przycisk Zamknij, aby zakończyć polecenie.

Opcje

Skróty klawiaturowe jedno znakowe dostępne w panelu zadań można zmienić. Zobacz stronę Preferencji. Skróty wymienione tutaj są skrótami domyślnymi (w wersji 0.22).

  • Aby ręcznie wprowadzić współrzędne, wprowadź składowe X, Y i Z, a następnie naciśnij klawisz Enter po każdej z nich. Możesz też nacisnąć przycisk Wprowadź punkt, gdy masz już żądane wartości. Wskazane jest, aby przed wprowadzeniem współrzędnych wysunąć kursor poza obszar okna widoku 3D.
  • Wciśnij R lub kliknij pole wyboru Względnie, aby przełączyć tryb względny. Jeśli tryb względny jest włączony, współrzędne są względne do ostatniego punktu, jeśli jest dostępny, w przeciwnym razie są one względne do początku układu współrzędnych.
  • Naciśnij G lub kliknij pole wyboru Globalnie, aby przełączyć tryb globalny. Jeśli tryb globalny jest włączony, współrzędne odnoszą się do globalnego układu współrzędnych, w przeciwnym razie odnoszą się do układu współrzędnych płaszczyzny roboczej. dostępne w wersji 0.20
  • Naciśnij F lub kliknij pole wyboru Wypełniony, aby przełączyć tryb wypełnienia. Jeśli tryb wypełnienia jest włączony, utworzona krzywa będzie miała właściwość DANEUtwórz ścianę ustawione na PRAWDA i będzie miała wypełnioną ścianę, pod warunkiem, że jest zamknięta i nie przecina się samoczynnie. Należy pamiętać, że krzywa przecinająca się z powierzchnią nie będzie wyświetlana poprawnie, dla takiej krzywej DANEUtwórz ścianę musi być ustawiona na FAŁSZ.
  • Naciśnij N lub kliknij pole wyboru Kontynuuj, aby włączyć tryb kontynuacji. Jeśli tryb kontynuacji jest włączony, polecenie uruchomi się ponownie po użyciu Zakończ lub Zamknij, lub po utworzeniu zamkniętej krzywej poprzez przyciągnięcie do pierwszego punktu krzywej, umożliwiając dalsze tworzenie krzywych.
  • Naciśnij / lub przycisk Cofnij, aby anulować ostatni punkt.
  • Naciśnij A lub przycisk Zakończ, aby zakończyć polecenie i pozostawić krzywą otwartą.
  • Naciśnij O lub przycisk Zamknij, aby zakończyć polecenie i zamknąć krzywą. Zamkniętą krzywą można również utworzyć, przyciągając ją do pierwszego punktu krzywej.
  • Naciśnij W lub przycisk Wyczyść, aby usunąć już umieszczone segmenty, ale kontynuować pracę od ostatniego punktu.
  • Naciśnij U lub przycisk Ustaw płaszczyznę roboczą, aby ustawić bieżącą płaszczyznę roboczą w orientacji określonej przez ostatni i poprzedni punkt.
  • Naciśnij S, aby włączyć lub wyłączyć Przyciąganie.
  • Naciśnij Esc lub przycisk Zamknij, aby zakończyć polecenie.

Uwagi

  • Krzywa Bezier'a środowiska Rysunek Roboczy może być edytowana za pomocą polecenia Edytuj.
  • OpenCascade, a tym samym FreeCAD, nie obsługuje krzywych Bézier'a o stopniach większych niż 25. W praktyce nie powinno to stanowić problemu, ponieważ większość użytkowników zazwyczaj używa krzywych Bézier'a o stopniach od 3 do 5.

Właściwości

Zapoznaj się również z informacjami na stronie: Edytor właściwości.

Obiekt Krzywa Bezier'a środowiska Rysunek Roboczy wywodzi się z obiektu Część: Part2DObject i dziedziczy wszystkie jego właściwości. Posiada on również następujące dodatkowe właściwości:

Dane

Rysunek Roboczy

  • DANEObszar (Area): (tylko do odczytu) określa obszar powierzchni krzywej. Wartość będzie 0.0 jeśli właściwość DANEUtwórz ścianę ma wartość FAŁSZ lub ściana nie może zostać utworzona.
  • DANEZamknięta (Bool): określa czy krzywa jest zamknięta czy nie. Jeśli krzywa jest początkowo otwarta, wartość ta wynosi FAŁSZ, ustawienie jej na PRAWDA spowoduje narysowanie segmentu w celu zamknięcia krzywej. Jeśli krzywa jest początkowo zamknięta, wartość ta wynosi PRAWDA, ustawienie jej na FAŁSZ spowoduje usunięcie ostatniego segmentu i otwarcie krzywej.
  • DANECiągła (IntegerList): (tylko do odczytu) określa ciągłość krzywej.
  • DANEStopień (Integer): określa stopień krzywej.
  • DANEDługość (Length): (tylko do odczytu) określa całkowitą długość krzywej.
  • DANEUtwórz ścianę (Bool): określa czy krzywa tworzy powierzchnię czy nie. Jeśli jest PRAWDA, tworzona jest ściana, w przeciwnym razie tylko obwód jest uważany za część obiektu. Ta właściwość działa tylko wtedy, gdy właściwość DANEZamknięta ma wartość PRAWDA i jeśli krzywa nie przecina się samoczynnie.
  • DANEPunkty (VectorList): określa punkty kontrolne krzywej w jej lokalnym układzie współrzędnych.

Widok

Rysunek Roboczy

  • WIDOKRozmiar strzałki (Length): określa rozmiar symbolu wyświetlanego na końcu krzywej.
  • WIDOKTyp strzałki (Enumeration): określa typ symbolu wyświetlanego na końcu krzywej, którym może być Punkt, Okrąg, Strzałka, Grot lub Grot-2.
  • WIDOKZakończenie strzałki (Bool): określa, czy na końcu krzywej ma być wyświetlany symbol, aby można go było użyć jako linii adnotacji.
  • WIDOKWzór (Enumeration): określa Wzór, którym ma być wypełniona powierzchnia zamkniętej krzywej. Ta właściwość działa tylko jeśli właściiwość DANEUtwórz ścianę ma wartość PRAWDA i jeśli właściwość WIDOKTryb wyświetlania ma wartość Cieniowany z krawędziami.
  • WIDOKRozmiar wzoru (Float): określa rozmiar Wzoru.

Tworzenie skryptów

Zobacz również stronę: Dokumentacja API generowana automatycznie oraz Podstawy pisania skryptów dla FreeCAD.

Aby utworzyć Krzywa Bezier'a środowiska Rysunek Roboczy użyj metody make_bezcurve modułu Rysunek Roboczy (dostępne w wersji 0.19). Ta metoda zastępuje przestarzałą metodę makeBezCurve.

bezcurve = make_bezcurve(pointslist, closed=False, placement=None, face=None, support=None, degree=None)
bezcurve = make_bezcurve(Part.Wire, closed=False, placement=None, face=None, support=None, degree=None)
  • Tworzy obiekt bezcurve z podaną listą punktów, pointslist.
    • Każdy punkt na liście jest zdefiniowany przez jego FreeCAD.Vector, z jednostkami w milimetrach.
    • Alternatywnie, dane wejściowe mogą być typu Part.Wire, z których wyodrębniane są punkty.
  • Jeśli closed ma wartość Prawda, lub jeśli pierwszy i ostatni punkt mają identyczne wartości, krzywa jest zamknięta.
  • Jeśli placement ma wartość Brak, kształt jest tworzony w punkcie początkowym.
  • Jeśli parametr ściana ma wartość Prawda, a krzywa jest zamknięta, to krzywa będzie ścianą, czyli będzie wyglądała na wypełnioną.

Przykład:

import FreeCAD as App
import Draft

doc = App.newDocument()

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1000, 1000, 0)
p3 = App.Vector(2000, 0, 0)
p4 = App.Vector(1500, -2000, 0)

bezcurve1 = Draft.make_bezcurve([p1, p2, p3, p4], closed=True)
bezcurve2 = Draft.make_bezcurve([p4, 1.3*p2, p1, 4.1*p3], closed=True)
bezcurve3 = Draft.make_bezcurve([1.7*p3, 1.5*p4, 2.1*p2, p1], closed=True)

doc.recompute()