Python/ro: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(3 intermediate revisions by the same user not shown)
Line 31: Line 31:


{{Code|code=
{{Code|code=
Wire = makeWire(pointslist, closed=False, placement=None, face=None, support=None)
Wire = make_wire(pointslist, closed=False, placement=None, face=None, support=None)
}}
}}


Line 37: Line 37:


{{Code|code=
{{Code|code=
Wire = makeWire(pointslist, False, None, None, None)
Wire = make_wire(pointslist, False, None, None, None)
Wire = makeWire(pointslist, False, None, None)
Wire = make_wire(pointslist, False, None, None)
Wire = makeWire(pointslist, False, None)
Wire = make_wire(pointslist, False, None)
Wire = makeWire(pointslist, False)
Wire = make_wire(pointslist, False)
Wire = makeWire(pointslist)
Wire = make_wire(pointslist)
}}
}}


Line 48: Line 48:
* Atunci când argumentele sunt date cu cheia explicită, argumentele opționale pot fi date în orice ordine. Aceasta înseamnă că următoarele apeluri sunt echivalente:
* Atunci când argumentele sunt date cu cheia explicită, argumentele opționale pot fi date în orice ordine. Aceasta înseamnă că următoarele apeluri sunt echivalente:
{{Code|code=
{{Code|code=
Wire = makeWire(pointslist, closed=False, placement=None, face=None)
Wire = make_wire(pointslist, closed=False, placement=None, face=None)
Wire = makeWire(pointslist, closed=False, face=None, placement=None)
Wire = make_wire(pointslist, closed=False, face=None, placement=None)
Wire = makeWire(pointslist, placement=None, closed=False, face=None)
Wire = make_wire(pointslist, placement=None, closed=False, face=None)
Wire = makeWire(pointslist, support=None, closed=False, placement=None, face=None)
Wire = make_wire(pointslist, support=None, closed=False, placement=None, face=None)
}}
}}


Line 60: Line 60:
p2 = Vector(1, 1, 0)
p2 = Vector(1, 1, 0)
p3 = Vector(2, 0, 0)
p3 = Vector(2, 0, 0)
Wire = makeWire([p1, p2, p3], closed=True)
Wire = make_wire([p1, p2, p3], closed=True)
}}
}}


Line 69: Line 69:
2, 4, 5]
2, 4, 5]


Wire = makeWire(pointslist,
Wire = make_wire(pointslist,
False, None,
False, None,
None, None)
None, None)
Line 76: Line 76:
* Funcțiile pot returna un obiect care poate fi folosit ca bază a unei alte funcții de desen.
* Funcțiile pot returna un obiect care poate fi folosit ca bază a unei alte funcții de desen.
{{Code|code=
{{Code|code=
Wire = makeWire(pointslist, closed=True, face=True)
Wire = make_wire(pointslist, closed=True, face=True)
Window = makeWindow(Wire, name="Big window")
Window = make_window(Wire, name="Big window")
}}
}}


Line 84: Line 84:
Funcțiile Python sunt stocate în fișiere numite module. Înainte de a utiliza orice funcție din modulul respectiv, modulul trebuie inclus în document cu instrucțiunea {{incode|import}}.
Funcțiile Python sunt stocate în fișiere numite module. Înainte de a utiliza orice funcție din modulul respectiv, modulul trebuie inclus în document cu instrucțiunea {{incode|import}}.


<div class="mw-translate-fuzzy">
Aceasta creează funcții prefixate, {{incode|module.function()}}.
Aceasta creează funcții prefixate, {{incode|module.function()}}.
Acest sistem previne conflictele de nume cu funcții numite aceleași, dar care provin de la diferite module.
Acest sistem previne conflictele de nume cu funcții numite aceleași, dar care provin de la diferite module.
De exemplu, două funcții {{incode|Arch.makeWindow()}} și {{incode|myModule.makeWindow()}} pot coexista fără probleme.
De exemplu, două funcții {{incode|Arch.makeWindow()}} și {{incode|myModule.makeWindow()}} pot coexista fără probleme.
</div>


Exemplele complete ar trebui să includă importurile necesare și funcțiile prefixate.
Exemplele complete ar trebui să includă importurile necesare și funcțiile prefixate.


{{Code|code=
{{Code|code=
import FreeCAD, Draft
import FreeCAD as App
import Draft


p1 = FreeCAD.Vector(0, 0, 0)
p1 = App.Vector(0, 0, 0)
p2 = FreeCAD.Vector(1, 1, 0)
p2 = App.Vector(1, 1, 0)
p3 = FreeCAD.Vector(2, 0, 0)
p3 = App.Vector(2, 0, 0)
Wire = Draft.makeWire([p1, p2, p3], closed=True)
Wire = Draft.make_wire([p1, p2, p3], closed=True)
}}
}}


{{Code|code=
{{Code|code=
import FreeCAD, Draft, Arch
import FreeCAD as App
import Draft
import Arch


p1 = FreeCAD.Vector(0, 0, 0)
p1 = App.Vector(0, 0, 0)
p2 = FreeCAD.Vector(1, 0, 0)
p2 = App.Vector(1, 0, 0)
p3 = FreeCAD.Vector(1, 1, 0)
p3 = App.Vector(1, 1, 0)
p4 = FreeCAD.Vector(0, 2, 0)
p4 = App.Vector(0, 2, 0)
pointslist = [p1, p2, p3, p4]
pointslist = [p1, p2, p3, p4]


Wire = Draft.makeWire(pointslist, closed=True, face=True)
Wire = Draft.make_wire(pointslist, closed=True, face=True)
Structure = Arch.makeStructure(Wire, name="Big pillar")
Structure = Arch.make_structure(Wire, name="Big pillar")
}}
}}


[[Category:API Documentation{{#translation:}}]]
{{Powerdocnavi{{#translation:}}}}
[[Category:Developer Documentation{{#translation:}}]]
[[Category:Developer Documentation{{#translation:}}]]
[[Category:Poweruser Documentation{{#translation:}}]]
[[Category:API{{#translation:}}]]
{{Userdocnavi{{#translation:}}}}
[[Category:Python Code{{#translation:}}]]
[[Category:Glossary{{#translation:}}]]
[[Category:Glossary{{#translation:}}]]

Latest revision as of 09:22, 17 October 2021

(November 2018) FreeCAD a fost proiectat inițial pentru a lucra cu Python 2. Multe funcții lucrează cu Python 3, dar unele nu funcționează. Efectuarea suportului deplin al FreeCAD Python 3 este o lucrare în desfășurare.

Descriere

Python este un limbaj de programare cu scop general, care este foarte frecvent utilizat în aplicații mari pentru a automatiza anumite sarcini prin crearea de scripturi sau macros.

În programul FreeCAD, codul Python poate fi folosit pentru a crea diverse elemente programabil, fără a fi nevoie să faceți clic pe interfața grafică a utilizatorului. În plus, multe instrumente și ateliere de lucru ale programului FreeCAD sunt programate în Python.

A se vedea Introduction to Python pentru a afla despre limbajul de programare Python și apoi Python scripting tutorial și FreeCAD Scripting Basics pentru a porni scripting-ul în FreeCAD.

Readability

Atunci când se scrie codul în Python, este de preferat să se urmeze PEP8: Style Guide for Python Code.

These documents present explanations in a more user-friendly way:

Convenții

În această documentație, ar trebui urmate câteva convenții pentru exemplele Python.

Aceasta este o semnătură tipică a funcției

Wire = make_wire(pointslist, closed=False, placement=None, face=None, support=None)
  • Argumentele cu perechi cheie-valoare sunt opționale, cu valoarea implicită indicată în semnătură. Aceasta înseamnă că următoarele apeluri sunt echivalente:
Wire = make_wire(pointslist, False, None, None, None)
Wire = make_wire(pointslist, False, None, None)
Wire = make_wire(pointslist, False, None)
Wire = make_wire(pointslist, False)
Wire = make_wire(pointslist)
În acest exemplu, primul argument nu are o valoare implicită, așa că trebuie întotdeauna inclus.
  • Atunci când argumentele sunt date cu cheia explicită, argumentele opționale pot fi date în orice ordine. Aceasta înseamnă că următoarele apeluri sunt echivalente:
Wire = make_wire(pointslist, closed=False, placement=None, face=None)
Wire = make_wire(pointslist, closed=False, face=None, placement=None)
Wire = make_wire(pointslist, placement=None, closed=False, face=None)
Wire = make_wire(pointslist, support=None, closed=False, placement=None, face=None)
  • Normele lui Python subliniază lizibilitatea codului; în special, parantezele trebuie să urmeze imediat numele funcției, iar un spațiu trebuie să urmeze după o virgulă.
p1 = Vector(0, 0, 0)
p2 = Vector(1, 1, 0)
p3 = Vector(2, 0, 0)
Wire = make_wire([p1, p2, p3], closed=True)
  • Dacă codul trebuie să fie rupt în mai multe rânduri, acest lucru trebuie făcut cu o virgulă între paranteze pătrate sau paranteze; a doua linie trebuie aliniată cu cea anterioară.
a_list = [1, 2, 3,
          2, 4, 5]

Wire = make_wire(pointslist,
                False, None,
                None, None)
  • Funcțiile pot returna un obiect care poate fi folosit ca bază a unei alte funcții de desen.
Wire = make_wire(pointslist, closed=True, face=True)
Window = make_window(Wire, name="Big window")

Importuri

Funcțiile Python sunt stocate în fișiere numite module. Înainte de a utiliza orice funcție din modulul respectiv, modulul trebuie inclus în document cu instrucțiunea import.

Aceasta creează funcții prefixate, module.function(). Acest sistem previne conflictele de nume cu funcții numite aceleași, dar care provin de la diferite module. De exemplu, două funcții Arch.makeWindow() și myModule.makeWindow() pot coexista fără probleme.

Exemplele complete ar trebui să includă importurile necesare și funcțiile prefixate.

import FreeCAD as App
import Draft

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1, 1, 0)
p3 = App.Vector(2, 0, 0)
Wire = Draft.make_wire([p1, p2, p3], closed=True)
import FreeCAD as App
import Draft
import Arch

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1, 0, 0)
p3 = App.Vector(1, 1, 0)
p4 = App.Vector(0, 2, 0)
pointslist = [p1, p2, p3, p4]

Wire = Draft.make_wire(pointslist, closed=True, face=True)
Structure = Arch.make_structure(Wire, name="Big pillar")