Hallo Tigger,
Ich habe mir zwischen Gänsebraten und Neujahrssekt mal Gedanken gemacht, wie das Evolventenproblem in CATIA V5 mathematisch zu lösen ist und habe nachfolgende Lösung gefunden. Im Anhang befindet sich das Beispielmodell erzeugt mit V5R9 SP4.
Anmerkung: Wenn hier von einer Evolvente gesprochen wird, meine ich stets die Kreisevolvente.
In CATIA V5 ist es möglich, eine Regel zu definieren, die auf einer mathematischen Funktion in der Form y=f(x) basiert. Dazu benutzt man die CATIA-Funktion "FOG". Wird diese Regel mit der Funktion "Parallele Kurve" auf eine Linie angewendet, erhält man die grafische Darstellung dieser mathematischen Funktion als Kurve.
Die Evolvente läßt sich nicht in der Form y=f(x) darstellen. Deswegen verwendet man hier die parametrische Darstellung bestehend aus zwei Funktionsgleichnungen, die sich aus dem trigonometrischen Zusammenhang nach dem angehängten Bild ergeben.
1. x=f(alpha)=r*(cos(alpha)+alpha*sin(alpha))
2. y=f(alpha)=r*(sin(alpha)-alpha*cos(alpha))
Für x,y,alpha wurden als Parametertypen reelle Zahlen verwendet. Daraus ergibt sich standardmäßig ein Wertebereich von 0<=alpha<=1. Deshalb ist es notwendig den Winkel alpha zu kalibrieren.
Im Modellbeispiel ist die Evolvente für den Kreiswinkel zwischen 0 und 180° berechnet. Es ergeben sich folgende kalibrierte Funktionsgleichungen:
1. x=f(alpha)=r*(cos(alpha*180°)+alpha*PI*sin(alpha*180°))
2. y=f(alpha)=r*(sin(alpha*180°)-alpha*PI*cos(alpha*180°))
Da in V5R9 die Regel über den gesamten Wertebereich keine negativen Ergebnisse für die "Parallele Kurve" liefern darf, ist eine Verschiebung der Kurve in x-Richtung um r notwendig, da die Funktion im Bereich 0°-180° bei 180° den kleinsten Wert von -r liefert.
Daraus ergibt sich folgende Funktionsgleichnung für die x-Regel:
x=f(alpha)=r*(cos(alpha*180°)+alpha*PI*sin(alpha*180°))+r
Diese Verschiebung wird später durch das Verschieben der Evolvente in x-Richtung um -r kompensiert. In V5R10 ist dies nicht mehr notwendig. Auch wenn der Wertebereich verkleinert wird (z.B. 0<=alpha<=90°), ist diese Verschiebung nicht notwendig, da negative Ergebnisse erst ab ca. 160° auftreten.
Da qualitativ schlechte Kurven Ergebnisse erzielt werden, wenn die x- und y-Kurve auf der gleichen Ebene starten, habe ich die y-Kurve bereits in der Regel 1mm in y-Richtung verschoben über folgende Funktionsgleichnung:
y=f(alpha)=r*(sin(alpha*180°)-alpha*PI*cos(alpha*180°))+1
Auch diese Verschiebung wird anschließend durch Verschiebung der Evolvente in y-Richtung um -1mm kompensiert.
Nachdem diese Beiden Regeln aufgestellt sind, werden diese mit der Funktion "Parallele Kurve" auf ein und dieselbe Linie (OffsetBasis) in zwei unterschiedliche orthogonale Richtungen angewendet. Diese beiden Kurven werden anschließend kombiniert. Die enstandene Raumkurve wird auf eine senkrecht zur Offsetbasis stehende Ebene projeziert und anschließend die in den Regeln definierten Verschiebungen (siehe oben) kompensiert.
Fertig ist die Evolvente. Da die gesamte Konstruktion an dem Parameter "Radius" aufgehängt ist, läßt sich durch Verändern dieses Parameters die Evolvente steuern. Werden nun noch weitere Parameter eingebaut, die den Modul, Profilverschiebung u.a. beschreiben (Konstruktionstabellen), läßt sich dadurch ein gutes Grundmodell für Zahnräder aufbauen.
Für weitere Anregungen wäre ich sehr dankbar.
Guss
Steffen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP