Draft Offset/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "Zazwyczaj narzędzie to jest używane w trybie kopiowania do tworzenia przesuniętych kopii linii bazowej z pozostawieniem tej linii w tym samym miejscu. Odsunięte kopie są...")
No edit summary
 
(50 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Page_in_progress}}
<languages/>
<languages/>


Line 5: Line 4:
|[[Draft_Mirror/pl|Odbicie lustrzane]]
|[[Draft_Mirror/pl|Odbicie lustrzane]]
|[[Draft_Trimex/pl|Przytnij]]
|[[Draft_Trimex/pl|Przytnij]]
|[[Draft_Module/pl|Środowisko pracy Rysunek Roboczy]]
|[[Draft_Workbench/pl|Środowisko pracy Rysunek Roboczy]]
|IconL=Draft_Mirror.svg
|IconL=Draft_Mirror.svg
|IconR=Draft_Trimex.svg
|IconR=Draft_Trimex.svg
Line 15: Line 14:
|Name/pl=Rysunek Roboczy: Odsunięcie
|Name/pl=Rysunek Roboczy: Odsunięcie
|MenuLocation=Modyfikacja → Odsunięcie
|MenuLocation=Modyfikacja → Odsunięcie
|Workbenches=[[Draft_Module/pl|Rysunek Roboczy]], [[Arch_Module/pl|Architektura]]
|Workbenches=[[Draft_Workbench/pl|Rysunek Roboczy]], [[Arch_Workbench/pl|Architektura]]
|Shortcut={{KEY|O}} {{KEY|S}}
|Shortcut={{KEY|O}} {{KEY|S}}
|SeeAlso=[[Draft_Scale/pl|Skala]], [[Part_Offset2D/pl|Odsunięcie 2D]]
|SeeAlso=[[Part_Offset2D/pl|Odsunięcie 2D]]
}}
}}


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


Narzędzie '''Odsunięcie''' przesuwa zaznaczony obiekt o zadaną odległość ''(przesunięcie)'' w kierunku prostopadłym względem siebie.
Narzędzie [[Image:Draft_Offset.svg|24px]] '''Odsunięcie''' przesuwa każdy segment wybranego obiektu o zadaną odległość lub tworzy przesuniętą kopię wybranego obiektu.

Zazwyczaj narzędzie to jest używane w trybie kopiowania do tworzenia przesuniętych kopii linii bazowej z pozostawieniem tej linii w tym samym miejscu. Odsunięte kopie są skalowanymi wersjami oryginalnego obiektu. Aby utworzyć inne skalowane kopie użyj funkcji [[Draft_Scale/pl|Skala]]. Aby utworzyć dokładne kopie z przesunięciem na odległość, użyj funkcji [[Draft_Move/pl|Przesuń]].


[[Image:Draft_Offset_example.jpg|400px]]
[[Image:Draft_Offset_example.jpg|400px]]
{{Caption|Odsunięcie linii łamanej}}
{{Caption|Offsetting a wire a certain distance from one of its edges}}


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


Zobacz także strony: [[Draft_Snap/pl|Rysunek Roboczy: Przyciąganie]] i [[Draft_Constrain/pl|Rysunek Roboczy: Wiązania]].
# Select the object that you wish to offset.
# Press the {{Button|[[Image:Draft_Offset.svg|16px]] [[Draft Offset|Draft Offset]]}} button, or press {{KEY|O}} then {{KEY|S}} keys. If no object is selected, you will be invited to select one.
# Click a point on the 3D view, or type in a distance.


# Opcjonalnie wybierz jeden obiekt. Obiekt musi leżeć na aktualnej [[Draft_SelectPlane/pl|płaszczyźnie roboczej]].
The distance used to create the offset is perpendicular to one of the edges of the original shape, depending on the position of the pointer. If the pointer is moved closer to another edge, this edge now becomes the reference for the distance. Hold the {{KEY|Shift}} key to keep the current reference edge despite moving the pointer closer to other edges.
# Istnieje kilka sposobów, aby wywołać to polecenie:
#* Naciśnij przycisk {{Button|[[Image:Draft_Offset.svg|16px]] '''Odsunięcie'''}}.
#* Wybierz z menu opcję {{MenuCommand|Modifikacja → [[Image:Draft_Offset.svg|16px]] Odsunięcie}}.
#* Użyj skrótu klawiaturowego: {{KEY|O}}, a następnie {{KEY|S}}.
# Jeśli nie wybrałeś jeszcze obiektu: wybierz obiekt w oknie [[3D_view/pl|widoku 3D]].
# Otwiera się panel zadań {{MenuCommand|Odsunięcie}}. Zobacz [[#Opcje|Opcje]], aby uzyskać więcej informacji.
# Aby zdefiniować odległość przesunięcia, wykonaj jedną z poniższych czynności:
#* Wybierz punkt w oknie [[3D_view/pl|widoku 3D]]
#* Wprowadź wartość:
#*# Upewnij się, że kursor znajduje się po właściwej stronie obiektu w oknie [[3D_view/pl|widoku 3D]].
#*# Nie wysuwaj kursora poza okno [[3D_view/pl|widoku 3D]].
#*# Wprowadź {{MenuCommand|Dystans}}.
#*# Naciśnij klawisz {{KEY|Enter}} aby zakończyć polecenie.


<span id="Options"></span>
==Opcje==
==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)''.
* Press {{KEY|P}} or click the checkbox to toggle ''copy'' mode. If copy mode is on, the Offset tool will keep the original shape in its place but will make a scaled copy at the chosen point.
* Hold {{KEY|Alt}} while picking the point to also toggle copy mode. Keeping {{KEY|Alt}} pressed will allow you to continue placing offset copies; release {{KEY|Alt}} to finish the operation and see all offset shapes.
* Click the "OCC-style" checkbox to toggle ''OCC'' mode. This will create an offset from both sides of an line segment, which will produce a specially closed shape with rounded edges at the ends of the segments.
:{{Emphasis|Note:}} with this style the original segments will be removed, so use copy mode to preserve the original edges.
* Hold {{KEY|Ctrl}} while offsetting to force [[Draft_Snap|snapping]] your point to the nearest snap location, independently of the distance.
* Hold {{KEY|Shift}} to keep the offset distance referred to the current segment, and avoid picking another reference.
* Press {{KEY|Esc}} or the {{button|Close}} button to abort the current command; offset copies already placed will remain.


* Jeśli pole wyboru {{MenuCommand|Odsunięcie w stylu OpenCascade}} jest zaznaczone, używany jest specjalny styl odsunięcia: otwarte [[Draft_Wire/pl|polilinie]] są odsunięte po obu stronach, a nowe krawędzie są łączone z zaokrąglonymi rogami. Działa to tylko dla planarnych obiektów z co najmniej dwoma krawędziami. Zauważ, że przy tym stylu tworzony jest nowy obiekt nieparametryczny, a jeśli tryb kopiowania jest wyłączony, oryginalny obiekt jest usuwany.
* Naciśnij {{KEY|C}} lub kliknij pole wyboru {{MenuCommand|Copy}}, aby przełączyć tryb kopiowania. Jeśli tryb kopiowania jest włączony, polecenie utworzy kopię z przesunięciem zamiast przesunięcia oryginalnego obiektu.
* Przytrzymanie klawisza {{KEY|Alt}} przed wybraniem punktów w oknie [[3D_view/pl|widoku 3D]] również przełączy tryb kopiowania. Gdy klawisz {{KEY|Alt}} jest przytrzymany, można wybrać wiele punktów przesunięcia. Aby zakończyć polecenie i zobaczyć utworzone kopie, należy puścić klawisz {{KEY|Alt}}.
* Przytrzymaj klawisz {{KEY|Shift}}, aby zachować odległość przesunięcia związaną z bieżącym segmentem.
* Naciśnij klawisz {{KEY|S}}, aby włączyć lub wyłączyć [[Draft_Snap/pl|przyciąganie]].
* Naciśnij klawisz {{KEY|Esc}} lub przycisk {{Button|Zamknij}}, aby zakończyć polecenie.

<span id="Notes"></span>
==Uwagi==

* Aby utworzyć przesuniętą wersję [[Draft_BSpline/pl|krzywą złożoną]], jej punkty są przesuwane indywidualnie, a z nowych punktów obliczana jest nowa krzywa złożona. Ta nowa krzywa nie jest równoległa do krzywej oryginalnej. Aby uzyskać dokładne przesunięcie równoległe [[Draft_BSpline/pl|krzywej złożonej]] należy użyć polecenia [[Part_Offset2D/pl|Part: Odsunięcie 2D]].
* Polecenie nie radzi sobie z [[Draft_BezCurve/pl|krzywą Beziera]]. Zamiast niego użyj polecenia [[Part_Offset2D/pl|Part: Odsunięcie 2D]].

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


Zobacz również stronę: [https://freecad.github.io/SourceDoc/ Dokumentacja API generowana automatycznie] oraz [[FreeCAD_Scripting_Basics/pl|Podstawy tworzenia skryptów FreeCAD]].
See also: [https://www.freecadweb.org/api Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].


Aby odsunąć obiekty należy użyć metody {{incode|offset}} modułu Rysunek Roboczy. Metoda ta może obsługiwać tylko obiekty typu[[Draft_Wire/pl|polilinia]], [[Draft_Circle/pl|okrąg]], [[Draft_Rectangle/pl|prostokąt]], [[Draft_Polygon/pl|wielokąt]] i [[Draft_BSpline/pl|linia złożona]].
The Offset tool can be used in [[macros|macros]] and from the [[Python|Python]] console by using the following function:


{{Code|code=
{{Code|code=
Offsetobj = offset(obj, delta, copy=False, bind=False, sym=False, occ=False)
offset_obj = offset(obj, delta, copy=False, bind=False, sym=False, occ=False)
}}
}}


* {{incode|obj}} to obiekt, który ma zostać odsunięty.
* Offsets the given {{incode|obj}} wire by applying the given {{incode|delta}}, defined as a vector, to its first vertex.
* {{incode|delta}} zawiera informacje o odsunięciu:
* If {{incode|copy}} is {{incode|True}} another object is created instead of offsetting the original object.
** Dla [[Draft_Wire/pl|polilinii]], [[Draft_Rectangle/pl|prostokątów]] i [[Draft_Polygon/pl|wielokątów]] jest to wektor przesunięcia, który musi być prostopadły do pierwszego segmentu obiektu.
* If {{incode|bind}} is {{incode|True}}, and provided the wire object is open, the original and the offset wire will be tied at their endpoints, forming a face.
** Dla [[Draft_Circle/pl|okręgu]] jest to nowy promień.
** If {{incode|sym}} is {{incode|True}}, {{incode|bind}} must be {{incode|True}} as well, and the offset is made on both sides of the wire, the total width being the length of the given vector.
** Dla [[Draft_BSpline/pl|linii złożonej]] jest to lista nowych punktów.
* If {{incode|occ}} is {{incode|True}}, it will use OCC-style offsetting: it will offset from both sides, then tie the new wires together, and round the corners.
* Jeśli wartość opcji {{incode|copy}} wynosi {{incode|True}}, oryginalny obiekt jest zachowywany i tworzony jest nowy obiekt.
* {{incode|Offsetobj}} is returned with the original offset object, or with the new copy.
* Jeśli wartość opcji {{incode|bind}} wynosi {{incode|True}}, tworzona jest ściana poprzez połączenie kształtu oryginalnego obiektu z kształtem jego odsunięcia. Działa to tylko dla otwartych [[Draft_Wire/pl|polilinii]].
* Jeśli wartość parametru {{incode|sym}} wynosi {{incode|True}}, a wartość parametru {{incode|bind}} również wynosi {{incode|True}}, to odsunięcie jest wykonywane po obu stronach oryginalnego obiektu, a całkowita szerokość jest równa długości podanego wektora. Działa to tylko dla otwartych [[Draft_Wire/pl|polilinii]].
* Jeśli wartość parametru {{incode|occ}} wynosi {{incode|True}} używane jest odsunięcie w stylu OCC. Zobacz [[#Opcje|Opcje]]. Jeśli wartość parametru {{incode|occ}} wynosi {{incode|True}}, argumenty {{incode|bind}} i {{incode|sym}} są ignorowane.
* {{incode|offset_obj}} jest zwracany z oryginalnym obiektem odsunięcia, lub z nowym obiektem. Jeśli wartość parametru {{incode|bind}} wynosi {{incode|True}} lub wartość parametru {{incode|occ}} wynosi {{incode|True}}, to nowy obiekt jest obiektem {{incode|[[Part_Feature/pl|Część: Cecha]]}}.


Przykład:
Przykład:


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

doc = App.newDocument()

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1500, 2000, 0)
p3 = App.Vector(4000, 0, 0)


p1 = FreeCAD.Vector(0, 0, 0)
wire = Draft.make_wire([p1, p2, p3])
doc.recompute()
p2 = FreeCAD.Vector(1500, 2000, 0)
p3 = FreeCAD.Vector(4000, 0, 0)


Wire = Draft.makeWire([p1, p2, p3])
vector = App.Vector(-200, 150, 0)
offset1 = Draft.offset(wire, vector, copy=True, bind=True, sym=True)
offset2 = Draft.offset(wire, 3*vector, copy=True)
offset3 = Draft.offset(wire, 6*vector, copy=True)
offset4 = Draft.offset(wire, 9*vector, copy=True)
offset5 = Draft.offset(wire, 1.5*vector, copy=True, occ=True)


doc.recompute()
vector = FreeCAD.Vector(0, 500, 0)
Offset_1 = Draft.offset(Wire, vector, copy=True)
Offset_2 = Draft.offset(Wire, 3*vector, copy=True)
Offset_3 = Draft.offset(Wire, 6*vector, copy=True)
Offset_4 = Draft.offset(Wire, 9*vector, copy=True)
Offset_5 = Draft.offset(Wire, 1.5*vector, copy=True, occ=True)
}}
}}


Line 87: Line 116:
|[[Draft_Mirror/pl|Odbicie lustrzane]]
|[[Draft_Mirror/pl|Odbicie lustrzane]]
|[[Draft_Trimex/pl|Przytnij]]
|[[Draft_Trimex/pl|Przytnij]]
|[[Draft_Module/pl|Środowisko pracy Rysunek Roboczy]]
|[[Draft_Workbench/pl|Środowisko pracy Rysunek Roboczy]]
|IconL=Draft_Mirror.svg
|IconL=Draft_Mirror.svg
|IconR=Draft_Trimex.svg
|IconR=Draft_Trimex.svg

Latest revision as of 07:43, 9 January 2024

Rysunek Roboczy: Odsunięcie

Lokalizacja w menu
Modyfikacja → Odsunięcie
Środowisko pracy
Rysunek Roboczy, Architektura
Domyślny skrót
O S
Wprowadzono w wersji
-
Zobacz także
Odsunięcie 2D

Opis

Narzędzie Odsunięcie przesuwa każdy segment wybranego obiektu o zadaną odległość lub tworzy przesuniętą kopię wybranego obiektu.

Odsunięcie linii łamanej

Użycie

Zobacz także strony: Rysunek Roboczy: Przyciąganie i Rysunek Roboczy: Wiązania.

  1. Opcjonalnie wybierz jeden obiekt. Obiekt musi leżeć na aktualnej płaszczyźnie roboczej.
  2. Istnieje kilka sposobów, aby wywołać to polecenie:
    • Naciśnij przycisk Odsunięcie.
    • Wybierz z menu opcję Modifikacja → Odsunięcie.
    • Użyj skrótu klawiaturowego: O, a następnie S.
  3. Jeśli nie wybrałeś jeszcze obiektu: wybierz obiekt w oknie widoku 3D.
  4. Otwiera się panel zadań Odsunięcie. Zobacz Opcje, aby uzyskać więcej informacji.
  5. Aby zdefiniować odległość przesunięcia, wykonaj jedną z poniższych czynności:
    • Wybierz punkt w oknie widoku 3D
    • Wprowadź wartość:
      1. Upewnij się, że kursor znajduje się po właściwej stronie obiektu w oknie widoku 3D.
      2. Nie wysuwaj kursora poza okno widoku 3D.
      3. Wprowadź Dystans.
      4. Naciśnij klawisz Enter 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).

  • Jeśli pole wyboru Odsunięcie w stylu OpenCascade jest zaznaczone, używany jest specjalny styl odsunięcia: otwarte polilinie są odsunięte po obu stronach, a nowe krawędzie są łączone z zaokrąglonymi rogami. Działa to tylko dla planarnych obiektów z co najmniej dwoma krawędziami. Zauważ, że przy tym stylu tworzony jest nowy obiekt nieparametryczny, a jeśli tryb kopiowania jest wyłączony, oryginalny obiekt jest usuwany.
  • Naciśnij C lub kliknij pole wyboru Copy, aby przełączyć tryb kopiowania. Jeśli tryb kopiowania jest włączony, polecenie utworzy kopię z przesunięciem zamiast przesunięcia oryginalnego obiektu.
  • Przytrzymanie klawisza Alt przed wybraniem punktów w oknie widoku 3D również przełączy tryb kopiowania. Gdy klawisz Alt jest przytrzymany, można wybrać wiele punktów przesunięcia. Aby zakończyć polecenie i zobaczyć utworzone kopie, należy puścić klawisz Alt.
  • Przytrzymaj klawisz Shift, aby zachować odległość przesunięcia związaną z bieżącym segmentem.
  • Naciśnij klawisz S, aby włączyć lub wyłączyć przyciąganie.
  • Naciśnij klawisz Esc lub przycisk Zamknij, aby zakończyć polecenie.

Uwagi

Tworzenie skryptów

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

Aby odsunąć obiekty należy użyć metody offset modułu Rysunek Roboczy. Metoda ta może obsługiwać tylko obiekty typupolilinia, okrąg, prostokąt, wielokąt i linia złożona.

offset_obj = offset(obj, delta, copy=False, bind=False, sym=False, occ=False)
  • obj to obiekt, który ma zostać odsunięty.
  • delta zawiera informacje o odsunięciu:
  • Jeśli wartość opcji copy wynosi True, oryginalny obiekt jest zachowywany i tworzony jest nowy obiekt.
  • Jeśli wartość opcji bind wynosi True, tworzona jest ściana poprzez połączenie kształtu oryginalnego obiektu z kształtem jego odsunięcia. Działa to tylko dla otwartych polilinii.
  • Jeśli wartość parametru sym wynosi True, a wartość parametru bind również wynosi True, to odsunięcie jest wykonywane po obu stronach oryginalnego obiektu, a całkowita szerokość jest równa długości podanego wektora. Działa to tylko dla otwartych polilinii.
  • Jeśli wartość parametru occ wynosi True używane jest odsunięcie w stylu OCC. Zobacz Opcje. Jeśli wartość parametru occ wynosi True, argumenty bind i sym są ignorowane.
  • offset_obj jest zwracany z oryginalnym obiektem odsunięcia, lub z nowym obiektem. Jeśli wartość parametru bind wynosi True lub wartość parametru occ wynosi True, to nowy obiekt jest obiektem Część: Cecha.

Przykład:

import FreeCAD as App
import Draft

doc = App.newDocument()

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1500, 2000, 0)
p3 = App.Vector(4000, 0, 0)

wire = Draft.make_wire([p1, p2, p3])
doc.recompute()

vector = App.Vector(-200, 150, 0)
offset1 = Draft.offset(wire, vector, copy=True, bind=True, sym=True)
offset2 = Draft.offset(wire, 3*vector, copy=True)
offset3 = Draft.offset(wire, 6*vector, copy=True)
offset4 = Draft.offset(wire, 9*vector, copy=True)
offset5 = Draft.offset(wire, 1.5*vector, copy=True, occ=True)

doc.recompute()