und die archimedische Spirale. Selbige werden oft als Sweeppfade für allerlei benutzt.
https://forum.freecadweb.org/viewtopic. ... 20#p105200
Aus diesem wmayer-Skript habe ich mir die Vorgehensweise abgeschaut, wie man die Dinger in Python programmiert
und daraus einen Punkteimport nebst BSpline erzeugt. Das waren schon mal ganz nützliche und überschaubare Einsteigerübungen für
etwas Python-Autodidaktik. Da es noch andere Spiralentypen gibt, konnte die Übung fortgesetzt werden.
http://mathematische-basteleien.de/spirale.htm
Da wäre noch die Euler-Spirale aka. Klothoide bzw. Cornu-Spiral
https://forum.freecadweb.org/viewtopic. ... 95#p175965
Und natürlich die in der Natur so oft verwendete Logarithmische Spirale ( auch angenähert durch die Fibonacci-Spirale).
Nachstehend das Skript für eine 3D-Log-Spirale und ein daraus gesweeptes Schneckenhaus.
(ist wohl Eulen nach Athen getragen, aber man steht als Anfänger nicht solitär in der CAD-Gegend rum...)
Code: Select all
# Logarithmische Spirale 3D
# http://matplotlib.org/examples/pylab_examples/fill_spiral.html
# https://forum.freecadweb.org/viewtopic.php?t=12796&start=20#p105200
import Draft
import math
from math import pi
from math import e # Eulerzahl 2.71828
import Points
start = 0
ende = 47 # 2 Umdrehungen
dpi = 5 # pi_Schrittweiten-Faktor r=a*phi
kon = 0.02 # eine sehr kleine Konstante
cona = 1 # irgend eine Konstante
dri = 1 # Delta_R-Schrittweite
dzi = 1 # Delta_Z-Schrittweite
pts=[App.Vector((start+cona*e**(kon*pi*i))*math.cos(math.radians(pi*dpi*i)),
(start+cona*e**(kon*pi*i))*math.sin(math.radians(pi*dpi*i)),
cona*e**(kon*pi*i)*dzi) for i in range(ende)] #i*dzi
#.......................................for i in ... ist in Py ein "Generatortyp"
# Points-Feature erstellen
p=Points.Points()
p.addPoints(pts)
Points.show(p)
# Punkte verbinden
Draft.makeBSpline(pts)