Part Module/pl

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.





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

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


 * [[Image:Part_Box.png|32px]] Sześcian: rysuje sześcian określając jego wymiarów.
 * [[Image:Part_Cylinder.png|32px]] Walec: rysuje walec określając jego wymiarów.
 * [[Image:Part_Sphere.png|32px]] Kula: rysuje kulę określając jej wymiarów.
 * [[Image:Part_Cone.png|32px]] Stożek: rysuje stożek określając jego wymiarów.
 * [[Image:Part_Torus.png|32px]] Torus: rysuje torus określając jego wymiarów.
 * [[Image:Part_CreatePrimitives.png|32px]] Tworzenie brył parametrycznych: narzędzie do tworzenia różnych geometrycznych prymitywów parametrycznych.
 * [[Image:Part_Shapebuilder.png|32px]] Zaawansowane narzędzie do tworzenia kształtów: Narzędzie do tworzenia bardziej złożonych kształtów z różnych parametrycznych prymitywów geometrycznych.

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


 * [[Image:Part_Extrude.png|32px]] Wyciągnięcie: Wyciąga płaskie powierzchnie obiektu.
 * [[Image:Part_Revolve.png|32px]] wyciągnij przez obrót ...: tworzy bryłę obracając inny obiekt (nie bryłę) wokół osi.
 * [[Image:Part_Mirror.png|32px]] Utwórz odbicie lustrzane ...: odtwarza wybrany obiekt na danej płaszczyźnie lustrzanej.
 * [[Image:Part_Fillet.png|32px]] Zaokrąglij wybrane krawędzie objektu: zaokrągla krawędzie obiektu.
 * [[Image:Part_Chamfer.png|32px]] Fazuj wybrane krawędzie objektu: fazowanie krawędzi obiektu.
 * [[Image:Part_RuledSurface.png|32px]] Utwórz powierzchnię prostokreślną ...: tworzy powierzchnie bazujacą np. na łuku.
 * [[Image:Part_Loft.png|32px]] Narzędzie wyciagania: przeciąga jeden profil do drugiego.
 * [[Image:Part_Sweep.png|32px]] Narzędzie do rozciągania: rozciąga jeden lub więcej profili wzdłuż ścieżki.


 * [[Image:Part_CompOffsetTools.png|48px]] Offset tools:
 * [[Image:Part_Offset.png|32px]] 3D Offset: Constructs a parallel shape at a certain distance from original.
 * [[Image:Part_Offset2D.png|32px]] 2D Offset: Constructs a parallel wire at certain distance from original, or enlarges/shrinks a planar face.


 * [[Image:Part_Thickness.png|32px]] Thickness: Hollows out a solid, leaving openings next to select faces.


 * [[Image:Part_ProjectionOnSurface.png|32px]] Projection on surface: Project a logo, text or any face,wire,edge to a surface. With the projection part it is possible to create a solid or wire.


 * [[Image:Part_CompCompoundTools.png|48px]] Compound Tools:
 * [[Image:Part MakeCompound.png|32px]] Make compound: Creates a compound from the selected objects.
 * [[Image:Part_ExplodeCompound.svg|32px]] Explode Compound: Tool to split up compounds of shapes
 * [[Image:Part Compound‏‎Filter.png|32px]] Compound Filter: The CompoundFilter can be used to extract the individual pieces.


 * [[Image:Part_Booleans.png|32px]] Operacje Boole'a: Umożliwia operacje Boole'a na obiektach
 * [[Image:Part_Union.png|32px]] Łączenie: Połączenia (suma) dwóch obiektów
 * [[Image:Part_Common.png|32px]] Część wspólna: Wyciąga część wspólną (iloczyn) dwóch obiektów
 * [[Image:Part_Cut.png|32px]] Wycięcie: Wycina (różnica) jeden obiekt z drugiego


 * [[Image:Part_CompJoinFeatures.png|48px]] Join features: smart booleans for walled objects (e.g., pipes)
 * [[Image:Part JoinConnect.png|32px]] Connect: Connects interiors of objects
 * [[Image:Part JoinEmbed.png|32px]] Embed: Embeds a walled object into another walled object
 * [[Image:Part JoinCutout.png|32px]] Cutout: Creates a cutout in a wall of an object for another walled object


 * [[Image:Part_CompSplittingTools.png|48px]] Splitting tools:
 * [[Image:Part BooleanFragments.png|32px]] Boolean fragments: makes all the pieces that can be obtained by Boolean operations between objects
 * [[Image:Part SliceApart.svg|32px]] Slice a part: tool to split shapes by intersection with other shapes
 * [[Image:Part Slice.png|32px]] Slice: Splits an object into pieces by intersections with another object
 * [[Image:Part XOR.png|32px]] XOR: removes space shared by even number of objects (symmetric version of Cut)


 * [[Image:Part Defeaturing.svg|32px]] Defeaturing: (v0.18)
 * [[Image:Part_Section.png|32px]] Przekrój: Tworzy przekrój przez przecięcie obiektu płaszczyzną
 * [[Image:Part_SectionCross.png|32px]] Cross sections...:

Measure
Measure: Allows linear and angular measurement between points, edges, and faces.


 * [[Image:Part_Measure_Linear.svg|32px]] Measure Linear allows you to make linear measurements.
 * [[Image:Part_Measure_Angular.svg|32px]] Measure Angular allows you to make angular measurements.
 * [[Image:Part_Measure_Refresh.svg|32px]] Measure Refresh updates the measurements on screen.
 * [[Image:Part_Measure_Clear_All.svg|32px]] Clear All Clears all measurements.
 * [[Image:Part_Measure_Toggle_All.svg|32px]] Toggle All shows or hides all measurements.
 * [[Image:Part_Measure_Toggle_3d.svg|32px]] Toggle 3D shows or hides 3D measurements.
 * [[Image:Part_Measure_Toggle_Delta.svg|32px]] Toggle Delta shows or hides delta measurements.

Other tools

 * [[Image:Part_Import.svg|32px]] Import: This tool allows you to add a file *.IGES, *.STEP, *.BREP to the current document.
 * [[Image:Part_Export.svg|32px]] Export: This tool allows you to export a part object in a *.IGES, *.STEP, *.BREP file.
 * Part_BoxSelection.svg BoxSelection: add to the selection the faces of the shapes that are touches by the rectangular selection.
 * [[Image:Part_ShapeFromMesh.svg|32px]] Shape from Mesh: Creates a shape object from a mesh object.
 * Part_PointsFromMesh.svg Points from mesh: creates a shape object made of points from the mesh.
 * Convert to solid: Converts a shape object to a solid object.
 * Reverse shapes: Flips the normals of all faces of the selected object.


 * Create a copy:
 * [[Image:Part_SimpleCopy‎.svg|32px]] Create simple copy: Creates a simple copy of the selected object.
 * Part_TransformedCopy.svg Create transformed copy: creates a transformed copy of the selected object.
 * Part_ElementCopy.svg Create shape element copy: creates a copy from an element (vertex, edge, face) of the selected object.
 * [[Image:Part_RefineShape.svg|32px]] Refine shape: Cleans faces by removing unnecessary lines.


 * [[Image:Part_CheckGeometry.svg|32px]] Check geometry: Checks the geometry of selected objects for errors.

Preferences

 * [[Image:Preferences-import-export.svg|32px]] Preference ... Import Export

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 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
Part scripting

Główna sktuktura danych używana w module Part to 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 Podstawy skryptowania we FreeCADzie.

The most basic object that can be created is a Part Feature, which has a simple property, and basic properties to define its color and appearance.

Another simple object used in 2D geometrical objects is Part Part2DObject, which is the base of Sketches, and most Draft elements.

Examples
By stworzyć prostą, włącz konsolę Pythona i wpisz:

Przejdźmy przez przykład pythona, krok po kroku:

ładuje moduł Part i tworzy nowy dokument

Prosta jest aktualnie odcinkiem, stąd punkt startowy i końcowy.

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.

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:

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:

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 Topologicznego skryptowania danych jeśli chcesz wiedzieć więcej.

Tutorials

 * Import from STL or OBJ : How to import STL/OBJ files in FreeCAD
 * Export to STL or OBJ : How to export STL/OBJ files from FreeCAD
 * Whiffle Ball tutorial : How to use the Part Module