Powierzchnia 3D: Przekrój powierzchni

From FreeCAD Documentation
This page is a translated version of the page Surface Sections and the translation is 100% complete.
Other languages:

Powierzchnia 3D: Przekrój powierzchni

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

Opis

Polecenie Przekrój powierzchni służy do tworzenia powierzchni z krawędzi, które reprezentują poprzeczne przekroje powierzchni.

Po lewej: krawędzie kontrolne (przekroje poprzeczne). Po prawej: powierzchnia utworzona z tych krawędzi.

Użycie

  1. Upewnij się, że masz co najmniej dwie krawędzie lub krzywe w przestrzeni. Na przykład można je utworzyć za pomocą narzędzi środowiska pracy Rysunek Roboczy lub Szkicownik.
  2. Naciśnij przycisk Przekrój powierzchni.
  3. Naciśnij Dodaj krawędź.
  4. Użyj kursora, aby wybrać żądane krawędzie w oknie widoku 3D; podgląd ostatecznego kształtu zostanie wyświetlony po wybraniu dwóch prawidłowych krawędzi.
  5. Naciśnij OK, aby zakończyć operację.

Opcje

  • Dodaj krawędź: naciśnij raz, aby rozpocząć wybieranie krawędzi w oknie widoku 3D. Pojedyncze linie, takie jak Rysunek Roboczy: Krzywa złożona i Szkicownik: Krzywa złożona, a także dowolne krawędzie z obiektów bryłowych, jak te z Zawartości środowiska Projekt Części i geometrie pierwotne środowiska Część.
  • Usuń krawędź: naciśnij raz, aby rozpocząć wybieranie krawędzi w oknie Widok 3D; muszą to być krawędzie, które zostały wcześniej wybrane za pomocą Dodaj krawędź.
  • Prawy przycisk myszy: otwórz menu podręczne i wybierz Usuń lub naciśnij Del na klawiaturze, aby usunąć aktualnie wybraną krawędź z listy.
  • Przeciągnij: przeciągnięcie aktualnie zaznaczonego elementu na liście w celu zmiany kolejności, w jakiej będzie on przetwarzany; lista jest przetwarzana od góry do dołu.
  • Naciśnij Anuluj lub Esc, aby przerwać bieżącą operację.

Właściwości

Obiekt Przekrój powierzchni (klasa Surface::Sections) 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 Przekrój powierzchni, posiada następujące właściwości w edytorze właściwości.

Dane

Przekroje

  • DANENSections (LinkSubList): lista krawędzi, które zostaną użyte do zbudowania powierzchni.

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 krawędzie zostaną wybrane, a wynikiem będzie powierzchnia, która "zakręca" na siebie, jedna z krawędzi może wymagać listy wierzchołków w odwrotnej kolejności. Zobacz informacje na stronie Wypełnianie krzywych granicznych w celu uzyskania pełniejszego wyjaśnienia.

Tworzenie skryptów

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

Narzędzie Przekrój powierzchni może być używane w makrodefinicjach i z konsoli Python poprzez dodanie obiektu Surface::Sections.

  • Krawędzie, które mają być użyte do zdefiniowania krzywej, muszą być przypisane jako Struktura danych LinkSub do właściwości NSections 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 Blend Curve.
import FreeCAD as App
import Draft

doc = App.newDocument()

pl1 = App.Placement()
obj1 = Draft.make_circle(50, placement=pl1, face=False, startangle=0, endangle=180)

pl2 = App.Placement(App.Vector(0, 0, 25), App.Rotation())
obj2 = Draft.make_circle(30, placement=pl2, face=False, startangle=0, endangle=180)

points3 = [App.Vector(18, -10, 50),
           App.Vector(12, 10, 50),
           App.Vector(-12, 10, 50),
           App.Vector(-18, -10, 50)]
obj3 = Draft.make_bspline(points3)

points4 = [App.Vector(15, -20, 100),
           App.Vector(0, 6, 100),
           App.Vector(-15, -20, 100)]
obj4 = Draft.make_bspline(points4)
doc.recompute()

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