Surface GeomFillSurface/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "# Naciśnij przycisk {{Button|16px '''Wypełnianie krzywych granicznych'''}}. # Wybierz krawędzie w oknie widoku 3D. Krawędzie muszą łączyć się ze sobą tak, aby tworzyły profil zamknięty. # Naciśnij {{Button|OK}}.")
No edit summary
 
(28 intermediate revisions by the same user not shown)
Line 4: Line 4:
|[[Surface_Filling/pl|Wypełnianie]]
|[[Surface_Filling/pl|Wypełnianie]]
|[[Surface_Sections/pl|Przekrój powierzchni]]
|[[Surface_Sections/pl|Przekrój powierzchni]]
|[[Surface_Workbench/pl|środowisko pracy Powierzchnia]]
|[[Surface_Workbench/pl|środowisko pracy Powierzchnia 3D]]
|IconL=Surface_Filling.svg
|IconL=Surface_Filling.svg
|IconR=Surface_Sections.svg
|IconR=Surface_Sections.svg
Line 38: Line 38:
# Naciśnij {{Button|OK}}.
# Naciśnij {{Button|OK}}.


{{Emphasis|Uwaga:}} Po utworzeniu nie jest możliwe zastosowanie dodatkowych wiązań do utworzonej powierzchni.
{{Emphasis|Note:}} once created, it is not possible to apply additional constraints to the created surface.


==Options==
<span id="Options"></span>
==Opcje==


{{MenuCommand|Fill type}}: {{RadioButton|TRUE|Stretch}}, {{RadioButton|TRUE|Coons}}, or {{RadioButton|TRUE|Curved}}.
{{MenuCommand|Typ wypełnienia}}: {{RadioButton|TRUE|Rozciągnięcie}}, {{RadioButton|TRUE|Coons}}, lub {{RadioButton|TRUE|Zakrzywienie}}.


==Properties==
<span id="Properties"></span>
==Właściwości==


A [[Surface_GeomFillSurface|Surface GeomFillSurface]] ({{incode|Surface::GeomFillSurface}} class) is derived from the basic [[Part_Feature|Part Feature]] ({{incode|Part::Feature}} class, through the {{incode|Part::Spline}} subclass), therefore it shares all the latter's properties.
Obiekt '''Wypełnianie krzywych granicznych''' ''(klasa {{incode|Surface::GeomFillSurface}})'' jest pochodną podstawowej klasy [[Part_Feature/pl|Część: Cecha]] ''(klasa {{incode|Part::Feature}}, wraz z klasą podrzędną {{incode|Part::Spline}})'', dlatego też współdzieli wszystkie właściwości tej ostatniej.


In addition to the properties described in [[Part_Feature|Part Feature]], the Surface Filling has the following properties in the [[Property_editor|property editor]].
Oprócz właściwości opisanych na stronie [[Part_Feature/pl|Cecha części]], obiekt Rozszerz powierzchnię, posiada następujące właściwości w [[Property_editor/pl|edytorze właściwości]].


<span id="Data"></span>
=== Data ===
===Dane===


{{TitleProperty|Base}}
{{TitleProperty|Podstawa}}


*{{PropertyData|Fill Type|Enumeration}}: the applied filling algorithm; Stretch, the style with the flattest patches; [https://en.wikipedia.org/wiki/Coons_patch {{Value|Coons}}], a rounded style with less depth than Curved; Curved, the style with the most rounded patches.
*{{PropertyData|Typ wypełnienia|Enumeration}}: zastosowany algorytm wypełniania; Rozciągnięcie, styl z najbardziej płaskimi łatami. [https://en.wikipedia.org/wiki/Coons_patch {{Value|Coons}}], zaokrąglony styl o mniejszej głębokości niż Zakrzywienie. Zakrzywiony, styl z najbardziej zaokrąglonymi łatami.
*{{PropertyData|Boundary List|LinkSubList}}: a list of edges that will be used to build the surface.
*{{PropertyData|Lista granic|LinkSubList}}: lista krawędzi, które zostaną użyte do zbudowania powierzchni.
*{{PropertyData|Reversed List|BoolList|(hidden)}}:
*{{PropertyData|Lista odwrócona|BoolList|(ukryte)}}:


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


{{TitleProperty|Base}}
{{TitleProperty|Podstawa}}


* {{PropertyView|Control Points|Bool}}: it defaults to {{FALSE}}; if set to {{TRUE}}, it will show an overlay with the control points of the surface.
* {{PropertyView|Punkty kontrolne|Bool}}: wartość domyślna to {{FALSE/pl}}, Jeśli ustawiono {{TRUE/pl}}, wyświetlona zostanie nakładka z punktami kontrolnymi krzywej.


<span id="Twisting_of_the_surface"></span>
== Twisting of the surface ==
==Skręcenie powierzchni==


The shape of the surface depends on the direction of the chosen edges; if edges are selected and the result is a surface that "twists" on itself, one of the edges may need its list of vertices in the reverse order. A surface that twists on itself will probably have self-intersections, and thus will be an invalid [[Part_TopoShape|Shape]]; this can be verified with {{Button|[[File:Part_CheckGeometry.svg|16px]] [[Part_CheckGeometry|Part CheckGeometry]]}}.
Kształt powierzchni zależy od kierunku wybranych krawędzi; jeśli wybrano krawędzie, a wynikiem jest powierzchnia, która "zakręca" na siebie, jedna z krawędzi może wymagać listy wierzchołków w odwrotnej kolejności. Powierzchnia, która skręca się sama na sobie, prawdopodobnie będzie miała samoprzecięcia, a zatem będzie nieprawidłowym [[Part_TopoShape/pl|kształtem]]. Można to zweryfikować za pomocą narzędzia {{Button|[[File:Part_CheckGeometry.svg|16px]] [[Part_CheckGeometry/pl|Sprawdź geometrię]]}} środowiska pacy Część.


Na przykład, jeśli dwie krzywe mają punkty:
For example, if two curves have the points
{{Code|code=
{{Code|code=
curve1 = [a, b, c, d]
curve1 = [a, b, c, d]
curve2 = [e, f, g]
curve2 = [e, f, g]
}}
}}
and the resulting surface after using {{Button|[[File:Surface_GeomFillSurface.svg|16px]] [[Surface_GeomFillSurface|GeomFillSurface]]}} or {{Button|[[File:Surface_Sections.svg|16px]] [[Surface_Sections|Sections]]}} is a twisted surface, you may create a third curve that is equal to one of the two original curves but with a reversed list of points.
oraz wynikową powierzchnię po użyciu {{Button|[[File:Surface_GeomFillSurface.svg|16px]] [[Surface_GeomFillSurface/pl|Wypełnianie krzywych granicznych]]}} lub {{Button|[[File:Surface_Sections.svg|16px]] [[Surface_Sections/pl|Przekrój powierzchni]]}} jest powierzchnią skręconą, możesz utworzyć trzecią krzywą, która jest równa jednej z dwóch oryginalnych krzywych, ale z odwróconą listą punktów.


Albo
Either
{{Code|code=
{{Code|code=
curve1 = [a, b, c, d]
curve1 = [a, b, c, d]
Line 81: Line 86:
}}
}}


lub
or
{{Code|code=
{{Code|code=
curve3 = [d, c, b, a]
curve3 = [d, c, b, a]
curve2 = [e, f, g]
curve2 = [e, f, g]
}}
}}
powinno działać, aby wygenerować powierzchnię, która się nie skręca.
should work to generate a surface that doesn't twist.


W praktyce oznacza to, że wszystkie krawędzie używane do generowania powierzchni powinny być tworzone najlepiej w tym samym kierunku zgodnym lub przeciwnym do ruchu wskazówek zegara. Przestrzeganie tej prostej zasady zwykle gwarantuje, że powierzchnia będzie podążać w najbardziej płynnym kierunku i nie będzie się skręcać.
In practical terms this means that all edges used to generate a surface should be created preferably in the same clockwise or anti-clockwise direction. Following this simple rule usually guarantees that the surface will follow the smoothest direction and won't twist.


When the surface's {{PropertyView|Lighting}} property is {{Value|One side}}, a face will be painted completely black if its normal direction points into the [[3D_view|3D view]] (away from the current viewer), indicating a flipped face with respect to the other colored faces.
Gdy właściwość {{PropertyView|Oświetlenie}} powierzchni ma wartość {{Value|Jedna strona}}, powierzchnia zostanie pomalowana na czarno, jeśli jej normalny kierunek wskazuje na [[3D_view/pl|widok 3D]] ''(z dala od bieżącej widza)'', wskazując odwróconą powierzchnię w stosunku do innych kolorowych powierzchni.


[[File:Surface_twisting_example_smooth.png|330px]] [[File:Surface_twisting_example_twisted.png|330px]]
[[File:Surface_twisting_example_smooth.png|330px]] [[File:Surface_twisting_example_twisted.png|330px]]
{{Caption|Po lewej: krawędzie graniczne są zorientowane w tym samym kierunku, a zatem wygenerowana powierzchnia jest gładka. Po prawej: krawędzie graniczne mają przeciwne kierunki, a zatem wygenerowana powierzchnia skręca się na sobie, powodując samoprzecinanie.}}
{{Caption|Left: the boundary edges are oriented in the same direction, and thus the generated surface is smooth. Right: the boundary edges have opposite directions, and thus the generated surface twists on itself, resulting in self-intersections.}}


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


{{Emphasis|See also:}} [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].
{{Emphasis|Zobacz również:}} [[FreeCAD_Scripting_Basics/pl|FreeCAD podstawy tworzenia skryptów]].


The Surface GeomFillSurface tool can be used in [[Macros|macros]] and from the [[Python|Python]] console by adding the {{incode|Surface::GeomFillSurface}} object.
Narzędzie '''Wypełnianie krzywych granicznych''' powierzchni może być używane w [[Macros/pl|makrodefinicjach]] i z konsoli [[Python/pl|Python]] poprzez dodanie obiektu {{Incode|Surface::GeomFillSurface}}.
* The edges to be used to define the surface must be assigned as a [[LinkSubList|LinkSubList]] to the {{incode|BoundaryList}} property of the object.
* Krawędzie, które mają być użyte do zdefiniowania powierzchni, muszą być przypisane jako [[LinkSubList/pl|LinkSubList]] do właściwości {{incode|BoundaryList}} obiektu.
* The type of algorithm must be assigned like a string to the {{incode|FillType}} property.
* Typ algorytmu musi być przypisany jako ciąg znaków do właściwości {{incode|TypWypełnienia}}.
* Wszystkie obiekty z krawędziami muszą zostać obliczone, zanim będą mogły zostać użyte jako dane wejściowe dla właściwości obiektu Filling.
* All objects with edges need to be computed before they can be used as input for the properties of the GeomFillSurface object.


{{Code|code=
{{Code|code=
Line 137: Line 143:




{{Docnav
{{Docnav/pl
|[[Surface_Filling|Filling]]
|[[Surface_Filling/pl|Wypełnianie]]
|[[Surface_Sections|Sections]]
|[[Surface_Sections/pl|Przekrój powierzchni]]
|[[Surface_Workbench|Surface]]
|[[Surface_Workbench/pl|środowisko pracy Powierzchnia 3D]]
|IconL=Surface_Filling.svg
|IconL=Surface_Filling.svg
|IconR=Surface_Sections.svg
|IconR=Surface_Sections.svg

Latest revision as of 16:57, 24 January 2024

Powierzchnia 3D: Wypełnianie krzywych granicznych

Lokalizacja w menu
Surface → Fill boundary curves
Środowisko pracy
Powierzchnia 3D
Domyślny skrót
brak
Wprowadzono w wersji
0.17
Zobacz także
brak

Opis

Polecenie Wypełnianie krzywych granicznych tworzy parametryczną powierzchnię z dwóch, trzech lub czterech krawędzi granicznych, próbując utworzyć płynne przejście między nimi.

Po lewej: krawędzie używane do generowania powierzchni za pomocą narzędzia Wypełnianie krzywych granicznych, cztery połączone krawędzie, trzy połączone krawędzie i dwie odłączone krawędzie. Po prawej: powierzchnia wynikowa z użycia odpowiednio czterech, trzech i dwóch krawędzi.

Użycie

  1. Naciśnij przycisk Wypełnianie krzywych granicznych.
  2. Wybierz krawędzie w oknie widoku 3D. Krawędzie muszą łączyć się ze sobą tak, aby tworzyły profil zamknięty.
  3. Naciśnij OK.

Uwaga: Po utworzeniu nie jest możliwe zastosowanie dodatkowych wiązań do utworzonej powierzchni.

Opcje

Typ wypełnienia: Rozciągnięcie, Coons, lub Zakrzywienie.

Właściwości

Obiekt Wypełnianie krzywych granicznych (klasa Surface::GeomFillSurface) jest pochodną podstawowej klasy Część: Cecha (klasa Part::Feature, wraz z klasą podrzędną Part::Spline), dlatego też współdzieli wszystkie właściwości tej ostatniej.

Oprócz właściwości opisanych na stronie Cecha części, obiekt Rozszerz powierzchnię, posiada następujące właściwości w edytorze właściwości.

Dane

Podstawa

  • DANETyp wypełnienia (Enumeration): zastosowany algorytm wypełniania; Rozciągnięcie, styl z najbardziej płaskimi łatami. Coons, zaokrąglony styl o mniejszej głębokości niż Zakrzywienie. Zakrzywiony, styl z najbardziej zaokrąglonymi łatami.
  • DANELista granic (LinkSubList): lista krawędzi, które zostaną użyte do zbudowania powierzchni.
  • DANE ((ukryte))Lista odwrócona (BoolList):

Widok

Podstawa

  • WIDOKPunkty kontrolne (Bool): wartość domyślna to FAŁSZ, Jeśli ustawiono PRAWDA, wyświetlona zostanie nakładka z punktami kontrolnymi krzywej.

Skręcenie powierzchni

Kształt powierzchni zależy od kierunku wybranych krawędzi; jeśli wybrano krawędzie, a wynikiem jest powierzchnia, która "zakręca" na siebie, jedna z krawędzi może wymagać listy wierzchołków w odwrotnej kolejności. Powierzchnia, która skręca się sama na sobie, prawdopodobnie będzie miała samoprzecięcia, a zatem będzie nieprawidłowym kształtem. Można to zweryfikować za pomocą narzędzia Sprawdź geometrię środowiska pacy Część.

Na przykład, jeśli dwie krzywe mają punkty:

curve1 = [a, b, c, d]
curve2 = [e, f, g]

oraz wynikową powierzchnię po użyciu Wypełnianie krzywych granicznych lub Przekrój powierzchni jest powierzchnią skręconą, możesz utworzyć trzecią krzywą, która jest równa jednej z dwóch oryginalnych krzywych, ale z odwróconą listą punktów.

Albo

curve1 = [a, b, c, d]
curve3 = [g, f, e]

lub

curve3 = [d, c, b, a]
curve2 = [e, f, g]

powinno działać, aby wygenerować powierzchnię, która się nie skręca.

W praktyce oznacza to, że wszystkie krawędzie używane do generowania powierzchni powinny być tworzone najlepiej w tym samym kierunku zgodnym lub przeciwnym do ruchu wskazówek zegara. Przestrzeganie tej prostej zasady zwykle gwarantuje, że powierzchnia będzie podążać w najbardziej płynnym kierunku i nie będzie się skręcać.

Gdy właściwość WIDOKOświetlenie powierzchni ma wartość Jedna strona, powierzchnia zostanie pomalowana na czarno, jeśli jej normalny kierunek wskazuje na widok 3D (z dala od bieżącej widza), wskazując odwróconą powierzchnię w stosunku do innych kolorowych powierzchni.

Po lewej: krawędzie graniczne są zorientowane w tym samym kierunku, a zatem wygenerowana powierzchnia jest gładka. Po prawej: krawędzie graniczne mają przeciwne kierunki, a zatem wygenerowana powierzchnia skręca się na sobie, powodując samoprzecinanie.

Tworzenie skryptów

Zobacz również: FreeCAD podstawy tworzenia skryptów.

Narzędzie Wypełnianie krzywych granicznych powierzchni może być używane w makrodefinicjach i z konsoli Python poprzez dodanie obiektu Surface::GeomFillSurface.

  • Krawędzie, które mają być użyte do zdefiniowania powierzchni, muszą być przypisane jako LinkSubList do właściwości BoundaryList obiektu.
  • Typ algorytmu musi być przypisany jako ciąg znaków do właściwości TypWypełnienia.
  • Wszystkie obiekty z krawędziami muszą zostać obliczone, zanim będą mogły zostać użyte jako dane wejściowe dla właściwości obiektu Filling.
import FreeCAD as App
import Draft

doc = App.newDocument()

a = App.Vector(-140, -100, 0)
b = App.Vector(175, -108, 0)
c = App.Vector(200, 101, 0)
d = App.Vector(-135, 107, 70)

points1 = [a, App.Vector(-55, -91, 65), App.Vector(35, -85, -5), b]
obj1 = Draft.make_bspline(points1)

points2 = [b, App.Vector(217, -45, 55), App.Vector(217, 35, -15), c]
obj2 = Draft.make_bspline(points2)

points3 = [c, App.Vector(33, 121, 55), App.Vector(0, 91, 15), App.Vector(-80, 121, -40), d]
obj3 = Draft.make_bspline(points3)

points4 = [d, App.Vector(-140, 0, 45), a]
obj4 = Draft.make_bspline(points4)
doc.recompute()

surf = doc.addObject("Surface::GeomFillSurface", "Surface")
surf.BoundaryList = [(obj1, "Edge1"),
                     (obj2, "Edge1"),
                     (obj3, "Edge1"),
                     (obj4, "Edge1")]
doc.recompute()