Part Module/cs: Difference between revisions
(Updating to match new version of source page) |
(Redirected.) Tag: New redirect |
||
(45 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
#REDIRECT [[Part_Workbench/cs]] |
|||
<languages/> |
|||
{{Docnav |
|||
|[[OpenSCAD Module|OpenSCAD Module]] |
|||
|[[PartDesign Workbench|PartDesign Workbench]] |
|||
|IconL=Workbench_OpenSCAD.svg |
|||
|IconR=Workbench_PartDesign.svg |
|||
}} |
|||
[[Image:Workbench_Part.svg|240px|center]] |
|||
{{Caption|align=center|The FreeCAD Part Workbench Icon}} |
|||
<div class="mw-translate-fuzzy"> |
|||
CAD možnosti FreeCADu jsou založeny na jádře [http://en.wikipedia.org/wiki/Open_CASCADE OpenCasCade]. Modul Díl umožňuje FreeCADu přístup a používání objektů a funkcí OpenCasCade. OpenCascade je profesionální CAD jádro, jehož vlastnosti umožňují pokročilou manipulaci s 3D konstrukcemi a objekty. Objekty Díl, narozdíl od objektů [[Mesh Module/cs|Modulu Síť]], jsou mnohem komplexnější a proto umožňují mnohem dokonalejší operace, jako jsou logické boolean operace, modifikace historie a parametrické chování. |
|||
</div> |
|||
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 modeling 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|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|feature editing]]), until the final object is obtained. |
|||
Part objects are more complex than mesh objects created with the [[Mesh Workbench|Mesh Workbench]], as they permit more advanced operations like coherent boolean operations, modifications history, and parametric behaviour. |
|||
{{TOCright}} |
|||
[[Image:Part example.jpg]] |
|||
[[Image:Part_Workbench_relationships.svg|600px]] |
|||
{{Caption|The Part Workbench is the basic layer that exposes the OCCT drawing functions to all workbenches in FreeCAD}} |
|||
<div class="mw-translate-fuzzy"> |
|||
=== Nástroje === |
|||
</div> |
|||
<div class="mw-translate-fuzzy"> |
|||
Nástroje modulu Díl jsou všechny umístěny v menu '''Díl''', který se zobrazí když natáhnete modul Díl. |
|||
</div> |
|||
===Primitives=== |
|||
These are tools for creating primitive objects. |
|||
* [[Image:Part_Box.svg|32px]] [[Part_Box|Box]]: Draws a box by specifying its dimensions |
|||
* [[Image:Part_Cylinder.svg|32px]] [[Part_Cylinder|Cylinder]]: Draws a cylinder by specifying its dimensions |
|||
* [[Image:Part_Sphere.svg|32px]] [[Part_Sphere|Sphere]]: Draws a sphere by specifying its dimensions |
|||
* [[Image:Part_Cone.svg|32px]] [[Part_Cone|Cone]]: Draws a cone by specifying its dimensions |
|||
* [[Image:Part_Torus.svg|32px]] [[Part_Torus|Torus]]: Draws a torus (ring) by specifying its dimensions |
|||
* [[Image:Part_CreatePrimitives.svg|32px]] [[Part_CreatePrimitives|CreatePrimitives]]: A tool to create various parametric geometric primitives |
|||
* [[Image:Part_Shapebuilder.svg|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_Extrude.svg|32px]] [[Part_Extrude|Extrude]]: Extrudes planar faces of an object |
|||
* [[Image:Part_Revolve.svg|32px]] [[Part_Revolve|Revolve]]: Creates a solid by revolving another object (not solid) around an axis |
|||
* [[Image:Part_Mirror.svg|32px]] [[Part_Mirror|Mirror]]: Mirrors the selected object on a given mirror plane |
|||
* [[Image:Part_Fillet.svg|32px]] [[Part_Fillet|Fillet]]: Fillets (rounds) edges of an object |
|||
* [[Image:Part_Chamfer.svg|32px]] [[Part_Chamfer|Chamfer]]: Chamfers edges of an object |
|||
* [[Image:Part_RuledSurface.svg|32px]] [[Part_RuledSurface|Ruled Surface]]: |
|||
* [[Image:Part_Loft.svg|32px]] [[Part_Loft|Loft]]: Lofts from one profile to another |
|||
* [[Image:Part_Sweep.svg|32px]] [[Part_Sweep|Sweep]]: Sweeps one or more profiles along a path |
|||
* [[Image:Part_CompOffsetTools.png|48px]] [[Part_CompOffsetTools|Offset tools]]: |
|||
** [[Image:Part_Offset.svg|32px]] [[Part_Offset|3D Offset]]: Constructs a parallel shape at a certain distance from original. |
|||
** [[Image:Part_Offset2D.svg|32px]] [[Part_Offset2D|2D Offset]]: Constructs a parallel wire at certain distance from original, or enlarges/shrinks a planar face. {{Version|0.17}} |
|||
* [[Image:Part_Thickness.svg|32px]] [[Part_Thickness|Thickness]]: Hollows out a solid, leaving openings next to select faces. |
|||
* [[Image:Part_ProjectionOnSurface.png|32px]] [[Part_ProjectionOnSurface|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. {{Version|0.19}} |
|||
* [[Image:Part_CompCompoundTools.png|48px]] [[Part_CompCompoundTools|Compound Tools]]: |
|||
** [[Image:Part MakeCompound.png|32px]] [[Part MakeCompound|Make compound]]: Creates a compound from the selected objects. |
|||
** [[Image:Part_ExplodeCompound.svg|32px]] [[Part_ExplodeCompound|Explode Compound]]: Tool to split up compounds of shapes |
|||
** [[Image:Part CompoundFilter.svg|32px]] [[Part CompoundFilter|Compound Filter]]: The CompoundFilter can be used to extract the individual pieces. |
|||
* [[Image:Part_Booleans.svg|32px]] [[Part_Booleans|Booleans]]: Performs boolean operations on objects |
|||
* [[Image:Part_Fuse.svg|32px]] [[Part_Union|Union]]: Fuses (unions) two objects |
|||
* [[Image:Part_Common.svg|32px]] [[Part_Common|Common]]: Extracts the common (intersection) part of two objects |
|||
* [[Image:Part_Cut.svg|32px]] [[Part_Cut|Cut]]: Cuts (subtracts) one object from another |
|||
* [[Image:Part_CompJoinFeatures.png|48px]] [[Part CompJoinFeatures|Join features]]: smart booleans for walled objects (e.g., pipes) {{Version|0.16}} |
|||
** [[Image:Part_JoinConnect.svg|32px]] [[Part_JoinConnect|Connect]]: Connects interiors of objects {{Version|0.16}} |
|||
** [[Image:Part_JoinEmbed.svg|32px]] [[Part_JoinEmbed|Embed]]: Embeds a walled object into another walled object {{Version|0.16}} |
|||
** [[Image:Part_JoinCutout.svg|32px]] [[Part_JoinCutout|Cutout]]: Creates a cutout in a wall of an object for another walled object {{Version|0.16}} |
|||
* [[Image:Part_CompSplittingTools.png|48px]] [[Part CompSplittingTools|Splitting tools]]: {{Version|0.17}} |
|||
** [[Image:Part_BooleanFragments.svg|32px]] [[Part_BooleanFragments|Boolean fragments]]: makes all the pieces that can be obtained by Boolean operations between objects {{Version|0.17}} |
|||
** [[Image:Part SliceApart.svg|32px]] [[Part_SliceApart|Slice a part]]: tool to split shapes by intersection with other shapes |
|||
** [[Image:Part_Slice.svg|32px]] [[Part_Slice|Slice]]: Splits an object into pieces by intersections with another object {{Version|0.17}} |
|||
** [[Image:Part_XOR.svg|32px]] [[Part_XOR|XOR]]: removes space shared by even number of objects (symmetric version of [[Part_Cut|Cut]]) {{Version|0.17}} |
|||
* [[Image:Part Defeaturing.svg|32px]] [[Part_Defeaturing|Defeaturing]]: {{Version|0.18}} |
|||
* [[Image:Part_Section.svg|32px]] [[Part_Section|Section]]: Creates a section by intersecting an object with a section plane |
|||
* [[Image:Part_CrossSections.svg|32px]] [[Part_SectionCross|Cross sections...]]: |
|||
* [[Image:Part Attachment.svg|32px]] [[Part Attachment|Attachment]]: attachment is a utility to attach an object to another one. |
|||
=== Measure === |
|||
[[File:Std Measure Menu.png|64px]] [[Std Measure Menu|Measure]]: Allows linear and angular measurement between points, edges, and faces. |
|||
* [[Image:Part_Measure_Linear.svg|32px]] [[Part_Measure_Linear|Measure Linear]] allows you to make linear measurements. |
|||
* [[Image:Part_Measure_Angular.svg|32px]] [[Part_Measure_Angular|Measure Angular]] allows you to make angular measurements. |
|||
* [[Image:Part_Measure_Refresh.svg|32px]] [[Part_Measure_Refresh|Measure Refresh]] updates the measurements on screen. |
|||
* [[Image:Part_Measure_Clear_All.svg|32px]] [[Part_Measure_Clear_All|Clear All]] Clears all measurements. |
|||
* [[Image:Part_Measure_Toggle_All.svg|32px]] [[Part_Measure_Toggle_All|Toggle All]] shows or hides all measurements. |
|||
* [[Image:Part_Measure_Toggle_3d.svg|32px]] [[Part_Measure_Toggle_3d|Toggle 3D]] shows or hides 3D measurements. |
|||
* [[Image:Part_Measure_Toggle_Delta.svg|32px]] [[Part_Measure_Toggle_Delta|Toggle Delta]] shows or hides delta measurements. |
|||
===Other tools=== |
|||
* [[Image:Part_Import.svg|32px]] [[Part Import|Import]]: This tool allows you to add a file *.IGES, *.STEP, *.BREP to the current document. |
|||
* [[Image:Part_Export.svg|32px]] [[Part Export|Export]]: This tool allows you to export a part object in a *.IGES, *.STEP, *.BREP file. |
|||
* [[File:Part_BoxSelection.svg|32px]] [[Part_BoxSelection|BoxSelection]]: add to the selection the faces of the shapes that are touches by the rectangular selection. {{Version|0.19}} |
|||
* [[Image:Part_ShapeFromMesh.svg|32px]] [[Part ShapeFromMesh|Shape from Mesh]]: Creates a shape object from a mesh object. |
|||
* [[File:Part_PointsFromMesh.svg|32px]] [[Part PointsFromMesh|Points from mesh]]: creates a shape object made of points from the mesh. {{Version|0.19}} |
|||
* [[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. |
|||
* Create a copy: |
|||
** [[Image:Part_SimpleCopy.svg|32px]] [[Part_SimpleCopy|Create simple copy]]: Creates a simple copy of the selected object. |
|||
** [[File:Part_TransformedCopy.svg|32px]] [[Part_TransformedCopy|Create transformed copy]]: creates a transformed copy of the selected object. {{Version|0.19}} |
|||
** [[File:Part_ElementCopy.svg|32px]] [[Part_ElementCopy|Create shape element copy]]: creates a copy from an element (vertex, edge, face) of the selected object. {{Version|0.19}} |
|||
** [[Image:Part_RefineShape.svg|32px]] [[Part_RefineShape|Refine shape]]: Cleans faces by removing unnecessary lines. |
|||
* [[Image:Part_CheckGeometry.svg|32px]] [[Part CheckGeometry|Check geometry]]: Checks the geometry of selected objects for errors. |
|||
== Preferences == |
|||
* [[Image:Preferences-import-export.svg|32px]] [[Import_Export_Preference|Preference ...]] Import Export |
|||
<div class="mw-translate-fuzzy"> |
|||
=== Vysvětlení pojmů === |
|||
</div> |
|||
<div class="mw-translate-fuzzy"> |
|||
V terminologii OpenCasCade odlišujeme geometrické primitivy a (topologické) tvary. Geometrický primitiv může být bod, linka, kružnice, rovina atd. nebo i komplexnější typy jako je B-Spline (aproximační) křivka nebo plocha. Topologický tvar může být vrchol, hrana, drát, povrch, těleso nebo složenina z jiných tvarů. Geometrické primitivy nejsou určeny k přímému zobrazení ve 3D zobrazení, ale hlavně k použití jako stavební prvek pro 3D tvary. Například hrana může být zkonstruována z linky nebo z části kružnice. |
|||
</div> |
|||
<div class="mw-translate-fuzzy"> |
|||
Souhrnně se dá říct, že geometrické primitivy jsou "beztvaré" stavební bloky. A tvary jsou prostorové konstrukce na prvcích vystavěné. |
|||
</div> |
|||
<div class="mw-translate-fuzzy"> |
|||
Jejich kompletní seznam je na [http://www.opencascade.org/org/doc/ OCC documentation] (Alternativně: [http://opencascade.sourcearchive.com/documentation/6.3.0.dfsg.1-1/classes.html sourcearchive.com]) a hledání textů '''Geom_*''' (pro geometrické primitivy) a '''TopoDS_*''' (pro tvary). Můžete se tam také dočíst o rozdílech mezi geometrickými primitivy a tvary. Všimněte si také, prosím, že naneštěstí oficiální OCC dokumentace není dostupná online (musíte si stáhnout archiv) a je hlavně určena pro programátory a ne pro koncové uživatele. Ale pro začátek naštěstí najdete dost informací zde. |
|||
</div> |
|||
Geometrické typy mohou být rozděleny do dvou hlavních skupin: linky a povrchy. Nad linkami (přímka, kružnice,...) můžete přímo budovat hrany, na plochách (rovina, válec, ...) zase povrchy. Například základní přímka je nekonečná, tj. je definována základním vektorem a směrovým vektorem, zatímco jeho tvarová reprezentace musí být nějak omezena počátečním a koncovým bodem. A kvádr -- těleso -- může být vytvořeno šesti omezenými rovinami. |
|||
<div class="mw-translate-fuzzy"> |
|||
Z hran nebo povrchů se můžete také vrátit k jeho původním geometrickým primitivům. |
|||
</div> |
|||
Tudíž, z tvarů můžete stavět velmi komplexní díly nebo opačně odebírat všechny poddíly pro vytváření ještě komplexnějších dílů. |
|||
[[File:Part_TopoShape_relationships.svg|600px]] |
|||
{{Caption|The {{incode|Part::TopoShape}} class is the geometrical object that is seen on screen. Essentially all workbenches use these [[Part_TopoShape|TopoShapes]] internally to build and display edges, faces, and solids.}} |
|||
<div class="mw-translate-fuzzy"> |
|||
==Skriptování== |
|||
</div> |
|||
{{Emphasis|See also:}} [[Part scripting|Part scripting]] |
|||
<div class="mw-translate-fuzzy"> |
|||
Hlavní datová struktura použitá v modulu Díl je datový typ |
|||
[http://en.wikipedia.org/wiki/Boundary_representation BRep] z OpenCascade. |
|||
Téměř celý obsah a objektové typy modulu Díl jsou dostupné skriptování v Pythonu. Zahrnuje to geometrické primitivy, jako jsou Linky, Kružnice (nebo Úhly) a celá oblast TopoTvarů, jako jsou Vrcholy, Hrany, Dráty, Plochy, Tělesa a Složeniny. Pro každý z těchto objektů existuje několik metod pro jejich vytváření a pro některé z nich, zvláště pro TopoTvary, jsou dostupné rozšířené operace jako logické sjednocení/rozdíly/průniky. Projděte si obsah modulu Díl jak je popsán na stránce [[FreeCAD Scripting Basics]] abyste jej lépe pochopili. |
|||
</div> |
|||
The most basic object that can be created is a [[Part Feature|Part Feature]], which has a simple {{PropertyData|Placement}} property, and basic properties to define its color and appearance. |
|||
Another simple object used in 2D geometrical objects is [[Part Part2DObject|Part Part2DObject]], which is the base of [[Sketcher_SketchObject|Sketcher SketchObject]] ([[Sketcher Workbench|Sketcher]]), and most [[Draft Workbench|Draft elements]]. |
|||
=== Test script === |
|||
Test the creation of [[Part_Primitives|Part Primitives]] with a script. {{Version|0.19}} |
|||
{{Code|code= |
|||
import parttests.part_test_objects as pto |
|||
pto.create_test_file("example_file") |
|||
}} |
|||
This script is located in the installation directory of the program, and can be examined to see how the basic primitives are built. |
|||
{{Code|code= |
|||
$INSTALL_DIR/Mod/Part/parttests/part_test_objects.py |
|||
}} |
|||
=== Příklady === |
|||
Pro vytvoření přímkového elementu přepněte do konzoly Pythonu a zapište: |
|||
{{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() |
|||
}} |
|||
Projděme si výše uvedený příklad v Pythonu krok po kroku: |
|||
{{Code|code= |
|||
import Part,PartGui |
|||
doc=App.newDocument() |
|||
}} |
|||
natáhne modul Díl (Part) a vytvoří nový dokument |
|||
{{Code|code= |
|||
l=Part.LineSegment() |
|||
l.StartPoint=(0.0,0.0,0.0) |
|||
l.EndPoint=(1.0,1.0,1.0) |
|||
}} |
|||
přímka je ve skutečnosti přímkový segment, proto má počáteční a koncový bod. |
|||
{{Code|code= |
|||
doc.addObject("Part::Feature","Line").Shape=l.toShape() |
|||
}} |
|||
<div class="mw-translate-fuzzy"> |
|||
Přidá do dokumentu objektový typ Díl (Part) a přiřadí přidanému objektu reprezentaci tvaru přímkového segmentu do vlastnosti 'Tvar' (Shape). Zde je důležité pochopit, že jsme použili geometrický primitiv (Přímka - Part.Line) k vytvoření TopoTvaru ( metoda toShape() ). Do dokumentu mohou být přidávány pouze tvary. Ve FreeCADu jsou geometrické primitivy používány jako "stavební struktury" pro Tvary. |
|||
</div> |
|||
{{Code|code= |
|||
doc.recompute() |
|||
}} |
|||
Aktualizuje dokument. Také připravuje vizuální reprezentaci nového dílu. |
|||
<div class="mw-translate-fuzzy"> |
|||
Všimněte si také, že přímka může být vytvořena přímo zadáním jejího počátečního a koncového bodu v konstruktoru, např. Part.Line(point1,point2) nebo můžeme vytořit obecnou přímku a pak jí dodatečně přiřadit vlastnosti, jako jsme to udělali zde. |
|||
</div> |
|||
Kružnice může být vytvořena podobně: |
|||
{{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() |
|||
}} |
|||
Znovu si všimněte, že jsme použili kružnici (geometrický primitiv) ke konstrukci tvaru nad ní. Samozřejmě stále zůstává přístup ke geometrii konstrukce, zadáním: |
|||
{{Code|code= |
|||
s = f.Shape |
|||
e = s.Edges[0] |
|||
c = e.Curve |
|||
}} |
|||
Zde si vezmeme tvar(Shape) našeho objektu f, potom si z něho vezmeme seznam hran. V tomto případě to bude jen jedna hrana, protože celý tvar děláme z jedné kružnicem a proto si vezmeme ze seznamu pouze první hranu a z ní její přímku. Každá hrana má přímku, což je geometrický primitiv, na kterém je hrana založena. |
|||
<div class="mw-translate-fuzzy"> |
|||
Chcete-li vědět více jděte na stránku [[Topological data scripting]]. |
|||
</div> |
|||
== 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/cs|[[Mesh_Workbench/cs|Pracovní plocha Sít]]|[[Drawing Module/cs|Modul Výkres]]}} |
|||
</div> |
|||
{{Userdocnavi{{#translation:}}}} |
|||
{{Part Tools navi{{#translation:}}}} |
|||
[[Category:Workbenches{{#translation:}}]] |
Latest revision as of 14:52, 27 April 2024
Redirect to: