Macro Draw 2D Function: Difference between revisions
mNo edit summary |
(Use {{MacroCode}}) |
||
(21 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
|||
⚫ | |||
<translate> |
|||
<!--T:1--> |
|||
{{Macro |
|||
|Name=Draw 2D Function |
|||
|Icon=Macro_Draw_2D_Function.png |
|||
⚫ | |||
|Author=unknown |
|||
|Version=1.0 |
|||
|Date=2011-08-01 |
|||
|FCVersion=All |
|||
|Download=[https://www.freecadweb.org/wiki/images/3/36/Macro_Draw_2D_Function.png ToolBar Icon] |
|||
}} |
|||
==Description== <!--T:2--> |
|||
Use it to draw a function described by a "equation" [z=F(x)] (Z-X plane) The example done here generate a parabol. |
Use it to draw a function described by a "equation" [z=F(x)] (Z-X plane) The example done here generate a parabol. |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
==Script== <!--T:3--> |
|||
⚫ | |||
</translate> |
|||
ToolBar Icon [[Image:Macro_Draw_2D_Function.png]] |
|||
⚫ | |||
⚫ | |||
'''Macro_Draw_2D_Function.FCMacro''' |
|||
⚫ | |||
⚫ | |||
{{MacroCode|code= |
|||
⚫ | |||
# F = variable used in the function, |
|||
# X = initial value of x, |
|||
# Nb = Number of step, |
|||
# Z = function express with x |
|||
# ZZ = function express with 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) |
Z=X*X/(4*F) |
||
ZZ=XX*XX/(4*F) |
ZZ=XX*XX/(4*F) |
||
if I==0: |
if I==0: |
||
print "Le test est vrai !" |
print( "Le test est vrai !") |
||
nomme=Part.makeLine((X,Y,Z),(XX,Y,ZZ)) |
nomme=Part.makeLine((X,Y,Z),(XX,Y,ZZ)) |
||
WWire=Part.Wire([nomme]) |
WWire=Part.Wire([nomme]) |
||
else : |
else : |
||
print "Le test est 2 !" |
print( "Le test est 2 !") |
||
nomme=Part.makeLine((X,Y,Z),(XX,Y,ZZ)) |
nomme=Part.makeLine((X,Y,Z),(XX,Y,ZZ)) |
||
WWire=Part.Wire([WWire,nomme]) |
WWire=Part.Wire([WWire,nomme]) |
||
X=XX |
X=XX |
||
Part.show(WWire) |
|||
}} |
|||
{{languages | {{es|Macro_draw2DFunction/es}} }} |
Latest revision as of 00:32, 8 May 2020
Description |
---|
Use it to draw a function described by a "equation" [z=F(x)] (Z-X plane) Macro version: 1.0 Last modified: 2011-08-01 FreeCAD version: All Download: ToolBar Icon Author: unknown |
Author |
unknown |
Download |
ToolBar Icon |
Links |
Macros recipes How to install macros How to customize toolbars |
Macro Version |
1.0 |
Date last modified |
2011-08-01 |
FreeCAD Version(s) |
All |
Default shortcut |
None |
See also |
None |
Description
Use it to draw a function described by a "equation" [z=F(x)] (Z-X plane) The example done here generate a parabol. Has no dialog. Needs to be defined:
- F = variable used in the function,
- X = initial value of x,
- Nb = Number of step,
- Z = function express with x
- ZZ = function express with xx
Script
Macro_Draw_2D_Function.FCMacro
# F = variable used in the function, # X = initial value of x, # Nb = Number of step, # Z = function express with x # ZZ = function express with 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)