mycnc:height_mapping
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
mycnc:height_mapping [2019/10/04 15:08] – ivan | mycnc:height_mapping [2019/11/19 11:12] – ivan | ||
---|---|---|---|
Line 1: | Line 1: | ||
======3D Height Mapping====== | ======3D Height Mapping====== | ||
- | < | + | < |
- | < | + | |
Height mapping allows to correct the G-code program for abnormalities and slight surface variations of the working material by mapping out the height map of the working material prior to beginning the cutting job. This function is extremely useful when dealing with a working surface which might be oriented imperfectly or may have some abnormalities to it, as well as programs which require a high degree of precision. | Height mapping allows to correct the G-code program for abnormalities and slight surface variations of the working material by mapping out the height map of the working material prior to beginning the cutting job. This function is extremely useful when dealing with a working surface which might be oriented imperfectly or may have some abnormalities to it, as well as programs which require a high degree of precision. | ||
- | The function is currently being tested for the X1366M, X1366M4 and X1366M6 profiles. In order to perform the height mapping procedure, do the following: | + | The function is currently being tested for the X1366M, X1366M4 and X1366M6 profiles. |
+ | |||
+ | {{youtube> | ||
+ | |||
+ | In order to perform the height mapping procedure, do the following: | ||
* Open the file that you will want to correct for the material variations | * Open the file that you will want to correct for the material variations | ||
- | {{: | + | {{: |
* After opening the file, head to the Map tab on the main screen of myCNC software | * After opening the file, head to the Map tab on the main screen of myCNC software | ||
- | {{: | + | {{: |
- | * Select your Segment Length, your XY Grid, and Probe Speeds | + | * Select your Segment Length |
- | {{: | + | {{: |
+ | * Select your probe speeds. The probe speed is the speed with which the probe will be moving down from the start of the downward movement to the first contact with the surface. The slow speed is the speed on the rebound, allowing for a more precise measurement of the z-height position on second contact. | ||
+ | {{: | ||
+ | * Select your Lift Height and Bounce Back settings. The Lift Height specifies the z-axis height to which the probe will be lifted between different probing points (safe height). Note that this height is absolute, not relative, so it will raise it TO the position specified in this field in program coordinates, | ||
+ | {{: | ||
* Select whether you want the material to be probed in a Rectangular or a Fill Area pattern. Generally, either of these methods will give similar results: | * Select whether you want the material to be probed in a Rectangular or a Fill Area pattern. Generally, either of these methods will give similar results: | ||
{{: | {{: | ||
* Press the Generate Map button. Note that in order for the map to position itself properly, the X and Y program coordinates must be at zero prior to the map generation step. | * Press the Generate Map button. Note that in order for the map to position itself properly, the X and Y program coordinates must be at zero prior to the map generation step. | ||
- | {{: | + | {{: |
* Press the Run button (this begins the probing process) | * Press the Run button (this begins the probing process) | ||
- | {{: | + | {{: |
* After the probing program has completed running, press the Apply Map button. The original G-code file that you have loaded in should now be corrected. | * After the probing program has completed running, press the Apply Map button. The original G-code file that you have loaded in should now be corrected. | ||
- | {{: | + | {{: |
- | * After the file has been corrected for surface level imperfections, | + | * After the file has been corrected for surface level imperfections, |
+ | * If you would like to add a manual measurement of a point or a set of points, you can do so by moving the machine to an arbitrary XY location and recording the height there using the Manual Height Probing button. This will add that XYZ point to the existing height array. | ||
+ | {{: | ||
+ | * If you would like to clear the existing generated map (for example, for the purposes of manually recording a set of points without data from the automatic measurements), | ||
+ | {{: | ||
+ | * If you would like to save the existing map in order to apply it to a G-code file at a later point, you can do so using the Save Map button. The map will be saved in the folder specified in '' | ||
+ | {{: | ||
+ | |||
+ | ====Setting up the probing procedure (beta users)==== | ||
+ | |||
+ | The 3D height map .xml file for the X1366M-series profiles is currently available on request (beta testing as of October 2019). In order to set up the profile once you have received the file, do the following: | ||
+ | |||
+ | * Head into home/ | ||
+ | * Head into myCNC '' | ||
+ | * On recent software versions, it can be added by going into '' | ||
+ | * On older software versions, add the M180 procedure by manually creating an '' | ||
+ | <code C># | ||
+ | |||
+ | do_probe() | ||
+ | { | ||
+ | g0moveA(0, | ||
+ | timer=200; do{timer--; | ||
+ | do{ | ||
+ | | ||
+ | if (code==0x4d) | ||
+ | { | ||
+ | gvarset(9121, | ||
+ | timer=30; | ||
+ | message=PLCCMD_MOTION_BREAK; | ||
+ | message=PLCCMD_MOTION_BREAK; | ||
+ | exit(99); | ||
+ | }; | ||
+ | sens=portget(INPUT_PROBE); | ||
+ | if (sens!=0) | ||
+ | { | ||
+ | code=1; | ||
+ | message=PLCCMD_LINE_STOP; | ||
+ | timer=10; | ||
+ | }; | ||
+ | }while (code==0); | ||
+ | do { code=gvarget(6060); | ||
+ | }; | ||
+ | |||
+ | do_rebound() | ||
+ | { | ||
+ | // | ||
+ | gvarset(7080, | ||
+ | timer=20; | ||
+ | bounce=gvarget(8256); | ||
+ | g0moveA(0, | ||
+ | timer=200; do{timer--; | ||
+ | do { code=gvarget(6060); | ||
+ | }; | ||
+ | |||
+ | do_lift() | ||
+ | { | ||
+ | // | ||
+ | gvarset(7080, | ||
+ | timer=20; | ||
+ | |||
+ | lift_height=gvarget(8257); | ||
+ | g0moveA(1, | ||
+ | timer=200; do{timer--; | ||
+ | do { code=gvarget(6060); | ||
+ | }; | ||
+ | |||
+ | |||
+ | main() | ||
+ | { | ||
+ | message=PLCCMD_TRIGGER4_OFF; | ||
+ | timer=2; | ||
+ | |||
+ | sens=portget(INPUT_PROBE); | ||
+ | if (sens!=0) | ||
+ | { | ||
+ | gvarset(7080, | ||
+ | timer=20; | ||
+ | do_rebound(); | ||
+ | }; | ||
+ | |||
+ | sens=portget(INPUT_PROBE); | ||
+ | if (sens==0) | ||
+ | { | ||
+ | speed=gvarget(8253); | ||
+ | gvarset(7080, | ||
+ | timer=20; | ||
+ | do_probe(); | ||
+ | }; | ||
+ | |||
+ | do_rebound(); | ||
+ | |||
+ | sens=portget(INPUT_PROBE); | ||
+ | if (sens==0) | ||
+ | { | ||
+ | speed=gvarget(8254); | ||
+ | gvarset(7080, | ||
+ | timer=20; | ||
+ | do_probe(); | ||
+ | }; | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | };</ | ||
+ | * Note that the probe sensor number is defined in the '' | ||
+ | |||
+ | |||
+ | ====Changelog==== | ||
+ | |||
+ | **2019-10-15: | ||
+ | |||
+ | **2019-10-07: | ||
- | NOTE: The Save and Open Map buttons do not work yet (as of October 4, 2019). These will allow the user to save the created map and to load a previous map to apply to the G-code file. | + | **2019-10-04:** The Save and Open Map buttons do not work yet. These will allow the user to save the created map and to load a previous map to apply to the G-code file. |
mycnc/height_mapping.txt · Last modified: 2024/03/22 14:12 by ivan