Pre-leveled gcode, A Feature Request
Posted: Wed Nov 20, 2013 5:18 pm
Hi James,
I have had success with your autoleveler. I produced my very first circuit board set. I would like to explain my use for pcb and proposed use for milling plastic and other materials, and ask for an additional feature from you, for which I am willing to donate $100 in advance.
A brief workflow description for making my first pcb follows for background:
I used Kicad to produce the layout and to tile 4 individual boards with rounded corner cutout outline onto one gerber file.
Exported gerber and excellon files from Kicad Plot output.
Opened gerber and excellon drill file in Coppercam from France, 80 Euros and a good deal for the money.
Coppercam lets me create all gcode for traces, hatching to remove excess copper between traces, drilling, and cutout of the 4 individual boards with rounded corners.
Could have used pcb-gcode, but needed Eagle to do that. It was cheaper to buy Coppercam and use Kicad for the original design.
Next comes your Autoleveler app. I open the gcode file from Coppercam using Autoleveler, set the probe depth to -2 so it dosen't give me an error for the probe movement finishing before touching, and adjust the probe set to be under 200 probes (over that amount of probes gives me an error in Linuxcnc) and within the boundaries of the pcb so the probing happens inside the mounting clamp extremities.
I had a learning curve to figure it out, but It runs and did the job well.
Now, here is my feature request:
I would like to be able to use Autoleveler in the following way, which I believe would increase its utility:
I check a box in autoleveler to make it generate code which uses the linux cnc feature PROBEOPEN (do the probes) PROBECLOSE, which saves probe data to a file instead of variables in memory.
The output in this case from Autoleveler is simply the probe routine, without any gcode to cut parts.
This routine when run on linuxcnc performs the probing grid on the cnc machine and stores the probe values in a file on the Linux cnc computer. I copy this file to my usb memory stick, and walk it back over to my laptop running Autoleveler. (Or same machine)
I open this probe data file in autoleveler using a "Open Linux cnc probe point cloud" file open feature. Mach3 probably has a similar capability to save probe data in a file, but it may be slightly different data format.
Now, I can "level" any gcode that I want by clicking "use point cloud data to autolevel g code file". This would rock. I could use a touch probe to use autoleveler for milling long workpieces of other materials, not only pcbs. Very useful for unlevel beds and long or wide workpieces with substantial error.
Also, we overcome the probe count limit imposed by storing the probe values into variables. Instead they go to a file. You can keep the original design, but allow this new mode as well. In this new way, if there is a need to rerun the milling operation, I don't have to re-probe.
This would then give me a adjusted gcode file which would just run, without the need to do the probing first. In other words, it has already been corrected in advance by the above steps. Of course the files to be leveled must match the probing rectangle, but that's fine.
I will have the money to do this in December. As a fellow software developer, I think you can keep the original code pretty much, all you are doing is using PROBEOPEN routine in gcode to create the probe data file, instead of saving it to variables in linux cnc, and creating a dialog to accept this probe data file, store it in an array in java, and use it in the normal way to produce corrected z values, and save them in the final output file. This gcode file when run in linux cnc would not begin with probing, but would simply run the pre-corrected gcode and mill the part.
PS, there may be some emails on your website "contact us" system from when I began this adventure.
Any questions or thoughts?
I have had success with your autoleveler. I produced my very first circuit board set. I would like to explain my use for pcb and proposed use for milling plastic and other materials, and ask for an additional feature from you, for which I am willing to donate $100 in advance.
A brief workflow description for making my first pcb follows for background:
I used Kicad to produce the layout and to tile 4 individual boards with rounded corner cutout outline onto one gerber file.
Exported gerber and excellon files from Kicad Plot output.
Opened gerber and excellon drill file in Coppercam from France, 80 Euros and a good deal for the money.
Coppercam lets me create all gcode for traces, hatching to remove excess copper between traces, drilling, and cutout of the 4 individual boards with rounded corners.
Could have used pcb-gcode, but needed Eagle to do that. It was cheaper to buy Coppercam and use Kicad for the original design.
Next comes your Autoleveler app. I open the gcode file from Coppercam using Autoleveler, set the probe depth to -2 so it dosen't give me an error for the probe movement finishing before touching, and adjust the probe set to be under 200 probes (over that amount of probes gives me an error in Linuxcnc) and within the boundaries of the pcb so the probing happens inside the mounting clamp extremities.
I had a learning curve to figure it out, but It runs and did the job well.
Now, here is my feature request:
I would like to be able to use Autoleveler in the following way, which I believe would increase its utility:
I check a box in autoleveler to make it generate code which uses the linux cnc feature PROBEOPEN (do the probes) PROBECLOSE, which saves probe data to a file instead of variables in memory.
The output in this case from Autoleveler is simply the probe routine, without any gcode to cut parts.
This routine when run on linuxcnc performs the probing grid on the cnc machine and stores the probe values in a file on the Linux cnc computer. I copy this file to my usb memory stick, and walk it back over to my laptop running Autoleveler. (Or same machine)
I open this probe data file in autoleveler using a "Open Linux cnc probe point cloud" file open feature. Mach3 probably has a similar capability to save probe data in a file, but it may be slightly different data format.
Now, I can "level" any gcode that I want by clicking "use point cloud data to autolevel g code file". This would rock. I could use a touch probe to use autoleveler for milling long workpieces of other materials, not only pcbs. Very useful for unlevel beds and long or wide workpieces with substantial error.
Also, we overcome the probe count limit imposed by storing the probe values into variables. Instead they go to a file. You can keep the original design, but allow this new mode as well. In this new way, if there is a need to rerun the milling operation, I don't have to re-probe.
This would then give me a adjusted gcode file which would just run, without the need to do the probing first. In other words, it has already been corrected in advance by the above steps. Of course the files to be leveled must match the probing rectangle, but that's fine.
I will have the money to do this in December. As a fellow software developer, I think you can keep the original code pretty much, all you are doing is using PROBEOPEN routine in gcode to create the probe data file, instead of saving it to variables in linux cnc, and creating a dialog to accept this probe data file, store it in an array in java, and use it in the normal way to produce corrected z values, and save them in the final output file. This gcode file when run in linux cnc would not begin with probing, but would simply run the pre-corrected gcode and mill the part.
PS, there may be some emails on your website "contact us" system from when I began this adventure.
Any questions or thoughts?