Surface GeomFillSurface/pl: Difference between revisions
(Created page with "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 {{Button|File:Part_CheckGeometry.svg|1...") |
(Created page with "Na przykład, jeśli dwie krzywe mają punkty:") |
||
Line 73: | Line 73: | ||
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ęść. |
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] |
Revision as of 16:42, 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
- Naciśnij przycisk 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 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 toFAŁSZ
, Jeśli ustawionoPRAWDA
, 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]
and the resulting surface after using GeomFillSurface or 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.
Either
curve1 = [a, b, c, d]
curve3 = [g, f, e]
or
curve3 = [d, c, b, a]
curve2 = [e, f, g]
should work to generate a surface that doesn'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.
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()
- Jak zacząć
- Instalacja: Pobieranie programu, Windows, Linux, Mac, Dodatkowych komponentów, Docker, AppImage, Ubuntu Snap
- Podstawy: Informacje na temat FreeCAD, Interfejs użytkownika, Profil nawigacji myszką, Metody wyboru, Nazwa obiektu, Edytor ustawień, Środowiska pracy, Struktura dokumentu, Właściwości, Pomóż w rozwoju FreeCAD, Dotacje
- Pomoc: Poradniki, Wideo poradniki
- Środowiska pracy: Strona Startowa, Architektura, Assembly, CAM, Rysunek Roboczy, MES, Inspekcja, Siatka, OpenSCAD, Część, Projekt Części, Punkty, Inżynieria Wsteczna, Robot, Szkicownik, Arkusz Kalkulacyjny, Powierzchnia 3D, Rysunek Techniczny, Test Framework