======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.