Part Module/pl: Difference between revisions
(Updating to match new version of source page) |
(Redirected.) Tag: New redirect |
||
(360 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
#REDIRECT [[Part_Workbench/pl]] |
|||
<languages/> |
|||
[[Image:Workbench_Part.svg|64px]] |
|||
<div class="mw-translate-fuzzy"> |
|||
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. |
|||
</div> |
|||
The [[Part Workbench]] allows the user to access and use the OCCT objects and functions. Part objects, unlike [[Mesh Workbench|Mesh objects]], are more complex, and therefore permit more advanced operations like coherent boolean operations, modifications history, and parametric behaviour. |
|||
{{TOCright}} |
|||
[[Image:Part example.jpg]] |
|||
<div class="mw-translate-fuzzy"> |
|||
=== Narzędzia === |
|||
</div> |
|||
<div class="mw-translate-fuzzy"> |
|||
Narzędzia modułu zlokalizowane są w menu '''Part''', które pojawia się po załadowaniu modułu. |
|||
</div> |
|||
<div class="mw-translate-fuzzy"> |
|||
{{Part Tools/pl}} |
|||
</div> |
|||
These are tools for creating primitive objects. |
|||
* [[Image:Part_Box.png|32px]] [[Part_Box|Box]]: Draws a box by specifying its dimensions |
|||
* [[Image:Part_Cone.png|32px]] [[Part_Cone|Cone]]: Draws a cone by specifying its dimensions |
|||
* [[Image:Part_Cylinder.png|32px]] [[Part_Cylinder|Cylinder]]: Draws a cylinder by specifying its dimensions |
|||
* [[Image:Part_Sphere.png|32px]] [[Part_Sphere|Sphere]]: Draws a sphere by specifying its dimensions |
|||
* [[Image:Part_Torus.png|32px]] [[Part_Torus|Torus]]: Draws a torus (ring) by specifying its dimensions |
|||
* [[Image:Part_CreatePrimitives.png|32px]] [[Part_CreatePrimitives|CreatePrimitives]]: A tool to create various parametric geometric primitives |
|||
* [[Image:Part_Shapebuilder.png|32px]] [[Part_Shapebuilder|Shapebuilder]]: A tool to create more complex shapes from various parametric geometric primitives |
|||
===Modifying objects=== |
|||
These are tools for modifying existing objects. They will allow you to choose which object to modify. |
|||
* [[Image:Part_Booleans.png|32px]] [[Part_Booleans|Booleans]]: Performs boolean operations on objects |
|||
* [[Image:Part_Union.png|32px]] [[Part_Union|Union]]: Fuses (unions) two objects |
|||
* [[Image:Part_Common.png|32px]] [[Part_Common|Common]]: Extracts the common (intersection) part of two objects |
|||
* [[Image:Part_Cut.png|32px]] [[Part_Cut|Cut]]: Cuts (subtracts) one object from another |
|||
* [[Image:Part JoinConnect.png|32px]] [[Part CompJoinFeatures|Join features]]: smart booleans for walled objects (e.g., pipes) (v0.16) |
|||
** [[Image:Part JoinConnect.png|32px]] [[Part_JoinConnect|Connect]]: Connects interiors of objects (v0.16) |
|||
** [[Image:Part JoinEmbed.png|32px]] [[Part_JoinEmbed|Embed]]: Embeds a walled object into another walled object (v0.16) |
|||
** [[Image:Part JoinCutout.png|32px]] [[Part_JoinCutout|Cutout]]: Creates a cutout in a wall of an object for another walled object (v0.16) |
|||
* Splitting tools: (v0.17) |
|||
** [[Image:Part BooleanFragments.png|32px]] [[Part_BooleanFragments|Boolean fragments]]: makes all the pieces that can be obtained by Boolean operations between objects (v0.17) |
|||
** [[Image:Part Slice.png|32px]] [[Part_Slice|Slice]]: Splits an object into pieces by intersections with another object (v0.17) |
|||
** [[Image:Part XOR.png|32px]] [[Part_XOR|XOR]]: removes space shared by even number of objects (symmetric version of [[Part_Cut|Cut]]) (v0.17) |
|||
* Compound |
|||
** [[Image:Part MakeCompound.png|32px]] [[Part MakeCompound|Make compound]]: Creates a compound from the selected objects. |
|||
** [[Image:Part CompoundFilter.png|32px]] [[Part CompoundFilter|Compound Filter]]: The CompoundFilter can be used to extract the individual pieces. |
|||
* [[Image:Part_Extrude.png|32px]] [[Part_Extrude|Extrude]]: Extrudes planar faces of an object |
|||
* [[Image:Part_Fillet.png|32px]] [[Part_Fillet|Fillet]]: Fillets (rounds) edges of an object |
|||
* [[Image:Part_Revolve.png|32px]] [[Part_Revolve|Revolve]]: Creates a solid by revolving another object (not solid) around an axis |
|||
* [[Image:Part_Section.png|32px]] [[Part_Section|Section]]: Creates a section by intersecting an object with a section plane |
|||
* [[Image:Part_SectionCross.png|32px]] [[Part_SectionCross|Cross sections...]]: |
|||
* [[Image:Part_Chamfer.png|32px]] [[Part_Chamfer|Chamfer]]: Chamfers edges of an object |
|||
* [[Image:Part_Mirror.png|32px]] [[Part_Mirror|Mirror]]: Mirrors the selected object on a given mirror plane |
|||
* [[Image:Part_RuledSurface.png|32px]] [[Part_RuledSurface|Ruled Surface]]: |
|||
* [[Image:Part_Sweep.png|32px]] [[Part_Sweep|Sweep]]: Sweeps one or more profiles along a path |
|||
* [[Image:Part_Loft.png|32px]] [[Part_Loft|Loft]]: Lofts from one profile to another |
|||
* Offset tools: |
|||
** [[Image:Part_Offset.png|32px]] [[Part_Offset|3D Offset]]: Constructs a parallel shape at a certain distance from original. |
|||
** [[Image:Part_Offset2D.png|32px]] [[Part_Offset2D|2D Offset]]: Constructs a parallel wire at certain distance from original, or enlarges/shrinks a planar face. (v0.17) |
|||
** [[Image:Part_Thickness.png|32px]] [[Part_Thickness|Thickness]]: Hollows out a solid, leaving openings next to select faces. |
|||
===Other tools=== |
|||
* [[Image:Part ImportCAD.png|32px]] [[Part ImportCAD|Import CAD]]: This tool allows you to add a file *.IGES, *.STEP, *.BREP to the current document. |
|||
* [[Image:Part ExportCAD.png|32px]] [[Part ExportCAD|Export CAD]]: This tool allows you to export a part object in a *.IGES, *.STEP, *.BREP file. |
|||
* [[Image:Part ShapeFromMesh.png|32px]] [[Part ShapeFromMesh|Shape from Mesh]]: Creates a shape object from a mesh object. |
|||
* [[Part ConvertToSolid|Convert to solid]]: Converts a shape object to a solid object. |
|||
* [[Part ReverseShapes|Reverse shapes]]: Flips the normals of all faces of the selected object. |
|||
* [[Part CreateSimpleCopy|Create simple copy]]: Creates a simple copy of the selected object. |
|||
* [[Image:Part RefineShape.png|32px]] [[Part RefineShape|Refine shape]]: Cleans faces by removing unnecessary lines. |
|||
* [[Image:Part CheckGeometry.png|32px]] [[Part CheckGeometry|Check geometry]]: Checks the geometry of selected objects for errors. |
|||
* [[Std Measure Menu|Measure]]: Allows linear and angular measurement between points/edges/faces. |
|||
[[Image:Part_Boolean_example.png|600px|none]] |
|||
<div class="mw-translate-fuzzy"> |
|||
[[Image:Part_BooleanOperations.png|500px|left|Przykład unii (Fuse), części wspólnej (Common) i różnicy (Cut)]] |
|||
</div> |
|||
== Preferences == |
|||
* [[Image:Preferences-import-export.svg|32px]] [[Import_Export_Preference|Preference ...]] Import Export |
|||
<div class="mw-translate-fuzzy"> |
|||
=== Objaśnienie koncepcji === |
|||
</div> |
|||
<div class="mw-translate-fuzzy"> |
|||
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. |
|||
</div> |
|||
<div class="mw-translate-fuzzy"> |
|||
W celu podsumowania, powinniśmy powiedzieć, że prymitywy są "bezkształtnymi" klockami budującymi, kształtu są rzeczywistą geometrią zbudowaną na nich. |
|||
</div> |
|||
<div class="mw-translate-fuzzy"> |
|||
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. |
|||
</div> |
|||
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. |
|||
<div class="mw-translate-fuzzy"> |
|||
Z krawędzi lub ściany możesz wrócić do postaci prymitywu. |
|||
</div> |
|||
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. |
|||
<div class="mw-translate-fuzzy"> |
|||
=== Skryptowanie === |
|||
</div> |
|||
<div class="mw-translate-fuzzy"> |
|||
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]]. |
|||
</div> |
|||
=== Examples === |
|||
By stworzyć prostą, włącz konsolę Pythona i wpisz: |
|||
{{Code|code= |
|||
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() |
|||
}} |
|||
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.LineSegment() |
|||
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() |
|||
}} |
|||
<div class="mw-translate-fuzzy"> |
|||
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. |
|||
</div> |
|||
{{Code|code= |
|||
doc.recompute() |
|||
}} |
|||
Aktualizuje dokument. Także przygotowuje wizualizację nowej części. |
|||
<div class="mw-translate-fuzzy"> |
|||
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. |
|||
</div> |
|||
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]] : How to import STL/OBJ files in FreeCAD |
|||
* [[Export_to_STL_or_OBJ|Export to STL or OBJ]] : How to export STL/OBJ files from FreeCAD |
|||
* [[Whiffle_Ball_tutorial|Whiffle Ball tutorial]] : How to use the Part Module |
|||
<div class="mw-translate-fuzzy"> |
|||
{{docnav/pl|Mesh Module/pl|Drawing Module/pl}} |
|||
</div> |
Latest revision as of 14:57, 27 April 2024
Redirect to: