Part Module/pl: Difference between revisions
(Updating to match new version of source page) |
(Redirected.) Tag: New redirect |
||
(366 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
#REDIRECT [[Part_Workbench/pl]] |
|||
Możliwości CAD FreeCADa wynikają z jądra [http://en.wikipedia.org/wiki/Open_CASCADE OpenCasCade]. Moduł Part pozwala FreeCADowi uzyskać dostęp do obiektów i funkcji OpenCasCade. OpenCascade jest profesjonalnym jądrem CAD, pozwalającym na zaawansowaną manipulację geometrią 3D i obiektami. Obiekty Części (Part), w przeciwieństwie do obiektów [[Mesh Module/pl | modułu Mesh]], są dużo bardziej skomplikowane, zatem pozwalają na znacznie bardziej zaawansowane operacje, jak spójne operacje Boole'a, modyfikacje historii i zachowanie parametryczne. |
|||
[[Image:Part example.jpg]] |
|||
Przykład kształtu części we FreeCADzie |
|||
=== Narzędzia === |
|||
Narzędzia modułu zlokalizowane są w menu '''Part''', które pojawia się po załadowaniu modułu. |
|||
{{Part Tools/pl}} |
|||
=== Operacje Boole'a === |
|||
[[Image:Part_BooleanOperations.png|500px|left|Przykład unii (Fuse), części wspólnej (Common) i różnicy (Cut)]] |
|||
{{clear}} |
|||
Przykład unii (Union), części wspólnej (Intersection) i różnicy (Difference) |
|||
=== Objaśnienie koncepcji === |
|||
W terminologii OpenCasCade , rozróżniamy geometryczne prymitywy (primitives) i (topologiczne) kształty (shapes). Prymityw geometryczny może być punktem, prostą, okręgiem, płaszczyzną itp. lub trochę bardziej skomplikowanym typem jak krzywa czy powierzchnia. B-Spline. Kształt może być wierzchołkiem, krawędzią, przewodem (wire), ścianą, bryłą lub składać się z innych kształtów. Prymitywy geometryczne nie są stworzone w celu bezpośredniego wyświetlania w scenie 3D, a raczej do budowania geometrii dla kształtów. Na przykład, krawędź może być skonstruowana z linii lub z kawałka okręgu. |
|||
W celu podsumowania, powinniśmy powiedzieć, że prymitywy są "bezkształtnymi" klockami budującymi, kształtu są rzeczywistą geometrią zbudowaną na nich. |
|||
By uzyskać pełną listę, zapoznaj się z [http://www.opencascade.org/org/doc/ dokumentacją OCC] i szukaj Geom_Geometry oraz TopoDS_Shape. Możesz tam także więcej przeczytać o różnicach pomiędzy obiektami geometrycznymi a kształtami. Proszę odnotować, że dokumentacja OCC niestety nie jest dostępna online (musisz ściągnąć archiwum) i celuje głównie w programistów, nie użytkowników końcowych. Ale miejmy nadzieję, że znajdziesz dość informacji by zacząć tutaj. |
|||
Typy geometryczne są aktualnie podzielone na dwie główne grupy: krzywe i powierzchnie. wychodząc z krzywych (prosta, okrąg, ...) możesz bezpośredni zbudować krawędź, wychodząc z powierzchni (płaszczyzna, walec, ...) może być zbudowana ściana. Np. geometryczny prymityw prostej jest nieograniczony, innymi słowy jest zdefiniowany przez wektor bazowy i wektor kierunku kiedy jego reprezentacja kształtu ograniczona jest przez punkty: początkowy o koncowy. i sześcian -- bryła -- może być stworzony z sześciu ograniczonych płaszczyzn. |
|||
Z krawędzi lub ściany możesz wrócić do postaci prymitywu. |
|||
W ten sposób, z kształtów możesz zbudować bardzo skomplikowane części lub, innym razem zaokrąglić, wyciągnąć cały podkształt by uzyskać bardziej skomplikowany kształt. |
|||
=== Skryptowanie === |
|||
Główna sktuktura danych używana w module Part to [http://en.wikipedia.org/wiki/Boundary_representation BRep] pochodzące z OpenCascade. |
|||
Wszelkie treści i typy obiektów modułu Part są aktualnie dostępne przez skryptowanie w pythonie. Zawiera ono prymitywy geometryczne, jak Linia lub Okrąg (lub Łuk) i cały zakres TopoKształtów (TopoShapes), jak Wierzchołki, Krawędzie, Przewody, Ściany, Bryły lite i Złożenia. Dla każdego z tych obiektów, istnieje kilka metod tworzeni. Niektóre z nich, szczególnie TopoKształty, zaawansowane operacje jak unie/różnice/wycięcia są także dostępne. Eksploracja treści modułu Part, jest opisana szerzej na stronie [[FreeCAD Scripting Basics/pl | Podstawy skryptowania we FreeCADzie]]. |
|||
=== Examples === |
|||
By stworzyć prostą, włącz konsolę Pythona i wpisz: |
|||
{{Code|code= |
|||
import Part,PartGui |
|||
doc=App.newDocument() |
|||
l=Part.Line() |
|||
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() |
|||
}} |
|||
Przejdźmy przez przykład pythona, krok po kroku: |
|||
{{Code|code= |
|||
import Part,PartGui |
|||
doc=App.newDocument() |
|||
}} |
|||
ładuje moduł Part i tworzy nowy dokument |
|||
{{Code|code= |
|||
l=Part.Line() |
|||
l.StartPoint=(0.0,0.0,0.0) |
|||
l.EndPoint=(1.0,1.0,1.0) |
|||
}} |
|||
Prosta jest aktualnie odcinkiem, stąd punkt startowy i końcowy. |
|||
{{Code|code= |
|||
doc.addObject("Part::Feature","Line").Shape=l.toShape() |
|||
}} |
|||
To dodaje do dokumentu obiekt typu Part i przypisuje reprezentację kształtu odcinka do właściwości 'Shape' dodanego obiektu. Ważne jest zrozumienie, że tutaj używamy geometrycznych prymitywów (Part.line) do stworzenia z nich TopoKształtu (metoda toShape()). Tylko Kształty mogą być dodane do dokumentu. We FreeCADzie, geometryczne prymitywy są "strukturami budującymi" dla Kształtów. |
|||
{{Code|code= |
|||
doc.recompute() |
|||
}} |
|||
Aktualizuje dokument. Także przygotowuje wizualizację nowej części. |
|||
Zauważ, że Prosta (Line) może być stworzona przez sprecyzowanie punktu startowego i końcowego bezpośrednio. Dla przykładu Part.Line(point1,point2) lub możemy stworzyć domyślną prostą ustawić jej właściwości później, jak zrobiliśmy tutaj. |
|||
Okrąg może być stworzony w podobny sposób: |
|||
{{Code|code= |
|||
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ż znów, użyliśmy okręgu (geometryczny prymitiw) do stworzenia kształtu z niego. Oczywiście później możemy uzyskać dostęp do naszej konstrukcji, przez zrobienie: |
|||
{{Code|code= |
|||
s = f.Shape |
|||
e = s.Edges[0] |
|||
c = e.Curve |
|||
}} |
|||
Tutaj wzieliśmy kształt naszego obiektu f, następnie pobraliśmy listę krawędzi, w tym przypadku będzie tylko jedna, bo zrobiliśmy cały kształt tylko z jednego okręgu, więc bierzemy tylko pierwszy element z listy Krawędzi (Edges list), i bierzemy jego Krzywą (Curve). Każda Krawędź ma Krzywą, która jest bazą dla prymitywu. |
|||
Przejdź do [[Topological data scripting/pl | Topologicznego skryptowania danych]] jeśli chcesz wiedzieć więcej. |
|||
=== Tutorials === |
|||
* [[Import_from_STL_or_OBJ|Import from STL or OBJ]] |
|||
{{docnav|OpenSCAD Module|Drawing Module}} |
|||
[[Category:User Documentation/pl]] |
|||
<languages/> |
Latest revision as of 14:57, 27 April 2024
Redirect to: