Macro Draw 2D Function/cs: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
Line 11: Line 11:


<syntaxhighlight>
<syntaxhighlight>

import FreeCAD, FreeCADGui, Part
import math
import FreeCAD, FreeCADGui, Part
import math
F=800
F=800
X=-500
X=-500
Nb=10
Nb=10
Step=1000/Nb
Step=1000/Nb
Y=0
Y=0
for I in range(Nb):
for I in range(Nb):
XX=X+Step
XX=X+Step
Z=X*X/(4*F)
Z=X*X/(4*F)
ZZ=XX*XX/(4*F)
ZZ=XX*XX/(4*F)
Line 32: Line 33:
X=XX
X=XX
Part.show(WWire)
Part.show(WWire)


</syntaxhighlight>
</syntaxhighlight>

Revision as of 20:23, 4 May 2014

File:Text-x-python draw2DFunction

Description
Použijete k nakreslení funkce popsané "rovnicí" [z=F(x)] (Z-X rovina)

Author: unknown
Author
unknown
Download
None
Links
Macro Version
1.0
Date last modified
None
FreeCAD Version(s)
None
Default shortcut
None
See also
None

Použijete k nakreslení funkce popsané "rovnicí" [z=F(x)] (Z-X rovina). Příklad ukázaný zde generuje parabolu.
Je potřeba definovat :
F = proměnná použitá ve funkci,
X = iniciační hodnota x,
Nb = počet kroků,
Z = funkce vyjádřená x
ZZ = funkce vyjádřená xx


import FreeCAD, FreeCADGui, Part
import math
F=800
X=-500
Nb=10
Step=1000/Nb
Y=0
for I in range(Nb):
	XX=X+Step 
 	Z=X*X/(4*F)
 	ZZ=XX*XX/(4*F)
 	if I==0:
 		print "Le test est vrai !"
 		nomme=Part.makeLine((X,Y,Z),(XX,Y,ZZ))
 		WWire=Part.Wire([nomme])
 	else :
 		print "Le test est 2 !"
 		nomme=Part.makeLine((X,Y,Z),(XX,Y,ZZ))		
 		WWire=Part.Wire([WWire,nomme])
 	X=XX 
 
Part.show(WWire)