Part Module/pl



Możliwości CAD FreeCADa wynikają z jądra 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 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.

The objects created with the Part Workbench are relatively simple; they are intended to be used with boolean operations (unions and cuts) in order to build more complex shapes. This modelling paradigm is known as the constructive solid geometry (CSG) workflow, and it was the traditional methodology used in early CAD systems. On the other hand, the PartDesign Workbench provides a more modern workflow to constructing shapes: it uses a parametrically defined sketch, that is extruded to form a basic solid body, which is then modified by parametric transformations (feature editing), until the final object is obtained.

Part objects are more complex than mesh objects created with the Mesh Workbench, as they permit more advanced operations like coherent boolean operations, modifications history, and parametric behaviour.





Narzędzia
Narzędzia modułu zlokalizowane są w menu Part, które pojawia się po załadowaniu modułu.

Prymitywy
Narzędzia do tworzenia prymitywów.


 * [[Image:Part_Box.png|32px]] Sześcian: Rysuje sześcian przez ustawienie jego wymiarów
 * [[Image:Part_Cylinder.png|32px]] Walec: Rysuje walec przez ustawienie jego wymiarów
 * [[Image:Part_Sphere.png|32px]] Kula: Rysuje kulę przez ustawienie jej wymiarów
 * [[Image:Part_Cone.png|32px]] Stożek: Rysuje stożek przez ustawienie jego wymiarów
 * [[Image:Part_Torus.png|32px]] Torus: Rysuje torus przez ustawienie jego wymiarów
 * [[Image:Part_CreatePrimitives.png|32px]] CreatePrimitives: Narzędzie do tworzenia różnych geometrycznych prymitywów parametrycznych.
 * [[Image:Part_Shapebuilder.png|32px]] Shapebuilder: Narzędzie do tworzenia bardziej złożonych kształtów z różnych parametrycznych prymitywów geometrycznych

Modyfikacja obiektów
Narzędzia do modyfikacji istniejących obiektów.


 * [[Image:Part_Extrude.png|32px]] Wyciągnięcie: Wyciąga płaskie powierzchnie obiektu
 * [[Image:Part_Revolve.png|32px]] Obrót: Tworzy obiekt przez obrót innego obiektu wokół osi
 * [[Image:Part_Mirror.png|32px]] Mirror: Powoduje odbicie lustrzane wybranego obiektu na danej płaszczyźnie lustra
 * [[Image:Part_Fillet.png|32px]] Zaokrąglenie: Zaokrągla krawędzie obiektu
 * [[Image:Part_Chamfer.png|32px]] Chamfer: Krawędzie krawędzi obiektu
 * [[Image:Part_RuledSurface.png|32px]] Ruled Surface:
 * [[Image:Part_Loft.png|32px]] Loft: Lofty z jednego profilu do drugiego
 * [[Image:Part_Sweep.png|32px]] Sweep: Zamiata 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