1. Invoering
Virtuele realiteit, als een nieuwe hightech technologie, wordt op grote schaal gebruikt op veel gebieden, zoals de luchtvaart, ruimtevaart, en productie. Een belangrijke toepassing van deze technologie is de simulatie van enkele fenomenen in de maakindustrie. Het meest typerend is de simulatie van het CNC-bewerkingsproces. Momenteel, simulatietechnologie gebaseerd op oppervlaktemodellering en solide modellering wordt veel gebruikt in CNC-simulatie, en er zijn ook goede algoritmen voor enkelzijdige bewerkingssimulatie van drieassige CNC-freesmachines.
Dit artikel stelt een nieuw type realtime modificatiealgoritme van het solide model voor, die het realisatieprobleem van meerzijdige bewerking van een CNC-freesmachine kan oplossen, en dit algoritme is goed toegepast in de simulatiesoftware van CNC-bewerking. Dit artikel gaat dieper in op de specifieke ideeën van het veelzijdige verwerkingsalgoritme en de realistische verwerking van afbeeldingen, en geef een specifieke grafische beschrijving.
2. Kenmerken van het CNC-programmeeralgoritme en de implementatiestappen ervan:
2.1 Algoritmefuncties van CNC-programmering
Deze methode maakt voornamelijk gebruik van matrixrasters om het oppervlak van het bewerkte werkstuk te construeren, en geeft de vorm van het bewerkte object weer door tijdig de diepte van het knooppunt dat door de frees wordt gepasseerd, aan te passen. Tegelijkertijd, dit algoritme kan ook gemakkelijk de versnelling realiseren, vertraging en pauze van de frees, evenals het realtime zoomen en roteren van het bewerkte werkstuk, gebruikers verschillende kijkhoeken en observatiemethoden bieden.
De belangrijkste kenmerken van het real-time modificatie-algoritme van het entiteitsmodel dat we hebben voorgesteld, zijn als volgt:
1) De wijzigingssnelheid van de entiteit heeft niets te maken met het aantal verwerkingscodes.
2) Het berekeningsproces is stabiel en betrouwbaar.
3) De weergave van de resultaten van programmeerberekeningen heeft niets te maken met de observatiemethode en de richting van de zichtlijn. Het kan zoomen, roteren en pannen in realtime tijdens of na de wijziging.
2.2 De structuurdefinitie van een programmeeralgoritme
De drieassige CNC-freesmachine beweegt op de X-as, en as, en Z-as. De verwerkte plano is over het algemeen een balk. In het computersimulatieproces, wij kiezen voor de meest gebruikte vlakfrees. Het oppervlak van de plano wordt weergegeven als een mxn-matrixraster, zoals weergegeven in de figuur 1. Elk kruispunt wordt een knooppunt genoemd. Voor elk knooppunt, de relatieve puntcoördinaten van het bovenoppervlak liggen vast, en wat verandert is de diepte en de tekenmethode. In het simulatieproces, de diepte van het knooppunt wordt voortdurend veranderd om de werkelijke situatie van de plano die wordt verwerkt weer te geven. Vergroot de dichtheid van het matrixraster door m en n te vergroten, waardoor de nauwkeurigheid van de simulatie wordt verbeterd.
Gebruik eerst de gerelateerde gekoppelde lijst om het mesafzetpunt en de bijbehorende attributen op te slaan. Gebruik een tweedimensionale array om alle relevante punten op elk oppervlak en de gekoppelde lijstinformatie die met elk punt correspondeert, vast te leggen. Deze lijst wordt gebruikt om het startpunt van deze blanco op te slaan, verticaal verwerkte alle punten op een rechte lijn naar het oppervlak. De knooppunten in de gekoppelde lijst registreren de coördinaten van de verwerkingspunten.
2.3 Algoritme stappen:
Stap1: Initialiseren, inlezen in het CNC-programma, de attributen van het te verwerken ruwdeel en de relevante informatie over het gereedschap en het gereedschapsafleverpunt, inclusief de keuze van het te bewerken oppervlak.
Stap2: Volgens de initialisatie-informatie, voer het puntopname-algoritme uit, noteer de punten die zijn verwerkt en de punten die niet zijn verwerkt, dat is, knooppunt selectie.
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, en de oorsprong is het middelpunt van S en E. Voor elk knooppunt P(j, z) dat aan een van de volgende voorwaarden voldoet, het wordt een wijzigingspunt:
I. -R<= z <=R en -L<= j <=L
II.-R<= z <=R en | PS|<=R
III.-R<= z <=R en | PE|<=R
Op dezelfde manier, als u ervoor kiest om andere oppervlakken te bewerken, de methode is vergelijkbaar, behalve dat de overeenkomstige coördinaten worden gewijzigd.
Stap3: Wijzig de diepteberekening van het punt
Het spooroppervlak van de vlakbodemfrees heeft een dergelijke eigenschap: Als het verwerkingsoppervlak is geselecteerd als XOY, het vlak z=Z0 zal een oppervlak zijn met straal R (zoals te zien in figuur 3). Stel dat de hoek tussen het SE- en het X-Y-vlak a is, en het wijzigingspunt is P(X,j,z),
Dan ik. Als de horizontale afstand tussen P en S kleiner is dan R, de diepte van P moet hetzelfde zijn als 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.
Op dezelfde manier, als u ervoor kiest om andere oppervlakken te bewerken, de methode is vergelijkbaar, behalve dat de overeenkomstige coördinaten worden gewijzigd.
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.
Zoals te zien in figuur 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, and it will be continuously modified as the processing progresses. Then make a hash table for each surface to record all the relevant points on each surface and the linked list of the depth point information corresponding to each point.
Step5: The drawing of parts is realized.
The process is divided into two parts: the unprocessed outer surface of the painting part and the enveloping surface formed after the painting is processed. When parts are being processed, the side boundary points of the envelope surface must be collected continuously. Momenteel, the hash table information corresponding to each face is used. When drawing, according to the processing of different surfaces, the coordinates should be converted to make them appear in the same space.
2.4 Realistic processing:
De implementatietools van dit algoritme zijn VC++6.0 en OpenGL. Het matrixraster bouwt gewoon de “structuur” van het voorwerp. Als u objecten realistisch wilt maken op de computer, je moet rekening houden met de verwerking van licht. Voor elk knooppunt, definieer er een normaalvector voor. Door de waarde van de normaalvector te wijzigen terwijl de diepte van het knooppunt wordt gewijzigd, de lichtverwerking kan aan de simulatie worden toegevoegd.
In het voorbeeld beschreven in Figuur 5, de grootte van de blanco is 300 mm x 300 mm x 200 mm, en het matrixraster is 256×256. Twee platfrezen met verschillende diameters (diameters: 14mm en 6 mm) worden gebruikt. Het resultaat na het verwerken van de plano's van verschillende oppervlakken.
3 Conclusie
In NC-bewerkingssimulatie, naast de vereisten voor de nauwkeurigheid van de simulatie, the machining process must be controlled at any time. In the method of this article, changing the density of the matrix grid can improve the simulation accuracy. For general needs, a density grid of 512╳512 is sufficient. Since a matrix grid is used to represent the processed workpiece, the zooming and rotating operations of the workpiece become very simple, which is beneficial to the user to observe carefully. This algorithm has been applied in practice and has achieved good results.