Surface GeomFillSurface/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "powinien działać, aby wygenerować powierzchnię, która się nie skręca.")
No edit summary
Line 91: Line 91:
curve2 = [e, f, g]
curve2 = [e, f, g]
}}
}}
powinien działać, aby wygenerować powierzchnię, która się nie skręca.
powinno działać, aby wygenerować powierzchnię, która się nie 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.
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.

Revision as of 16:44, 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.

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 WIDOKLighting property is One side, a face will be painted completely black if its normal direction points into the 3D view (away from the current viewer), indicating a flipped face with respect to the other colored faces.

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

See also: FreeCAD Scripting Basics.

The Surface GeomFillSurface tool can be used in macros and from the Python console by adding the Surface::GeomFillSurface object.

  • The edges to be used to define the surface must be assigned as a LinkSubList to the BoundaryList property of the object.
  • The type of algorithm must be assigned like a string to the FillType property.
  • All objects with edges need to be computed before they can be used as input for the properties of the GeomFillSurface object.
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()