1. Einführung
Virtuelle Realität, als neue Hightech-Technologie, ist in vielen Bereichen weit verbreitet, beispielsweise in der Luftfahrt, Luft- und Raumfahrt, und Fertigung. Eine wichtige Anwendung dieser Technologie ist die Simulation einiger Phänomene in der Fertigungsindustrie. Am typischsten ist die Simulation eines CNC-Bearbeitungsprozesses. Derzeit, Simulationstechnologien, die auf Oberflächenmodellierung und Volumenmodellierung basieren, sind in der CNC-Simulation weit verbreitet, und es gibt auch gute Algorithmen für die einseitige Bearbeitungssimulation von dreiachsigen CNC-Fräsmaschinen.
This paper proposes a new type of real-time modification algorithm of the solid model, which can solve the realization problem of multi-face machining of CNC milling machine, und dieser Algorithmus wurde in der Simulationssoftware der CNC-Bearbeitung gut angewendet. In diesem Artikel werden die spezifischen Ideen des vielschichtigen Verarbeitungsalgorithmus und die realistische Verarbeitung von Grafiken näher erläutert, und geben Sie eine spezifische grafische Beschreibung.
2. Merkmale des CNC-Programmieralgorithmus und seiner Implementierungsschritte:
2.1 Algorithmenmerkmale der CNC-Programmierung
Bei dieser Methode werden hauptsächlich Matrixgitter zum Aufbau der Oberfläche des bearbeiteten Werkstücks verwendet, und zeigt die Form des bearbeiteten Objekts an, indem die Tiefe des vom Fräser durchlaufenen Knotens rechtzeitig geändert wird. Gleichzeitig, Dieser Algorithmus kann auch die Beschleunigung leicht realisieren, Verzögerung und Pause des Fräsers, sowie das Zoomen und Drehen des bearbeiteten Werkstücks in Echtzeit, Bereitstellung verschiedener Betrachtungswinkel und Beobachtungsmethoden für Benutzer.
Die Hauptmerkmale des von uns vorgeschlagenen Echtzeit-Änderungsalgorithmus des Entitätsmodells sind wie folgt:
1) Die Änderungsgeschwindigkeit der Entität hat nichts mit der Anzahl der Verarbeitungscodes zu tun.
2) Der Berechnungsprozess ist stabil und zuverlässig.
3) Die Anzeige der Programmierberechnungsergebnisse hat nichts mit der Beobachtungsmethode und der Blickrichtung zu tun. Es kann zoomen, Drehen und Schwenken in Echtzeit während oder nach der Änderung.
2.2 Die Strukturdefinition des Programmieralgorithmus
Die dreiachsige CNC-Fräsmaschine bewegt sich auf der X-Achse, und Achse, und Z-Achse. Der bearbeitete Rohling ist in der Regel ein Quader. Im Computersimulationsprozess, Wir entscheiden uns für den am häufigsten verwendeten Flachfräser. Die Oberfläche des Rohlings wird als m×n-Matrixgitter dargestellt, wie in der Abbildung dargestellt 1. Jeder Schnittpunkt wird Knoten genannt. Für jeden Knoten, seine relativen oberen Oberflächenpunktkoordinaten sind fest, und was sich ändert, ist seine Tiefe und die Art des Zeichnens. Im Simulationsprozess, Die Tiefe des Knotens wird ständig geändert, um die tatsächliche Situation des verarbeiteten Rohlings auszudrücken. Erhöhen Sie die Dichte des Matrixgitters, indem Sie m und n erhöhen, Dadurch wird die Simulationsgenauigkeit verbessert.
Verwenden Sie zunächst die zugehörige verknüpfte Liste, um den Messerabwurfpunkt und die zugehörigen Attribute zu speichern. Verwenden Sie ein zweidimensionales Array, um alle relevanten Punkte auf jeder Oberfläche und die jedem Punkt entsprechenden verknüpften Listeninformationen aufzuzeichnen. This list is used to store the starting point of this blank, vertical processed all points on a straight line to the surface. The nodes in the linked list record the coordinates of the processing points.
2.3 Algorithm steps:
Step1: Initialize, read in the CNC program, the attributes of the blank to be processed and the relevant information about the tool and the tool drop point, including the selection of the surface to be processed.
Step2: According to the initialization information, run the point-taking algorithm, record those points that have been processed and those points that have not been processed, das ist, node selection.
In a calculation by the computer, the milling cutter traveled a straight distance. Only those nodes on the trajectory surface should consider the modification of their depth, and call these points as modified points. If the machining surface is selected as ZOY, the flat-end milling cutter walks through a straight line, and the projection of its track surface on the X-Y plane is an area composed of a rectangle and two semicircles. In order to simplify the calculation, we can move the coordinate system as shown in Figure 2:
Where S is the projection of the starting point of the milling cutter on the Z-Y plane, E is the projection of the end point of the milling cutter on the Z-Y plane, the distance between S and E is 2L, and the origin is the midpoint of S and E. For any node P(j, z) that meets one of the following conditions, it becomes a modification point:
I. -R<= z <=R and -L<= y <=L
II.-R<= z <=R and | PS|<=R
III.-R<= z <=R and | SPORT|<=R
Similarly, if you choose to process other surfaces, the method is similar, except that the corresponding coordinates are changed.
Step3: Modify the depth calculation of the point
The track surface of the flat-bottom milling cutter has such a property: If the processing surface is selected as XOY, the plane z=Z0 will be a surface with radius R (wie in der Abbildung gezeigt 3). Suppose the angle between SE and X-Y plane is a, and the modification point is P(X,j,z),
Then I. If the horizontal distance between P and S is less than R, the depth of P should be the same as S.
II. If the horizontal distance between P and S is not less than R, then the depth Z of P can be obtained by the equation |(P-S)-(Z-Zs)/sinan|=R.
Similarly, if you choose to process other surfaces, the method is similar, except that the corresponding coordinates are changed.
Step4: Connect the processed interval on each row and column on the surface of the part, and the corresponding maximum processing depth in the interval, respectively in the form of a linked list by row and a linked list by column. And record the maximum depth corresponding to the interval in the row (or column) in the head node of the corresponding linked list.
Wie in der Abbildung gezeigt 4, for any face, the mth row: Assuming that in this row, the maximum depth between datal and data2 is h1, the maximum depth between data3 and data4 is h2, and h1>h2, the following linked list will be generated:
The generation of the linked list is dynamic, und es wird im Laufe der Verarbeitung kontinuierlich geändert. Erstellen Sie dann für jede Oberfläche eine Hash-Tabelle, um alle relevanten Punkte auf jeder Oberfläche und die verknüpfte Liste der Tiefenpunktinformationen für jeden Punkt aufzuzeichnen.
Schritt 5: Die Zeichnung der Teile wird realisiert.
Der Prozess gliedert sich in zwei Teile: die unbearbeitete Außenfläche des Lackierteils und die nach der Lackierbearbeitung gebildete Hüllfläche. Wenn Teile bearbeitet werden, Die seitlichen Randpunkte der Hüllfläche müssen kontinuierlich erfasst werden. Zu diesem Zeitpunkt, Es werden die jedem Gesicht entsprechenden Hash-Tabelleninformationen verwendet. Beim Zeichnen, entsprechend der Bearbeitung unterschiedlicher Oberflächen, Die Koordinaten sollten konvertiert werden, damit sie im selben Raum erscheinen.
2.4 Realistische Verarbeitung:
Die Implementierungstools dieses Algorithmus sind VC++6.0 und OpenGL. Das Matrixgitter bildet einfach das “Struktur” des Objekts. Wenn Sie Objekte am Computer realistisch gestalten möchten, Sie müssen die Verarbeitung von Licht berücksichtigen. Für jeden Knoten, Definieren Sie einen Normalenvektor dafür. Durch Ändern des Wertes des Normalenvektors und gleichzeitiges Ändern der Knotentiefe, Die Lichtverarbeitung kann zur Simulation hinzugefügt werden.
In dem in Abbildung beschriebenen Beispiel 5, Die Größe des Rohlings beträgt 300 mm × 300 mm × 200 mm, und das Matrixgitter ist 256×256. Zwei Flachfräser mit unterschiedlichen Durchmessern (Durchmesser: 14mm und 6mm) werden verwendet. Das Ergebnis nach der Bearbeitung der Rohlinge aus unterschiedlichen Oberflächen.
3 Abschluss
In der NC-Bearbeitungssimulation, zusätzlich zu den Anforderungen an die Genauigkeit der Simulation, Der Bearbeitungsprozess muss jederzeit kontrolliert werden. In der Methode dieses Artikels, Durch Ändern der Dichte des Matrixgitters kann die Simulationsgenauigkeit verbessert werden. Für allgemeine Bedürfnisse, ein Dichteraster von 512╳512 ist ausreichend. Denn zur Darstellung des bearbeiteten Werkstücks wird ein Matrixraster verwendet, Das Zoomen und Drehen des Werkstücks wird sehr einfach, Es ist für den Benutzer von Vorteil, diese sorgfältig zu beobachten. Dieser Algorithmus wurde in der Praxis angewendet und hat gute Ergebnisse erzielt.