Part Module/pl: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 217: Line 217:


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Przejdź do strony [[Topological data scripting/pl|tworzenie skryptów danych topologicznych]]], jeśli chcesz wiedzieć więcej.
Przejdź do strony [[Topological data scripting|tworzenie skryptów danych topologicznych]]], jeśli chcesz wiedzieć więcej.
</div>
</div>



Revision as of 18:14, 17 November 2019

Wprowadzenie

Funkcje modelowania brył w FreeCAD są oparte na jądrze(OCCT) Open Cascade Technology, profesjonalnym systemie CAD, który oferuje możliwość zaawansowanego tworzenia i manipulacji geometrii 3D.
Środowisko pracy Part jest warstwą umieszczoną nad bibliotekami OCCT, która daje użytkownikowi dostęp do geometrycznych prymitywów i funkcji OCCT. Zasadniczo wszystkie funkcje rysowania 2D i 3D w każdym Środowisku roboczym (Draft, Sketcher, PartDesign, etc.), są oparte na tych funkcjach, które zostały zaprezentowane przez Part Workbench. Dlatego też Środowisko pracy Part jest uważane za kluczowy komponent umiejętności modelowania programu FreeCAD.

Obiekty stworzone przy użyciu Środowiska pracy Part są stosunkowo proste. Są przeznaczone do używania z operacjami typu logicznego (łączenia i cięcia) w celu budowania bardziej złożonych kształtów. Ten wzorzec modelowania znany jest jakoStereometria konstrukcyjna (CSG) i była to tradycyjna metodologia stosowana we wczesnych systemach CAD. Z drugiej strony PartDesign zapewnia bardziej nowoczesny cykl roboczy służący konstruowaniu kształtów: wykorzystuje parametrycznie zdefiniowany szkic, który jest wytłaczany w celu utworzenia podstawowej bryły, która następnie jest modyfikowana przez przekształcenia parametryczne (edycja cech), aż do uzyskania ostatecznego obiektu.

Obiekty części są bardziej złożone niż obiekty siatkowe utworzone przy użyciu Środowiska pracy Mesh, ponieważ pozwalają one na bardziej zaawansowane operacje, takie jak spójne operacje logiczne, historia modyfikacji i właściwości parametryczne.

Środowisko pracy Part jest podstawową warstwą, która udostępnia funkcje rysowania OCCT dla każdego Środowiska pracy w programie FreeCAD.

Narzędzia

Wszystkie narzędzia zostały umieszczone w menu głównym Środowiska pracy Part.

Prymitywy

Są to narzędzia do tworzenia obiektów o charakterze pierwotnym/elementarnym.

Modyfikowanie obiektów

Są to narzędzia do modyfikacji istniejących obiektów. Pozwalają one na wybór obiektu, który chcesz zmodyfikować.

  • Narzędzie do odsunięcia ...:
    • 3D Offset: konstruuje kształt równoległy w pewnej odległości od oryginału.
    • 2D Offset: konstruuje rzut równoległy w pewnej odległości od oryginału lub powiększa / zmniejsza powierzchnię płaską.
  • Projekcja na powierzchni: Wysunięcie logo, tekstu lub dowolnej ścianki, obszaru zamkniętego, krawędzi na powierzchni. Za pomocą występu/wysunięcia można stworzyć bryłę lub obszar zamknięty.
  • Operacje logiczne: wykonuje operacje z użyciem funkcji logicznych na obiektach.
  • Łączenie: zespaja (dodaje) dwa obieky.
  • Część wspólna: wyodrębnia wspólną (krzyżującą się) część dwóch obiektów.
  • Wycięcie: Wycina (odejmuje) jeden obiekt z drugiego.

Pomiary

File:Std Measure Menu.png Menu pomiary: umożliwia wykonywanie pomiarów liniowych i kątowych pomiędzy punktami, krawędziami i ścianami.

Pozostałe narzędzia

Ustawienia

Koncepcje geometryczne OCCT

W terminologii OpenCascade rozróżniamy geometryczne prymitywy i kształty powierzchniowe. Geometryczny prymityw może być punktem, linią, okręgiem, płaszczyzną itp. lub nawet bardziej skomplikowanymi typami, takimi jak krzywa B-Spline lub powierzchnia. Kształt może być wierzchołkiem, krawędzią, obwodem, ścianą, bryłą lub składnikiem innych kształtów. Pierwotne elementy geometryczne nie są przeznaczone do bezpośredniego wyświetlania na scenie 3D, ale raczej do wykorzystania jako geometria konstrukcji kształtów. Na przykład, krawędź może być zbudowana z linii lub z fragmentu okręgu.

Podsumowując, prymitywy geometryczne to "bezkształtne" elementy konstrukcyjne, podczas gdy kształty topologiczne to realne obiekty na nich zbudowane.

Kompletny wykaz wszystkich prymitywów i kształtów znajduje się w Dokumentacji OCC (alternatywnie: sourcearchive.com), wyszukaj' "Geom_*" (w odniesieniu do geometrycznych elementów pierwotnych) i "TopoDS_*" (w odniesieniu do kształtów). Możesz też tam przeczytać o różnicach między nimi. Należy pamiętać, że oficjalna dokumentacja OCC nie jest dostępna online (należy pobrać archiwum) i jest skierowana głównie do programistów, a nie do użytkowników końcowych. Ale miejmy nadzieję, że znajdziesz tu wystarczająco dużo informacji, aby można było zacząć pracować dalej.

Typy geometryczne można podzielić na dwie główne grupy: krzywe i powierzchnie. Z krzywych (linii, okręgu, ...) można bezpośrednio zbudować krawędź, z powierzchni (płaszczyzna, cylinder, ...) można zbudować ścianę. Na przykład, pierwotna linia geometryczna jest nieograniczona, tzn. jest zdefiniowana wektorem bazowym i wektorem kierunku, podczas gdy jej reprezentacja kształtu musi być czymś ograniczonym np. przez punkt początkowy i końcowy. A kostka - bryła - może być utworzone przez sześć ograniczonych płaszczyzn.

Z krawędzi lub ściany można również powrócić do jej pierwotnego geometrycznego odpowiednika.

Zatem z kształtów można budować bardzo złożone części lub, odwrotnie, wyodrębniać wszystkie kształty podrzędne, z których składa się bardziej złożony kształt.

The "Part::TopoShape" jest obiektem geometrycznym, który jest widoczny na ekranie. Zasadniczo wszystkie Środowiska pracy wykorzystują te kształty TopoShapes wewnętrznie, aby budować i wyświetlać krawędzie, ściany i bryły.

Tworzenie skryptów

Zobacz również: skrypty dla detali

Główną strukturą danych wykorzystywaną w module Part jest typ danych BRep z OpenCascade. Prawie cała zawartość i typy obiektów modułu Part są dostępne dla skryptów Python. Obejmuje to geometryczne elementy pierwotne, takie jak linia i koło (lub łuk) oraz cały zakres kształtów TopoShapes, takich jak wierzchołki, krawędzie, obwód, ścianki, bryły i związki. Dla każdego z tych obiektów istnieje kilka metod tworzenia, a dla niektórych z nich, zwłaszcza TopoShapes, dostępne są również zaawansowane operacje, takie jak operacje logiczne suma/różnica/iloczyn. Poznaj informacje o zawartości modułu Part, jak opisano na stronie FreeCAD Scripting Basics, aby uzyskać więcej informacji.

Najbardziej podstawowym obiektem, który można utworzyć jest Właściwość części, który posiada prostą właściwość DANEmiejsce umieszczenia, oraz podstawowe cechy określające jego kolor i wygląd.

Innym prostym obiektem używanym w obiektach geometrycznych 2D jestPart Part2DObject, który jest podstawą szkicu, oraz większości elementów robocztch.

Przykłady

Aby utworzyć element linii przejdź do konsoli Pythona i wpisz:

import Part,PartGui 
doc=App.newDocument()  
l=Part.LineSegment()
l.StartPoint=(0.0,0.0,0.0)
l.EndPoint=(1.0,1.0,1.0)
doc.addObject("Part::Feature","Line").Shape=l.toShape() 
doc.recompute()

Prześledźmy powyższy przykład Pytona krok po kroku:

import Part,PartGui
doc=App.newDocument()

wczytuje Środowisko pracy Part i tworzy nowy dokument.

l=Part.LineSegment()
l.StartPoint=(0.0,0.0,0.0)
l.EndPoint=(1.0,1.0,1.0)

Linia to w rzeczywistości odcinek, stąd punkt początkowy i końcowy.

doc.addObject("Part::Feature","Line").Shape=l.toShape()

Dodaje to typ obiektu Part do dokumentu i przypisuje reprezentację kształtu segmentu linii do właściwości „Kształt” dodanego obiektu. Ważne jest, aby zrozumieć tutaj, że użyliśmy prymitywu geometrycznego (Part.LineSegment), aby utworzyć z niego TopoShape (metoda toShape ()). Do dokumentu można dodawać tylko kształty. W programie FreeCAD prymitywy geometrii są używane jako „konstrukcje budowlane” dla kształtów.

doc.recompute()

Aktualizuje dokument. Także przygotowuje wizualizację nowego obiektu części.

Zauważ, że segment linii może być utworzony poprzez określenie jego punktu początkowego i końcowego bezpośrednio w konstruktorze, na przykład Part.LineSegment(point1,point2). Możemy też utworzyć linię domyślną i ustawić jej właściwości później, tak jak zrobiliśmy to tutaj.

Okrąg może być stworzony w podobny sposób:

import Part
doc = App.activeDocument()
c = Part.Circle() 
c.Radius=10.0  
f = doc.addObject("Part::Feature", "Circle")
f.Shape = c.toShape()
doc.recompute()

Zauważ ponownie, użyliśmy okręgu (geometria prymitywna) do skonstruowania z niego kształtu. Oczywiście nadal możemy uzyskać dostęp do naszej geometrii konstrukcyjnej później, wykonując to zadanie:

s = f.Shape
e = s.Edges[0]
c = e.Curve

Tutaj przyjmujemy kształt naszego obiektu f, następnie bierzemy jego listę krawędzi. W tym przypadku będzie tylko jedna, ponieważ wykonaliśmy cały kształt z jednego okręgu, więc bierzemy tylko pierwszą pozycję z listy krawędzi i pobieramy jej krzywą. Każda krawędź ma krzywą, która jest geometrią pierwotną, na której się opiera.

Przejdź do strony tworzenie skryptów danych topologicznych], jeśli chcesz wiedzieć więcej.

Poradniki