Macro Draw Parametric 2D Function/de: Difference between revisions

From FreeCAD Documentation
(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.


==Verwenden Sie==
==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)


==Script==
==Skript==

ToolBar Icon [[Image:Macro_Draw_Parametric_2D_Function.png]]


'''Macro_drawParametric2DFunction.FCMacro'''
'''Macro_drawParametric2DFunction.FCMacro'''


{{Code|code=
{{MacroCode|code=


import FreeCAD, FreeCADGui, Part
import FreeCAD, FreeCADGui, Part

Latest revision as of 16:19, 2 August 2021

Macro Draw Parametric 2D Function

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

ToolBar Icon

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)