Part Module/ro: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{docnav
{{Docnav
|[[OpenSCAD Module|OpenSCAD Module]]
|[[OpenSCAD Module|OpenSCAD Module]]
|[[PartDesign Workbench|PartDesign Workbench]]
|[[PartDesign Workbench|PartDesign Workbench]]
|IconL=OpenSCADWorkbench.svg
|IconL=Workbench_OpenSCAD.svg
|IconR=Workbench_PartDesign.svg
|IconR=Workbench_PartDesign.svg
}}
}}


[[Image:Workbench_Part.svg|64px]]
[[Image:Workbench_Part.svg|thumb|128px|Part workbench icon]]
{{TOCright}}

<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
== Introducere ==
== Introducere ==
Line 19: Line 19:


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.
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]]
[[Image:Part_Workbench_relationships.svg|600px]]
Line 35: Line 32:
Acestea sunt instrumente pentru crearea de obiecte primitive grafice.
Acestea sunt instrumente pentru crearea de obiecte primitive grafice.


<div class="mw-translate-fuzzy">
* [[Image:Part_Box.png|32px]] [[Part_Box/ro|Caseta]]: Deseneaza o caseta prin specificarea dimensiunile sale
* [[Image:Part_Box.png|32px]] [[Part_Box/ro|Caseta]]: Deseneaza o caseta prin specificarea dimensiunile sale
* [[Image:Part_Cylinder.png|32px]] [[Part_Cylinder/ro|Cilindru]]: Deseneaza un cilindru prin specificarea dimensiunile sale
* [[Image:Part_Cylinder.png|32px]] [[Part_Cylinder/ro|Cilindru]]: Deseneaza un cilindru prin specificarea dimensiunile sale
Line 42: Line 40:
* [[Image:Part_CreatePrimitives.png|32px]] [[Part_CreatePrimitives/ro|Creaza primitive]]: Unealta pentru crearea primitivelor geometrice bazate pe parametrii
* [[Image:Part_CreatePrimitives.png|32px]] [[Part_CreatePrimitives/ro|Creaza primitive]]: Unealta pentru crearea primitivelor geometrice bazate pe parametrii
* [[Image:Part_Shapebuilder.png|32px]] [[Part_Shapebuilder/ro|Creaza forme]]: Unealta pentru crearea formelor complexe din primitive geometrice bazate pe parametrii
* [[Image:Part_Shapebuilder.png|32px]] [[Part_Shapebuilder/ro|Creaza forme]]: Unealta pentru crearea formelor complexe din primitive geometrice bazate pe parametrii
</div>


===Modificarea obiectelor===
===Modificarea obiectelor===
Line 47: Line 46:
Acestea sunt unelte pentru modificarea obiectelor existente. Ele permit alegerea obiectelor cu care se lucrează.
Acestea sunt unelte pentru modificarea obiectelor existente. Ele permit alegerea obiectelor cu care se lucrează.


<div class="mw-translate-fuzzy">
* [[Image:Part_Extrude.png|32px]] [[Part_Extrude/ro|Extrudare]]: Extrudeaza fetele plane ale unui obiect
* [[Image:Part_Extrude.png|32px]] [[Part_Extrude/ro|Extrudare]]: Extrudeaza fetele plane ale unui obiect
* [[Image:Part_Revolve.png|32px]] [[Part_Revolve/ro|Rotatie]]: Creaza un obiect prin rotirea altui obiect in jurul unei axe
* [[Image:Part_Revolve.png|32px]] [[Part_Revolve/ro|Rotatie]]: Creaza un obiect prin rotirea altui obiect in jurul unei axe
Line 55: Line 55:
* [[Image:Part_Loft.png|32px]] [[Part_Loft/ro|Mansardare]]: Uneste un profil de altul
* [[Image:Part_Loft.png|32px]] [[Part_Loft/ro|Mansardare]]: Uneste un profil de altul
* [[Image:Part_Sweep.png|32px]] [[Part_Sweep/ro|Baleiere]]: Baleiază unul sau mai multe profile de-a lungul unei cai
* [[Image:Part_Sweep.png|32px]] [[Part_Sweep/ro|Baleiere]]: Baleiază unul sau mai multe profile de-a lungul unei cai
</div>


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 62: Line 63:
</div>
</div>


<div class="mw-translate-fuzzy">
* [[Image:Part_Thickness.png|32px]] [[Part_Thickness/ro|Thickness]]: Golește un solid, lăsând deschideri lângă fațetele selectate.
* [[Image:Part_Thickness.png|32px]] [[Part_Thickness/ro|Thickness]]: Golește un solid, lăsând deschideri lângă fațetele selectate.
</div>


* [[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_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}}


<div class="mw-translate-fuzzy">
* [[Image:Part_CompCompoundTools.png|48px]] [[Part_CompCompoundTools/ro|Compound Tools]]:
* [[Image:Part_CompCompoundTools.png|48px]] [[Part_CompCompoundTools/ro|Compound Tools]]:
** [[Image:Part MakeCompound.png|32px]] [[Part MakeCompound/ro|Make compound]]: Creează un compus din obiectele selectate.
** [[Image:Part MakeCompound.png|32px]] [[Part MakeCompound/ro|Make compound]]: Creează un compus din obiectele selectate.
** [[Image:Part_ExplodeCompound.svg|32px]] [[Part_ExplodeCompound/ro|Explode Compound]]: Instrumente pentru separarea unui compus din forme
** [[Image:Part_ExplodeCompound.svg|32px]] [[Part_ExplodeCompound/ro|Explode Compound]]: Instrumente pentru separarea unui compus din forme
** [[Image:Part Compound‏‎Filter.png|32px]] [[Part Compound‏‎Filter/ro|Compound Filter]]: The CompoundFilter poate fi utilizat pentru a extrage piesele individuale.
** [[Image:Part Compound‏‎Filter.png|32px]] [[Part Compound‏‎Filter/ro|Compound Filter]]: The CompoundFilter poate fi utilizat pentru a extrage piesele individuale.
</div>


<div class="mw-translate-fuzzy">
* [[Image:Part_Booleans.png|32px]] [[Part_Booleans/ro|Logice]]: Efectueaza operatii logice asupra obiectelor
* [[Image:Part_Booleans.png|32px]] [[Part_Booleans/ro|Logice]]: Efectueaza operatii logice asupra obiectelor
* [[Image:Part_Union.png|32px]] [[Part_Union/ro|Fuziune]]: Uneste doua obiecte
* [[Image:Part_Union.png|32px]] [[Part_Union/ro|Fuziune]]: Uneste doua obiecte
* [[Image:Part_Common.png|32px]] [[Part_Common/ro|Comun]]: Extrage partea comuna a doua obiecte
* [[Image:Part_Common.png|32px]] [[Part_Common/ro|Comun]]: Extrage partea comuna a doua obiecte
* [[Image:Part_Cut.png|32px]] [[Part_Cut/ro|Decupare]]: Substrage on obiect din celalalt
* [[Image:Part_Cut.png|32px]] [[Part_Cut/ro|Decupare]]: Substrage on obiect din celalalt
</div>


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 141: Line 148:
Î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țetă, 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.
Î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țetă, 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.


<div class="mw-translate-fuzzy">
În rezumat, primitivele geometrice sunt blocuri "fără formă", în timp ce formele topologice sunt obiectele reale construite pe ele.
În rezumat, primitivele geometrice sunt blocuri "fără formă", în timp ce formele topologice sunt obiectele reale construite pe ele.
</div>


O listă completă a tuturor primitevelor și formelor se referă la [http://www.opencascade.org/org/doc/ OCC documentation] (Alternative: [http://opencascade.sourcearchive.com/documentation/6.3.0.dfsg.1-1/classes.html sourcearchive.com]) și căutați pentru '''Geom_*''' (for geometric primitives) 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.
O listă completă a tuturor primitevelor și formelor se referă la [http://www.opencascade.org/org/doc/ OCC documentation] (Alternative: [http://opencascade.sourcearchive.com/documentation/6.3.0.dfsg.1-1/classes.html sourcearchive.com]) și căutați pentru '''Geom_*''' (for geometric primitives) 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.
Line 153: Line 162:
[[File:Part_TopoShape_relationships.svg|600px]]
[[File:Part_TopoShape_relationships.svg|600px]]


{{Caption|The "Part::TopoShape" is the geometrical object that is seen on screen. Essentially all workbenches use these TopoShapes internally to build and display edges, faces, and solids.}}
{{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.}}


== Scripting ==
== Scripting ==
Line 167: Line 176:


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]].
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
}}


=== Exemple ===
=== Exemple ===
Line 212: Line 235:


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.
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.

A Line can be created also using:

{{Code|code=
import FreeCAD
import Part
DOC = FreeCAD.newDocument()

def mycreateLine(pt1, pt2, objName):
obj = DOC.addObject("Part::Line", objName)
obj.X1 = pt1[0]
obj.Y1 = pt1[2]
obj.Z1 = pt1[2]

obj.X2 = pt2[0]
obj.Y2 = pt2[1]
obj.Z2 = pt2[2]

DOC.recompute()
return obj

line = mycreateLine((0,0,0), (0,10,0), "LineName")

}}




Un cerc poate fi creat în mod similar:
Un cerc poate fi creat în mod similar:
Line 224: Line 273:
doc.recompute()
doc.recompute()
}}
}}

or using:

{{Code|code=
import FreeCAD
import Part
DOC = FreeCAD.newDocument()

def mycreateCircle(rad, objName):
obj = DOC.addObject("Part::Circle", objName)
obj.Radius = rad

DOC.recompute()
return obj

circle = mycreateCircle(5.0, "CircleName")

}}



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:
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:
Line 251: Line 319:
</div>
</div>



{{Userdocnavi}}

[[Category:Part]]
{{Userdocnavi{{#translation:}}}}
[[Category:Workbenches]]

{{Part Tools navi{{#translation:}}}}

[[Category:Workbenches{{#translation:}}]]

Revision as of 21:50, 20 March 2020

Part workbench icon

Introducere

Capacitățile de modelare a solidelor ale FreeCAD se bazează pe kernelul Open Cascade Technology (OCCT), un sistem CAD de calitate profesionistă, care oferă crearea și manipularea geometriei avansate 3D.

Atelierul Piese permite utilizatorului să acceseze și să utilizeze obiectele și funcțiile OCCT. Obiectele piese, spre deosebire de Mesh objects, sunt mai complexe și, prin urmare, permit operații mai avansate cum ar fi operațiile booleene coerente, istoricul modificărilor și comportamentul parametric.

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.

The Part Workbench is the basic layer that exposes the OCCT drawing functions to all workbenches in FreeCAD

Instrumente

Instrumentele sunt toate amplasate în meniul Part

Primitive

Acestea sunt instrumente pentru crearea de obiecte primitive grafice.

  • Caseta: Deseneaza o caseta prin specificarea dimensiunile sale
  • Cilindru: Deseneaza un cilindru prin specificarea dimensiunile sale
  • Sfera: Deseneaza o sfera prin specificarea dimensiunile sale
  • Con: Deseneaza un con prin specificarea dimensiunile sale
  • Tor: Deseneaza un tor (inel) prin specificarea dimensiunile sale
  • Creaza primitive: Unealta pentru crearea primitivelor geometrice bazate pe parametrii
  • Creaza forme: Unealta pentru crearea formelor complexe din primitive geometrice bazate pe parametrii

Modificarea obiectelor

Acestea sunt unelte pentru modificarea obiectelor existente. Ele permit alegerea obiectelor cu care se lucrează.

  • Extrudare: Extrudeaza fetele plane ale unui obiect
  • Rotatie: Creaza un obiect prin rotirea altui obiect in jurul unei axe
  • Simetrizare: Simetrizează obiectul selectat fata de un plan
  • Panglica: Rotunjeste marginile unui obiect
  • Tesire: Teseste marginile unui obiect
  • Ruled Surface:
  • Mansardare: Uneste un profil de altul
  • Baleiere: Baleiază unul sau mai multe profile de-a lungul unei cai
  • Offset tools:
    • 3D Offset: Construiește o formă paralelă la o anumită distanță față de original.
    • 2D Offset: Construiește o polilinie paralelă la o anumită distanță față de original, sau enlarges/shrinks o fațetă plană. (v0.17)
  • Thickness: Golește un solid, lăsând deschideri lângă fațetele selectate.
  • Logice: Efectueaza operatii logice asupra obiectelor
  • Fuziune: Uneste doua obiecte
  • Comun: Extrage partea comuna a doua obiecte
  • Decupare: Substrage on obiect din celalalt
  • Join features: funcții booleene inteligente pentru obiecte de pus în perete (de ex țevi) (v0.16)
    • Connect: Conectează interiorul obiectelor (v0.16)
    • Embed: Include un obiect din perete într-un alt obiect din perete(v0.16)
    • Cutout: Crează o tăietură într-un peretele unui obiect pentru un alt obiect de pus în perete (v0.16)
  • Splitting tools: (v0.17)
    • Boolean fragments: face toate piesele care pot fi obținute prin operații booleene între obiecte (v0.17)
    • Slice a part: instrument pentru a separa forme prin intersecția cu alte forme
    • Slice: Separă un obiect în piese prin intersecții cu un alt obiect(v0.17)
    • XOR:

elimină spațiul partajat de un număr par de obiecte (versiunea simetrică a Cut) (v0.17)

Measure

File:Std Measure Menu.png Measure: Allows linear and angular measurement between points, edges, and faces.

Alte Instrumente

  • Import CAD: Acest insrument vă permite să adăugați un fișier tip *.IGES, *.STEP, *.BREP în documentul curent.
  • Export CAD: Acest instrument vă permite să ecportați un obiect piesă într-un fișier tip *.IGES, *.STEP, *.BREP .
  • Shape from Mesh: Crează un obiect formă dintr-un obiect tip plasă.
  • Convert to solid: Convertește un obeict formă într-un obeict tip solid.
  • Reverse shapes: Îndepărtează normalele tuturor fețelor obiectului selectat.
  • File:Part CreateSimpleCopy.svg Create simple copy: Creează o simplă copie a obeictului selectat.
  • Refine shape: Curăță fațetele prin ștergerea liniilor nenecesare.
  • Check geometry: Verifică de erori geometria obiectelor selectate.
  • Measure: Permite măsurări liniare și unghiulare între points/edges/faces.
  • Attachment: Atașamentul este o utilitatea de atașare a unui obiect la un altul .

Preferințe

Conceptele geometrice OCCT

Î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țetă, 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.

În rezumat, primitivele geometrice sunt blocuri "fără formă", în timp ce formele topologice sunt obiectele reale construite pe ele.

O listă completă a tuturor primitevelor și formelor se referă la OCC documentation (Alternative: sourcearchive.com) și căutați pentru Geom_* (for geometric primitives) 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ă.

The Part::TopoShape class is the geometrical object that is seen on screen. Essentially all workbenches use these TopoShapes internally to build and display edges, faces, and solids.

Scripting

See also: Part 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.

The most basic object that can be created is a Part Feature, which has a simple DatePlacement 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 Sketcher SketchObject (Sketcher), and most Draft elements.

Test script

Test the creation of Part Primitives with a script. introduced in version 0.19

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.

$INSTALL_DIR/Mod/Part/parttests/part_test_objects.py

Exemple

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

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()

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

import Part,PartGui
doc=App.newDocument()

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

l=Part.LineSegment()
l.StartPoint=(0.0,0.0,0.0)
l.EndPoint=(1.0,1.0,1.0)

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

doc.addObject("Part::Feature","Line").Shape=l.toShape()

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).

doc.recompute()

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.

A Line can be created also using:

import FreeCAD
import Part
DOC = FreeCAD.newDocument()

def mycreateLine(pt1, pt2, objName):
    obj = DOC.addObject("Part::Line", objName)
    obj.X1 = pt1[0]
    obj.Y1 = pt1[2]
    obj.Z1 = pt1[2]

    obj.X2 = pt2[0]
    obj.Y2 = pt2[1]
    obj.Z2 = pt2[2]

    DOC.recompute()
    return obj

line = mycreateLine((0,0,0), (0,10,0), "LineName")


Un cerc poate fi creat în mod similar:

import Part
doc = App.activeDocument()
c = Part.Circle() 
c.Radius=10.0  
f = doc.addObject("Part::Feature", "Circle")
f.Shape = c.toShape()
doc.recompute()

or using:

import FreeCAD
import Part
DOC = FreeCAD.newDocument()

def mycreateCircle(rad, objName):
    obj = DOC.addObject("Part::Circle", objName)
    obj.Radius = rad

    DOC.recompute()
    return obj

circle = mycreateCircle(5.0, "CircleName")


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:

s = f.Shape
e = s.Edges[0]
c = e.Curve

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