|
Lokalizacja w menu |
---|
Surface → Filling |
Środowisko pracy |
Powierzchnia 3D |
Domyślny skrót |
brak |
Wprowadzono w wersji |
0.17 |
Zobacz także |
brak |
Opis
Polecenie Wypełnianie tworzy powierzchnię z serii połączonych krawędzi granicznych. Krzywizna powierzchni może być dodatkowo kontrolowana przez krawędzie i wierzchołki, które nie są krawędziami granicznymi, oraz powierzchnię podpierającą.
Geometria bazowa może należeć do krzywych utworzonych za pomocą środowiska Rysunek Roboczy lub Szkicownik, ale może również należeć do obiektów bryłowych, takich jak te utworzone za pomocą środowiska Część lub Projekt Części.
Dwie wypełnione powierzchnie ograniczone czterema krawędziami znajdującymi się na płaszczyźnie XY. Powierzchnia po prawej stronie jest dodatkowo kontrolowana przez krawędź niebędącą granicą.
Użycie
- Naciśnij przycisk
Wypełnianie.
- Otworzy się panel zadań Granice. Zobacz dostępne Opcje.
- Wybierz dwie lub więcej krawędzi w oknie widoku 3D:
- W tym momencie nie ma potrzeby naciskania przycisku Dodaj krawędź w sekcji Granice.
- Krawędzie muszą być wybrane w odpowiedniej kolejności.
- Krawędzie muszą być połączone, ale cała granica nie musi być zamknięta.
- Kompletna granica nie powinna się przecinać.
- W przypadku okrągłej granicy 360° można wybrać dwie półokrągłe krawędzie.
- Podgląd ostatecznego kształtu zostanie wyświetlony po wybraniu wystarczającej ilości prawidłowej geometrii.
- Opcjonalnie wybierz Powierzchnia pomocnicza. Zobacz Przykład.
- Opcjonalnie wybierz jedno lub więcej Wiązania krawędziowe.
- Opcjonalnie wybierz jedno lub więcej Wiązań wierzchołków.
- Naciśnij przycisk OK.
Opcje
- W sekcji Granice można określić powierzchnię podparcia i krawędzie graniczne:
- Naciśnij przycisk Powierzchnia podparcia i wybierz ścianę w oknie widoku 3D, aby dodać powierzchnię podparcia.
- Kliknij ikonę
, aby usunąć powierzchnię podparcia.
- Kliknij ikonę
- Naciśnij przycisk Dodaj krawędź raz, aby rozpocząć zaznaczanie krawędzi granicznych w oknie widoku 3D.
- Istnieje kilka sposobów na usunięcie zaznaczenia krawędzi granicznych:
- Naciśnij przycisk Usuń krawędź raz, aby rozpocząć odznaczanie krawędzi w oknie widoku 3D.
- Zaznacz krawędź na liście i naciśnij klawisz Delete.
- Kliknij prawym przyciskiem myszy krawędź na liście i wybierz Usuń z menu podręcznego.
- Naciśnij przycisk Powierzchnia podparcia i wybierz ścianę w oknie widoku 3D, aby dodać powierzchnię podparcia.
- W sekcji Wiązania krawędzi można określić krawędzie niebędące krawędziami granicznymi:
- Opcje wyboru są podobne do tych dla krawędzi granicznych.
- W sekcji Wiązania wierzchołków można określić wierzchołki nie będące wierzchołkami granicznymi:
- Opcje wyboru są podobne do tych dla wierzchołków granicznych.
- Naciśnij przycisk Esc lub przycisk Anuluj aby przerwać wykonywanie polecenia.
Przykład
Polecenie Powierzchnia podparcia działa jako dodatkowe ograniczenie dla powierzchni. Poniższy prosty przykład pozwoli zrozumieć, jak to działa:
- W środowisku pracy
Część utwórz
walec i ustaw jego DANEkąt na
180°
. - Przełącz się ponownie na środowisko pracy
Powierzchnia 3D i naciśnij przycisk
Wypełnienie.
- Wybierz dwie półokrągłe krawędzie i dwie proste krawędzie, które je łączą.
- Wynik jest zgodny z czterema krawędziami granicznymi, ale wewnętrzny kształt jest zupełnie inny od powierzchni cylindrycznej.
- Edytuj obiekt Powierzchnia i dla Powierzchnia podparcia wybierz powierzchnię cylindryczną.
- Zmodyfikowany kształt znacznie lepiej pasuje do powierzchni walcowej.
Właściwości
Obiekt Wypełnienie (klasa Surface::Filling
) jest pochodną podstawowej klasy Część: Cecha (klasa Part::Feature
, poprzez klasę podrzędną Part::Spline
), dlatego też dzieli z nią wszystkie jej właściwości.
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
Wypełnienie
- DANEBoundary Edges (
LinkSubList
): Krawędzie graniczne, C0 jest wymagane dla krawędzi bez odpowiadającej im powierzchni. - DANEBoundary Faces (
StringList
): - DANEBoundary Order (
IntegerList
): Kolejność ograniczeń na powierzchniach granicznych;0
,1
i2
są możliwe. - DANEUnbound Edges (
LinkSubList
): Nieograniczone krawędzie wiązania, C0 jest wymagane dla krawędzi bez odpowiedniej ściany. - DANEUnbound Faces (
StringList
): - DANEUnbound Order (
IntegerList
): Kolejność ograniczeń na niezwiązanych powierzchniach;0
,1
i2
są możliwe. - DANEFree Faces (
LinkSubList
): Wolne ograniczenie na powierzchni. - DANEFree Order (
IntegerList
): Kolejność wiązań na wolnych powierzchniach. - DANEPoints (
LinkSubList
): Punkty wiązania na powierzchni. - DANEInitial Face (
LinkSub
): początkowa powierzchnia do użycia. - DANEDegree (
Integer
): Stopień początkowy, domyślnie3
. - DANEPoints On Curve (
Integer
): Liczba punktów na krawędzi dla wiązania. - DANEIterations (
Integer
): Liczba iteracji, domyślnie2
. - DANEAnisotropy (
Bool
): Wartość domyślna toFAŁSZ
. - DANETolerance2d (
Float
): Tolerancja 2D, domyślnie0.0
. - DANETolerance3d (
Float
): Tolerancja 3D, domyślnie0.0
. - DANETol Angular (
Float
): Tolerancja G1, domyślnie0.01
. - DANETol Curvature (
Float
): Tolerancja G2, domyślnie0.10
. - DANEMaximum Degree (
Integer
): Maksymalny stopień krzywej, wartością domyślną jest8
. - DANEMaximum Segments (
Integer
): Maksymalna liczba segmentów, domyślnie9
.
Widok
Podstawa
- WIDOKPunkty kontrolne (
Bool
): wartość domyślna toFAŁSZ
, Jeśli ustawionoPRAWDA
, wyświetlona zostanie nakładka z punktami kontrolnymi krzywej.
Tworzenie skryptów
Zobacz również: FreeCAD podstawy tworzenia skryptów.
Narzędzie Wypełnienie powierzchni może być używane w makrodefinicjach i z konsoli Python poprzez dodanie obiektu Surface::Filling
.
- Krawędzie, które mają być użyte do zdefiniowania powierzchni, muszą być przypisane jako LinkSubList do właściwości
BoundaryEdges
obiektu. - Pomocnicze krawędzie i wierzchołki muszą być przypisane jako LinkSubLists do właściwości
UnboundEdges
iPoints
obiektu. - 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(-20, -20, 0)
b = App.Vector(-18, 25, 0)
c = App.Vector(60, 26, 0)
d = App.Vector(33, -20, 0)
points1 = [a, App.Vector(-20, -8, 0), App.Vector(-17, 7, 0), b]
obj1 = Draft.make_bspline(points1)
points2 = [b, App.Vector(0, 25, 0), c]
obj2 = Draft.make_bspline(points2)
points3 = [c, App.Vector(37, 4, 0), d]
obj3 = Draft.make_bspline(points3)
points4 = [d, App.Vector(-2, -18, 0), a]
obj4 = Draft.make_bspline(points4)
doc.recompute()
surf = doc.addObject("Surface::Filling", "Surface")
surf.BoundaryEdges = [(obj1, "Edge1"),
(obj2, "Edge1"),
(obj3, "Edge1"),
(obj4, "Edge1")]
doc.recompute()
# ---------------------------------------------------------
points_spl = [App.Vector(-10, 0, 2),
App.Vector(4, 0, 7),
App.Vector(18, 0, -5),
App.Vector(25, 0, 0),
App.Vector(30, 0, 0)]
aux_edge = Draft.make_bspline(points_spl)
doc.recompute()
surf.UnboundEdges = [(aux_edge, "Edge1")]
doc.recompute()
# ---------------------------------------------------------
aux_v1 = Draft.make_line(App.Vector(-13, -12, 5),
App.Vector(-13, -12, -5))
aux_v2 = Draft.make_line(App.Vector(-3, 18, 5),
App.Vector(-3, 18, -5))
doc.recompute()
surf.Points = [(aux_v1, "Vertex2"),
(aux_v2, "Vertex1")]
doc.recompute()
Ta strona pochodzi z https://wiki.freecad.org/Surface_Filling