Part Module/ro



Capacitățile CAD ale FreeCAD se bazează pe kernelul OpenCasCade. Modulul Piese permite programului FreeCAD să acceseze și să utilizeze obiectele și funcțiile OpenCasCade. OpenCascade este un kernel CAD de nivel profesional, care dispune de manipulare și obiecte 3D avansate. Obiectele piese, spre deosebire de obiectele Mesh Module, sunt mult mai complexe și, prin urmare, permit operații mult mai avansate, cum ar fi operațiile booleene coerente, istoricul modificărilor și comportamentul parametric.

The Part Workbench allows the user to access and use the OCCT objects and functions. Part objects, unlike Mesh objects, are more complex, and therefore permit more advanced operations like coherent boolean operations, modifications history, and parametric behaviour.



The tools
Instrumentele module ale componentei sunt toate amplasate în meniul  Piese 'care apare atunci când încărcați modulul "Part".

Primitives
These are tools for creating primitive objects.


 * [[Image:Part_Box.png|32px]] Box: Draws a box by specifying its dimensions
 * [[Image:Part_Cone.png|32px]] Cone: Draws a cone by specifying its dimensions
 * [[Image:Part_Cylinder.png|32px]] Cylinder: Draws a cylinder by specifying its dimensions
 * [[Image:Part_Sphere.png|32px]] Sphere: Draws a sphere by specifying its dimensions
 * [[Image:Part_Torus.png|32px]] Torus: Draws a torus (ring) by specifying its dimensions
 * [[Image:Part_CreatePrimitives.png|32px]] CreatePrimitives: A tool to create various parametric geometric primitives
 * [[Image:Part_Shapebuilder.png|32px]] 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.png|32px]] Extrude: Extrudes planar faces of an object
 * [[Image:Part_Revolve.png|32px]] Revolve: Creates a solid by revolving another object (not solid) around an axis
 * [[Image:Part_Mirror.png|32px]] Mirror: Mirrors the selected object on a given mirror plane
 * [[Image:Part_Fillet.png|32px]] Fillet: Fillets (rounds) edges of an object
 * [[Image:Part_Chamfer.png|32px]] Chamfer: Chamfers edges of an object
 * [[Image:Part_RuledSurface.png|32px]] Ruled Surface:
 * [[Image:Part_Loft.png|32px]] Loft: Lofts from one profile to another
 * [[Image:Part_Sweep.png|32px]] Sweep: Sweeps one or more profiles along a path


 * [[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. (v0.17)


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


 * [[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]] Booleans: Performs boolean operations on objects
 * [[Image:Part_Union.png|32px]] Union: Fuses (unions) two objects
 * [[Image:Part_Common.png|32px]] Common: Extracts the common (intersection) part of two objects
 * [[Image:Part_Cut.png|32px]] Cut: Cuts (subtracts) one object from another


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


 * [[Image:Part_CompSplittingTools.png|48px]] Splitting tools: (v0.17)
 * [[Image:Part BooleanFragments.png|32px]] Boolean fragments: makes all the pieces that can be obtained by Boolean operations between objects (v0.17)
 * [[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 (v0.17)
 * [[Image:Part XOR.png|32px]] XOR: removes space shared by even number of objects (symmetric version of Cut) (v0.17)


 * [[Image:Part Defeaturing.svg|32px]] Defeaturing: (v0.18)
 * [[Image:Part_Section.png|32px]] Section: Creates a section by intersecting an object with a section plane
 * [[Image:Part_SectionCross.png|32px]] Cross sections...:

Other tools

 * [[Image:Part ImportCAD.png|32px]] Import CAD: This tool allows you to add a file *.IGES, *.STEP, *.BREP to the current document.
 * [[Image:Part ExportCAD.png|32px]] Export CAD: This tool allows you to export a part object in a *.IGES, *.STEP, *.BREP file.
 * [[Image:Part ShapeFromMesh.png|32px]] Shape from Mesh: Creates a shape object from a mesh object.
 * Convert to solid: Converts a shape object to a solid object.
 * Reverse shapes: Flips the normals of all faces of the selected object.
 * [[Image:Part CreateSimpleCopy‎.svg|32px]] Create simple copy: Creates a simple copy of the selected object.
 * [[Image:Part RefineShape.png|32px]] Refine shape: Cleans faces by removing unnecessary lines.
 * [[Image:Part CheckGeometry.png|32px]] Check geometry: Checks the geometry of selected objects for errors.
 * Measure: Allows linear and angular measurement between points/edges/faces.
 * [[Image:Part Attachment.svg|32px]] Attachment: Attachment is a utility to attach an object to another one.



Preferences

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

Explaining the concepts
În terminologia OpenCasCade, facem distincția între primitivele geometrice și formele (topologice). O primitivă geometrică poate fi un punct, o linie, un cerc, un plan etc. sau chiar unele tipuri mai complexe, cum ar fi o curbă sau o suprafață B-Spline. O formă poate fi un vârf, o margine, un fir, o față, un solid sau un compus de alte forme. Primitivele geometrice nu sunt făcute pentru a fi afișate direct pe scena 3D, ci mai degrabă pentru a fi utilizate ca geometrie a clădirilor pentru forme. De exemplu, o muchie poate fi construită dintr-o linie sau dintr-o porțiune dintr-un cerc.

Am putea spune, pentru a relua, că primitivele geometrice sunt blocuri "fără forme", iar formele sunt geometria spațială reală construită pe ea.

Pentru a obține o listă completă a tuturor se referă la OCC documentation (Alternative: sourcearchive.com) și căutați pentru Geom_* (for geometry) and TopoDS_* (for shapes). Acolo puteți citi mai multe despre diferențele dintre obiectele și formele geometrice. Rețineți că, din păcate, documentația oficială OCC nu este disponibilă online (trebuie să descărcați o arhivă) și se adresează în principal programatorilor, nu utilizatorilor finali. Dar sperăm că veți găsi suficiente informații pentru a începe aici.

Tipurile geometrice pot fi împărțite în două grupe majore: curbe și suprafețe. Din curbe (linie, cerc, ...) puteți construi direct o margine, din suprafețe (plan, cilindru, ...) se poate construi o fațetă. De exemplu, linia primitivă geometrică este nelimitată, adică ea este definită de un vector de bază și de un vector de direcție, în timp ce reprezentarea formei sale trebuie să fie ceva limitat de un început și un punct final. Și o cutie - un solid - poate fi creată din doar șase planuri.

De la o margine sau o fațetă se poate reveni la omologul său geometric primitiv.

Astfel, din forme puteți construi piese foarte complexe sau, invers, extrageți toate sub-formele dintr-o formă mai complexă.

Scripting
Structura principală de date folosită în atelierul Piese este tipul de date BRep din OpenCascade. Aproape toate tipurile de conținut și obiecte ale modulului Piese sunt acum disponibile pentru scripting Python. Acestea includ primitive geometrice, cum ar fi linia și cercul (sau arcul de cerc) și întreaga gamă de topo-forme, cum ar fi vârfuri, margini, fire/polilinii, fațete, solide și compuși. Pentru fiecare din aceste obiecte există mai multe metode de creare, iar pentru unele dintre ele, în special pentru TopoShapes, sunt disponibile și operații avansate precum unirea booleană / diferența / intersecția. Explorați conținutul modulului Part, așa cum este descris în pagina FreeCAD Scripting Basics, pentru a afla mai multe.

Examples
Pentru a crea un element tip linie comutați la consola Python și tastați:

Să trecem pas cu pas prin exemplul python de mai sus:

încarcă modulul Parte și creează un document nou

Linia este, de fapt, un segment de linie, prin urmare, este definită prin punctul de început și punctul final.

Această comandă adaugă un tip de obiect Part la document și atribuie reprezentarea de formă a segmentului de linie la proprietarea "Shape" a obiectului adăugat. Este important să înțelegem aici că am folosit o primitivă geometrică (Part.LineSegment) pentru a crea o TopoShape din ea (the toShape method). Doar formele pot fi adăugate în document. În FreeCAD, primitivele geometrice sunt folosite ca "structuri de bază" pentru construirea formelor(Shapes).

Actualizează documentul. Aceasta pregătește, de asemenea, reprezentarea vizuală a obiectului nou parte.

Rețineți că un segment poate fi creat prin specificarea punctului de start și a punctului final direct în constructor, de exemplu Part.LineSegment(point1,point2), sau putem crea o linie implicită și apoi să-i stabilim proprietățile după cum am făcut aici.

Un cerc poate fi creat în mod similar:

Notați din nou, că am folosit cercul (primitivă geometrică) pentru a construi o formă din ea. Desigur, putem avea acces la geometria constructivă după aceea, făcând:

Aici luăm forma obiectului nostru f, apoi luăm lista sa de muchii. În acest caz, va exista doar unul pentru că am făcut întreaga formă dintr-un singur cerc, așa că luăm doar primul element din lista Edges și luăm curba sa. Fiecare Edge are o curbă, care este o primitivă geometrică pe care se bazează.

Îndreptați-vă spre pagina Topological data scripting dacă doriți să cunoașteți mai multe.

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