Macro Draw Parametric 2D Function/de: Difference between revisions
(Updating to match new version of source page) |
No edit summary |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
<div class="mw-translate-fuzzy"> |
|||
{{Macro/de |
{{Macro/de |
||
|Name=Macro Draw Parametric 2D Function |
|Name=Macro Draw Parametric 2D Function |
||
|Icon=Macro_Draw_Parametric_2D_Function.png |
|||
|Translate=Macro Draw Parametric 2D Function |
|Translate=Macro Draw Parametric 2D Function |
||
|Description=Zeichnet 2-dimensionale, parametrische und optional polare Gleichungen. |
|Description=Zeichnet 2-dimensionale, parametrische und optional polare Gleichungen. |
||
Line 8: | Line 8: | ||
|Version=1.0 |
|Version=1.0 |
||
|Date=2012-08-30 |
|Date=2012-08-30 |
||
|FCVersion=All |
|||
|Download=[https://www.freecadweb.org/wiki/images/0/03/Macro_Draw_Parametric_2D_Function.png ToolBar Icon] |
|||
}} |
}} |
||
</div> |
|||
==Beschreibung== |
==Beschreibung== |
||
Line 20: | Line 21: | ||
Hat noch ein paar Fehler und vermisst einige Funktionen. Die Dokumentation befindet sich in den Dokumentenketten. |
Hat noch ein paar Fehler und vermisst einige Funktionen. Die Dokumentation befindet sich in den Dokumentenketten. |
||
== |
==Anwendung== |
||
Art : |
Art : |
||
Example usage: |
|||
Beispielverwendung: |
|||
draw2Dfunction(xFunction="0.5*n", yFunction="-0.75*n", n=0, nd=-math.pi, step=50, pol=1) |
draw2Dfunction(xFunction="0.5*n", yFunction="-0.75*n", n=0, nd=-math.pi, step=50, pol=1) |
||
== |
==Skript== |
||
ToolBar Icon [[Image:Macro_Draw_Parametric_2D_Function.png]] |
|||
'''Macro_drawParametric2DFunction.FCMacro''' |
'''Macro_drawParametric2DFunction.FCMacro''' |
||
{{ |
{{MacroCode|code= |
||
import FreeCAD, FreeCADGui, Part |
import FreeCAD, FreeCADGui, Part |
Latest revision as of 16:19, 2 August 2021
Beschreibung |
---|
Zeichnet 2-dimensionale, parametrische und optional polare Gleichungen. Versionsmakro : 1.0 Datum der letzten Änderung : 2012-08-30 FreeCAD version : All Herunterladen : ToolBar Icon Autor: T4b |
Autor |
T4b |
Herunterladen |
ToolBar Icon |
Links |
Makros Rezepte Wie installiere ich Makros So passen Sie Symbolleisten an |
Macro-Version |
1.0 |
Datum der letzten Änderung |
2012-08-30 |
FreeCAD-Version(s) |
All |
Standardverknüpfung |
None |
Siehe auch |
None |
Beschreibung
Zeichnet 2-dimensionale, parametrische und optional polare Gleichungen.
DrawParametric2DFunction
Einschränkungen
Hat noch ein paar Fehler und vermisst einige Funktionen. Die Dokumentation befindet sich in den Dokumentenketten.
Anwendung
Art :
Beispielverwendung:
draw2Dfunction(xFunction="0.5*n", yFunction="-0.75*n", n=0, nd=-math.pi, step=50, pol=1)
Skript
Macro_drawParametric2DFunction.FCMacro
import FreeCAD, FreeCADGui, Part import math def evalFunction(suppliedFunction, n): """This function uses eval to evaluate suppliedFunction. It does in no way check whether suppliedFunction is evil, thus it is itself evil! """ return eval(suppliedFunction) def draw2Dfunction(xFunction="n", yFunction="n", n=-5, nd=10, step=10, z=0, pol=0): """Draws 2-dimensional mathemathical functions The function is drawn for n's between n and n+nd, in steps of 1/step, on the z-coordinate z. Equations for x and y can be given (xFunction and yFunction arguments), they default to n. If pol=1 then x is interpreted as r and y is interpreted as t. """ nStart=n while math.fabs(n-nd)-1.0/step>0: print( "n: " + str(n)) x=evalFunction(xFunction, n) y=evalFunction(yFunction, n) nNext=n+math.copysign(1,nd-n)/step print( "nNext: " + str(nNext)) xNext=evalFunction(xFunction, nNext) yNext=evalFunction(yFunction, nNext) if pol==0: nextSeg=(x,y,z),(xNext,yNext,z) else: nextSeg=(x*math.cos(y),x*math.sin(y),z),(xNext*math.cos(yNext),xNext*math.sin(yNext),z) print( "nextSeg: " + str(nextSeg)) nomme=Part.makeLine(*nextSeg) if n==nStart: WWire=Part.Wire([nomme]) else: WWire=Part.Wire([WWire,nomme]) n=nNext Part.show(WWire) #Example usage: draw2Dfunction(xFunction="0.5*n", yFunction="-0.75*n", n=0, nd=-math.pi, step=50, pol=1)