======Dental Aligners in myCNC====== Relevant articles: * [[plc:plc|PLC]] * [[mycnc:mycnc_screen_configuration|Screen Editing and Configuration]] * [[mycnc:dental_mill|Dental Mill]] ---- The myCNC software features a cutting mode that allows generating cutting programs with a focus on dental aligner manufacturing. In this mode, given an array of XYZ points, myCNC can generate a program that takes into account the rotary axis and the orientation of the workpiece (orienting the work part to be normal to the trajectory of the cut). {{:mycnc:dental-aligners-003.png}} ==== Variables ==== The following variables are used in myCNC for this application: ^ Variable name ^ Variable number ^ Description ^ | GVAR_ALIGNER_MODE | 5810 | Enable Aligner Cut generation - turn on contour generation based on an array of XYZ coordinate points | | GVAR_ALIGNER_ANGLEA | 5811 | Inclider angle (A) | | GVAR_ALIGNER_OFFSETZ | 5812 | Z-axis offset for Cutting Depth Correction | These variables can be interacted with either via Software PLC (as in the example below, via HANDLER_INIT), or via on-screen GUI elements that will be discussed in more depth later: {{:mycnc:dental-aligners-001.png}} The following code is relevant to the topic of discussion: gvarset(5810, 1); //Enable Aligner Cut generation. gvarset(5811, 66); //Set Inclider Angle (A). gvarset(5812,0-1); //Set Z axis offset If the global variable #5810 is enabled (set to 1), then the myCNC system expects an array of XYZ points in the loaded file, which it automatically converts to G-code upon import. Note the way the negative Z-axis offset is inputted - due to the way negative values are calculated, it is necessary to type it out at ''0-1'' rather than simply ''-1''. The HANDLER_INIT functionality (a Software PLC that launches whenever the myCNC application is opened) is examined in more detail in the following video: {{youtube>QzMPs64QzEQ?large}} ==== GUI ==== It is also possible to add on-screen GUI elements that will display this information, such as in the screenshot below: {{:mycnc:dental-aligners-002.png}} In the screenshot, the first number represents the incliner angle, while the second represents the Z-axis offset. The following XML code is used: An article on editing your profile screen to include a code such as the one shown in the example above is available here: [[mycnc:mycnc_screen_configuration|Screen Editing and Configuration]] ==== Files ==== The files that are loaded into myCNC are expected to have a ''.txt'' extension. On output, a ''--CUT.nc'' label is added to the file name. A section of an example file that may be loaded into myCNC using this method: -26.353647 -47.955063 10.070404 -26.086842 -47.879990 10.351146 -25.795347 -47.787163 10.611996 -25.510485 -47.663895 10.861265 -25.263590 -47.497482 11.107270 -25.063272 -47.262436 11.374028 -24.902113 -46.978760 11.640160 -24.749945 -46.668941 11.888394 -24.576611 -46.355492 12.101460 This file, when loaded into myCNC, will be transformed and will have the following section in the beginning: G90G21 G90 G0 X0 Y0 A55.0 B0 M3 G0 A55.000 B242.928 G0 X-10.183 Y45.291 A55.000 B242.928 G0 X-10.183 Y45.291 Z30.356 A55.000 B242.928 G1 X-10.183 Y45.291 Z30.356 A55.000 B242.928 G1 X-7.363 Y47.822 Z26.819 A55.000 B237.293 G1 X-4.868 Y49.553 Z23.711 A55.000 B232.507 If the first file was named, for instance, ''test1.txt'', then the output will then be named ''test1--CUT.nc'' and will be stored in the same folder as the original.