CNC
Bahn des Fräskopfes berechnen (in 2 Dimensionen) Koordinatensystem:
Der Nullpunkt des Koordinatensystems liegt im Schwerpunkt des Teils.
Vorzeichen des Drehsinns:
Drehungen im Gegenuhrzeigersinn haben ein positives Vorzeichen.
Richtungsvektoren:
Alle Richtungsvektoren sind Einheitsvektoren.
Kontur:
Diese Berechnung beschäftigt sich mit der Aussenkontur (Aussenumriss) des Werkstücks, nicht mit Innenkonturen (Ausbrüche u.Ä.).
1. Eckige Konturen
Die Kontur des Werkstücks wird durch ihre Eckpunkte Si beschrieben. Die Eckpunkte sind gleichzeitig auch die Schnittpunkte der Kanten des Werkstücks, die durch die Richtungsvektoren
ti beschrieben werden
ti = Si−1−Si
∣
Si−1−Si∣
.(Das „t“ steht auch für „Tangente“). Jeder Punkt pili der Kontur wird durch
pili = Si−1 li⋅ti
beschrieben. li ist der Längenparameter 0 ≤ li ≤
∣
Si−1−Si∣
= Li ; d.h.piLi = Si−1 Li⋅ti = Si und Li⋅ti =
Si−Si−1
.Li ist die Länge der Kontur zwischen Si−1 und Si . Beim Fräsen werden die I Eckpunkte in der Reihenfolge
S0 , S1 ,... , Si ,.., SI−1 im Gegenuhrzeigersinn umfahren.
Der Fräser soll den Radius r haben. Die Bahn des Fräskopfes ist der Weg, den der Mittelpunkt des Fräsers zurücklegt. Die Eckpunkte der Bahn sind
B0 , B1 ,... , Bi ,.., BI−1 .
Sie muss parallel zu den Kanten des Werkstücks verlaufen, aber um r „nach aussen“ versetzt.
D.h. der Mittelpunkt des Fräsers befindet sich immer um die Distanz r entlang des Richtungsvekors si von der Kontur versetzt. Der Vektor si steht senkrecht auf dem
Richtungsvektor ti der zugehörigen Kante. D.h. mit ti =
tti , xi , y
und si =
ssi , yi , x
soll gelten:ti×si = 1 . Also ist si =
−tti , xi , y
, denn ti×si =
tti , xi , y
×
−tti , xi , y
= ti , x2 ti , y2 = 1 undti⋅si =
tti , xi , y
⋅
−tti , xi , y
= −ti , xti , yti , yti , x = 0 , wie gewünscht.Hier noch ein paar Eigenschaften der Richtungsvektoren ti und si :
ti⋅ti1 = −
tti , xi , y
⋅
ttii1,x1,y
= ti , xti1,x ti , yti1,y = −cosEiEi ist der Innenwinkel zwischen der i -ten und der i1 -ten Abschnitt der Kontur; der Winkel dessen Scheitel im Eckpunkt Si1 liegt.
ti×ti1 =
tti , xi , y
×
tti1,i1,xy
= ti , xti1,y − ti , yti1,y = sinEi .si×si1 =
−tti , xi , y
×
−tti1,i1,xy
= −ti , yti1,xti , xti1,y = ti×ti1 = sinEi .si⋅si1 =
−tti , xi , y
⋅
−tti1,i1,xy
= ti , yti1,yti , xti1,x =
tti , xi , y
⋅
tti1,i1,xy
= −cosEiti⋅si1 =
tti , yi , x
⋅
−tti1,i1,xy
= −ti , xti1,yti , yti1,x = ti1×ti = −sinEiti1⋅si =
tti1,i1,xy
⋅
−tti , xi , y
= −ti1,xti , yti1,yti , x = ti×ti1 = sinEiti×si1 =
tti , xi , y
×
−tti1,i1,xy
= ti , xti1,xti , yti1,y = ti1⋅ti = −cosEiti1×si =
tti1,i1,xy
×
−tti , xi , y
= ti1,xti , xti1,yti , y = ti1⋅ti = −cosEiSo, jetzt geht's weiter: „Nach aussen versetzt“ bedeutet, weil der Nullpunkt des Koordinatensystems sich im Schwerpunkt des Werkstücks befindet, und es sich um die Aussenkontur handelt, dass die
bli = pli − rsi = Si−1 − rsi li⋅ti
verläuft. Dass vor r⋅si ein Minuszeichen stehen muss sieht man wie folgt: Die obere Kante der Kontur verläuft in den beiden oberen Quadranten des Koordinatensystems, und wird im
Gegenuhrzeigersinn durchlaufen. Angenommen,
ti =
−10
. Dann ist si =
−10
. Damit die Fräsbahn „nach aussen“ versetzt verläuft, muss folglich vor r⋅si also das Minuszeichen stehen.Der Eckpunkt Bi der Fräsbahn, beim Eckpunkt Si der Kontur, ist durch den Schnittpunkt der Bahnabschnitte bili und bi1li1 gegeben:
Bi = Si−1 − rsi wi⋅ti = Si − rsi1 wi1⋅ti1
Si−1−Si
r
si1−si
wi⋅ti − wi1⋅ti1 = 0 Definitionsgemäss ist
Si−Si−1
= Li⋅ti , alsor
si1−si
wi−Li
⋅ti − wi1⋅ti1 = 0 .wi und wi1 sind die Weglängen, die der Fräser entlang der Bahn von Bi nach Bi1 bzw.
von Bi1 nach Bi2 zurückgelegt hat. Durch skalare Multiplikation mit si und mit si1 bekommt man daraus
r
si1si
−1
− wi1⋅
ti1si
= 0r
−cosEi−1
− wi1⋅sinEi = 0 wi1 = − r
1cosEi
sinEi . und
r
1−
sisi1
wi−Li
⋅
tisi1
= 0r
1cosEi
wi−Li
⋅
−sinEi
= 0−r
1cosEi
wi−Li
⋅sinEi = 0wi =
Li r
1cossinEiEi
.Was bedeutet das? Na ja, man muss bedenken, dass der Nullpunkt ( wi1=0 ) der Fräserbahn entlang der Kontur von Si1 nach Si2 querab von Si1 liegt. Wenn der Winkel Ei gerade
90° beträgt (d.h. es geht „linksherum“ um die Ecke bei Si1 ), dann ist
wi1 = −r1
1 = −r , und
wi =
Li r11
=
Lir
.Die zweite Gleichung bedeutet, dass der Fräser entlang dem Bahnstück von Bi nach Bi1 um die Länge r (nämlich einen Fräserradius) über das Ende der Konturkante hinausfahren muss. Die erste Gleichung besagt, dass er auf dem Bahnstück von Bi1 nach Bi2 eine Sonderschicht von der Länge r einlegen muss, bevor er auf gleicher Höhe mit dem Beginn der i1 -ten Kante der Kontur ist.
Das alles gilt, wenn der rechte Winkel ein „Aussenwinkel“ ist, d.h. einen konvexen Konturabschnitt bildet. Wenn der rechte Winkel „linksherum“ geht, dann beträgt er −90° und der Sinus im
Nenner wechselt das Vorzeichen:
w 'i1 = −r1
−1 = r und w 'i =
Li r−11
=
Li−r
.Damit wollen die Gleichungen sagen, dass (zweite Gleichung) der Fräser nun schon um die Länge r vor Erreichen des Winkels aufhören darf; bzw. (erste Gleichung) er auch sofort schon die Länge r des nächsten Bahnstücks gefräst hat.
Also, die Gleichungen beschreiben offenbar die Verhältnisse bei „eckigen“ Konturen richtig. Jetzt kommen die Rundungen ;-).
2. Ecken auf Kreisbogen umfahren („rund achtern“)
An einer Ecke fährt der Fräser jetzt so weit über das Ende der aktuellen Kante hinaus, bis zu dem Punkt, an dem die Richtungen beider Kanten, der aktuellen und der nächsten, Tangenten an den Fräskopf bilden. Bei sehr spitzen Ecken kann dieser Punkt sehr weit vom Ende der Kanten entfernt liegen. Um dieses weite „Ausholen“ der Fräsbahn zu vermeiden, kann man den Fräser„um die Ecke rollen“ lassen: Er soll sich auf einem Kreisbogen um die Ecke bewegen, dessen Mittelpunkt die Ecke, und dessen Radius gleich dem Radius des Fräsers ist.
Der Kreisbogen beginnt querab vom Ende der i -ten Kante und endet querab vom Anfang der i1 -ten Kante. Der Anfangspunkt liegt also bei
p 'ili = Si−1Liti−1−rti−1 = Si−rti−1 , der Endpunkt bei
p 'i1li1 = Si−rti1 ; der Mittelpunkt ist natürlich M = S .
3. Kontur mit abgerundeten Ecken
Wenn die Ecken abgerundet werden sollen, dann soll die Kontur einen Kreisbogen beschreiben, dessen Tangenten die anschliessenden geraden Kanten bilden. Der Mittelpunkt des Kreisbogens liegt deshalb auf der Winkelhalbierenden der Kanten; und zwar innerhalb der Kontur, wenn es sich um einen „Aussenwinkel“ (konvexer Konturabschnitt), und ausserhalb der Kontur, wenn es um einen „Innenwinkel“ geht (konkaver Konturabschnitt).
Der Kreisbogenradius an der Ecke zwischen Si und Si1 soll Ri betragen. Da, wo sich die beiden („Innen-“) Parallelen, mit Abstand Ri zu den Kanten, schneiden, liegt der Mittelpunkt des Kreisbogens. Die Parallele zur i -ten Kante wird durch
pili Ri⋅si = Si−1 li⋅ti Ri⋅si , die zur i1 -ten Kante durch
pi1li1 Ri⋅si1 = Si li1⋅ti1 Ri⋅si1
beschrieben. Das Vorzeichen von Risi bzw. Risi1 ist jetzt positiv, weil es eben die „Innen“- Parallelen sind. Im Schnittpunkt der beiden Parallelen gilt
Si−1 li⋅ti Ri⋅si = Si li1⋅ti1 Ri⋅si1
Si−1−Si
li⋅ti − li1⋅ti1 Ri
si−si1
= 0−Liti li⋅ti − li1⋅ti1 Ri
si−si1
= 0Multiplikation mit si bzw. si1 liefert die Gleichungen
−li1
ti1si
Ri
1−
si1si
= 0−li1sinEi Ri
1cosEi
= 0li1 = Ri
1cosEi
sinEi bzw.
−Li
tisi
li
tisi1
Ri
sisi1
−1
= 0LisinEi − lisinEi − Ri
1cosEi
= 0
Li−li
sinEi − Ri
1cosEi
= 0li = Li − Ri
1cosEi
sinEi .
Der Kreisbogen beginnt also auf der i -ten Kante um Ri
1cosEi
sinEi
bevor das Ende der Kante erreicht ist und er endet genausoweit in die i1 -te Kante hinein.
Das Ende der geraden Fräserbahn entlang der geraden Abschnitte der i -ten Kante wird genauso mit der „äusseren“ Parallelen berechnet, wie im Fall der „eckigen“ Konturen auch schon: Das Ende der geraden Bahn liegt um −r⋅si (d.h. nach aussen) verschoben, querab vom Punkt pili :
biwi = Si−1 − rsi wi⋅ti = pili − risi = Si−1 − risi liti . Daraus folgt sofort
wi = li = Li − Ri
1cosEi
sinEi ,
und analog für den Beginn der Bahn entlang des geraden Abschnitts der i1 -ten Kante wi1 = li1 = Ri
1cosEi
sinEi .
Der Radius der Bahn zwischen diesen beiden Punkten ist natürlich Rir . Der Mittelpunkt Mi des Kreisbogens liegt bei
M i = piliRisi
=
Si−1Risi
Li − Ri
1cossinEi Ei
⋅ti=
Si−1RisiLiti
− Ri
1cossinE Ei
i
ti . Wenn also die i -te Kante in Richtung
ti =
tti , xi , y
verläuft, dann sind die Koordinaten des Kreisbogen-Mittelpunktes
M i =
MMi , xi , y
=
SSi−1,i−1,xy − RRiitti , yi , x
LLii −− RRii
1cos1cossinsinEEii EEii
tti , xi , y
.Auf diese Weise lassen sich, von Punkt zu Punkt, alle für die Fräsbahn wesentlichen Koordinaten berechnen.
4. Fasen einfügen
Es hat mechanisch keinen Sinn, dünnere Ecken auszufräsen, als es die Festigkeit des Material verträgt. Es ist besser, an der Stelle, an der die Ecke eine Mindestdicke Di unterschreitet, eine Gerade einzufügen, die die Ecke „abschneidet“. Die folgende Berechnung liefert die Koordinaten, an denen diese Gerade, die Fase, (auf der i -ten Kante) beginnt und (auf der i1 -ten Kante) endet.
Die Mindestdicke wird entlang des Lotes von der Winkelhalbierenden auf die beiden Kanten gemessen. Die Schnittpukte des Lotes mit den beiden Kanten liegen auf den Parallelen zur Winkelhalbierenden im Abstand ±Di
2 . Der Richtungsvektor der Winkelhalbierenden ist
ei =
ti1−ti
1cos2 Ei ; ei⋅ei = 1Die Gleichung für die Winkelhalbierende im Eckpunkt Si lautet
uihi = Sihi
ti1−ti
1cos2 Ei .Der Richtungsvektor senkrecht zur Richtung der Winkelhalbierenden ist
si1−si
1cos2 Ei ,denn
si1−si
ti1−ti
= si1ti1−siti1−si1tisiti = −siti1−si1ti= −sinEi−−sinEi = 0
Für den unhandlichen Vorfaktor benutzen wir die Abkürzung
1cos2 Ei = ci = cos
1Ei2
Also kann man die beiden Parallelen im Abstand ±Di
2 zur Winkelhalbierenden mit den Formeln
u 'ihi = Sihi
ti1−ti
ciDi2
si1−si
ci undu ' 'ihi = Sihi
ti1−ti
ci−Di2
si1−si
cidarstellen. Die erste Formel (mit dem „+“-Zeichen vor dem Di
2 ) bescheibt die Parallele auf der Seite der i -ten Kante, die andere die auf der Seite der i1 -ten Kante. Der Faktor 4 im Nenner kommt von der Mulitplikation von Abstand und dem Vorfaktor des Lot-Vektors. Gesucht sind die Schnittpunkte dieser beiden mit den zugehörigen Kanten. Im Schnittpunkt der ersten Parallelen mit der i -ten Kante gilt die Gleichung
Sihi
ti1−ti
ciDi2
si1−si
ci = Si−1liti , gesucht ist der Wert von li .
Si−Si−1
D2i
si1−si
cihi
ti1−ti
ci−liti = 0 2LitiDi
si1−si
ci2hi
ti1−ti
ci−2liti = 0 2liti−hi
ti1−ti
ci = 2LitiDi
si1−si
ciMultiplizieren mit ti liefert:
2li−hi
ti1ti
−1
ci = 2LiDi
si1ti
ci2li−hi
−cosEi−1
ci = 2LiDi
−sinEi
ci2lihici
1cosEi
= 2Li−DicisinEiMultiplizieren mit si liefert:
−hi
ti1si
ci = Di
si1si−1
ci−hisinEi = Di
−cosEi−1
hi = Di
1cosEi
sinEi .
Und damit findet man den gesuchten Wert 2lici
1cosEi
Di
1cosEi
sinEi = 2Li−DicisinEi 2lisinEiDici
1cosEi
2 =
2Li−DicisinEi
sinEi2lisinEi =
2Li−DicisinEi
sinEi−Dici
1cosEi
22lisinEi = 2LisinEi−Dicisin2Ei−Di fi−2DicicosEi−Dicicos2Ei 2lisinEi = 2LisinEi−2Dici−2DicicosEi
li = Li−Di fi 1cosEi
2 sinEi = Li−Di
1cos2 Ei⋅ 1cos2 sinEEii= Li− Di⋅
12 sincos2EEii = Li− Di⋅
2
1cos1−cosE2Ei i
= Li− Di⋅
2
1−cos1cosEi
1cosEi Ei
= Li− D2i⋅
1−cos2 Ei
= Li− Di 2 sin
E2i
.Und weil das Ganze zur Winkelhalbierenden symmetrisch ist, muss entlang der i1 -ten Kante
li1 = Di 2 sin
E2i
.Die Fase verläuft also in Richtung
Si−1
Li− 2 sinD
iE2i
ti−Si−
2 sinD
iE2i
ti1 = −
2 sinD
iE2i
titi1
.Die Geradengleichung der Fase (mit normiertem Richtungsvektor) ist also
fi = Si− Di
2 sin
E2i
tigi
2 sin
E2i
titi1
= Si1
2 sin
E2i {
gi−Di
tigiti1}
.Man kann die Fase als zusätzliche Kante auffassen. Um sie in die Liste der Konturkanten
einzufügen, werden alle Kanten-Nummern oberhalb der Nummer i um eins erhöht; was vorher die i1 -te Kante war, ist jetzt die i2 -te. Die Längen Li und Li2 der i -ten und der jetzt i2 -ten Kante beide um den Betrag
i = Di 2sin
E '2i
gekürzt, wobei E 'i der alte Eckwinkel ist, also der zwischen den Vektoren, die jetzt ti und
ti2 heissen. Der Punkt Si verschiebt sich dementsprechend. Der neue Winkel Ei ist Ei =
2E 'i = Ei1
Zwischen dem neuen Endpunkt der i -ten und dem neuen Anfangspunkt der i2 -ten Kante wird als neue i1 -ten Kante die Fasenkante mit der Geradegleichung
pi1li1 = Si li1ti1 mit ti1 =
titi2
2 sin
E '2i
.An den Verrenkungen, die ich hier machen muss, um zwischen der alten Kantenliste und der neuen, nun um eine Kante erweiterten, zu unterscheiden zeigt schon, dass man unterschiedliche
Mechanismen braucht, um Fasen und Abrundungen in der Fräskontur einzubauen. Das führt aber in den Organisation der Programmstruktur und die ist hier nicht das Thema.