From 9df3a6924299dae4518b5adec96b81ceda734280 Mon Sep 17 00:00:00 2001 From: Neil Gershenfeld <gersh@cba.mit.edu> Date: Sun, 10 Sep 2017 17:55:00 -0400 Subject: [PATCH] working on Epilog --- modules/toolpath/machines/laser cutter/Epilog | 134 +++++------------- 1 file changed, 39 insertions(+), 95 deletions(-) diff --git a/modules/toolpath/machines/laser cutter/Epilog b/modules/toolpath/machines/laser cutter/Epilog index f1e42f9..eaa4ef2 100644 --- a/modules/toolpath/machines/laser cutter/Epilog +++ b/modules/toolpath/machines/laser cutter/Epilog @@ -25,7 +25,11 @@ var name = 'Epilog laser cutter' // initialization // var init = function() { - mod.speed.value = 2 + mod.power.value = 25 + mod.speed.value = 75 + mod.rate.value = 100 + mod.x = 0 + mod.y = 0 } // // inputs @@ -75,7 +79,7 @@ var interface = function(div){ div.appendChild(input) mod.power = input div.appendChild(document.createElement('br')) - div.appendChild(document.createTextNode('speed (cm/s): ')) + div.appendChild(document.createTextNode('speed (%): ')) var input = document.createElement('input') input.type = 'text' input.size = 6 @@ -141,114 +145,61 @@ var interface = function(div){ // function make_path() { - -var dx = 25.4*mod.width/mod.dpi -var dy = 25.4*mod.height/mod.dpi -var nx = mod.width -var ny = mod.height -var force = parseFloat(mod.force.value) -var speed = parseFloat(mod.speed.value) -var str = "PA;PA;!ST1;!FS"+force+";VS"+speed+";\n" -var scale = 40.0*dx/(nx-1.0) // 40/mm -var ox = 0 -var oy = 0 -if (mod.botleft.checked) { - var xoffset = 40.0*ox - var yoffset = 40.0*oy - } -else if (mod.botright.checked) { - var xoffset = 40.0*(ox-dx) - var yoffset = 40.0*oy - } -else if (mod.topleft.checked) { - var xoffset = 40.0*ox - var yoffset = 40.0*(oy-dy) - } -else if (mod.topright.checked) { - var xoffset = 40.0*(ox-dx) - var yoffset = 40.0*(oy-dy) - } - - var dx = globals.width/globals.dpi - var dy = globals.height/globals.dpi - var nx = globals.width - var ny = globals.height - var power = parseFloat(findEl("mod_power").value) - var speed = parseFloat(findEl("mod_speed").value) - var rate = parseFloat(findEl("mod_rate").value) - var ox = parseFloat(findEl("mod_x_origin").value)/25.4 - var oy = parseFloat(findEl("mod_y_origin").value)/25.4 + var dx = mod.width/globals.dpi + var dy = mod.height/globals.dpi + var nx = mod.width + var ny = mod.height var scale = 600.0*dx/(nx-1) // 600 DPI - if (findEl("mod_bottom_left").checked) { + var power = parseFloat(mod.power.value) + var speed = parseFloat(mod.speed.value) + var rate = parseFloat(mod.rate.value) + var ox = parseFloat(mod.x.value)/25.4 + var oy = parseFloat(mod.y.value)/25.4 + if (mod.botleft.checked) { var xoffset = 600.0*ox var yoffset = 600.0*(oy-dy) - } else if (findEl("mod_bottom_right").checked) { + } + else if (mod.botright.checked) { var xoffset = 600.0*(ox-dx) var yoffset = 600.0*(oy-dy) - } else if (findEl("mod_top_left").checked) { + } + else if (mod.topleft.checked) { var xoffset = 600.0*ox var yoffset = 600.0*oy - } else if (findEl("mod_top_right").checked) { + } + else if (mod.topright.checked) { var xoffset = 600.0*(ox-dx) var yoffset = 600.0*oy - } - - var str = "%-12345X@PJL JOB NAME=" + globals.input_basename + "\r\n" + } + var str = "%-12345X@PJL JOB NAME=" + mod.name + "\r\n" str += "E@PJL ENTER LANGUAGE=PCL\r\n" - if (findEl("mod_autofocus").checked) - // - // init with autofocus on - // + if (mod.focus.checked) + // + // init with autofocus on + // str += "&y1A" else - // - // init with autofocus off - // + // + // init with autofocus off + // str += "&y0A" str += "&l0U&l0Z&u600D*p0X*p0Y*t600R*r0F&y50P&z50S*r6600T*r5100S*r1A*rC%1BIN;" str += "XR"+rate+";YP"+power+";ZS"+speed+";\n" - -// -// loop over segments -// - -for (var seg = 0; seg < mod.path.length; ++seg) { - x = xoffset+scale*mod.path[seg][0][0] - y = yoffset+scale*mod.path[seg][0][1] - str += "PU"+x.toFixed(0)+","+y.toFixed(0)+";\n" // move up to start point - //str += "PU"+x.toFixed(0)+","+y.toFixed(0)+";\n" // hack: repeat in case comm dropped - str += "PD"+x.toFixed(0)+","+y.toFixed(0)+";\n" // move down - //str += "PD"+x.toFixed(0)+","+y.toFixed(0)+";\n" // hack: repeat in case comm dropped - // - // loop over points - // - for (var pt = 1; pt < mod.path[seg].length; ++pt) { - x = xoffset+scale*mod.path[seg][pt][0] - y = yoffset+scale*mod.path[seg][pt][1] - str += "PD"+x.toFixed(0)+","+y.toFixed(0)+";\n" // move down - //str += "PD"+x.toFixed(0)+","+y.toFixed(0)+";\n" // hack: repeat in case comm dropped - } - str += "PU"+x.toFixed(0)+","+y.toFixed(0)+";\n" // move up at last point - //str += "PU"+x.toFixed(0)+","+y.toFixed(0)+";\n" // hack: repeat in case comm dropped - } - - // // loop over segments // - - for (var seg = 0; seg < path.length; ++seg) { + for (var seg = 0; seg < mod.path.length; ++seg) { // // loop over points // - x = xoffset+scale*path[seg][0][0] - y = yoffset+scale*(ny-path[seg][0][1]) + x = xoffset+scale*mod.path[seg][0][0] + y = yoffset+scale*(ny-mod.path[seg][0][1]) if (x < 0) x = 0 if (y < 0) y = 0 str += "PU"+x.toFixed(0)+","+y.toFixed(0)+";" // move up to start point - for (var pt = 1; pt < path[seg].length; ++pt) { - x = xoffset+scale*path[seg][pt][0] - y = yoffset+scale*(ny-path[seg][pt][1]) + for (var pt = 1; pt < mod.path[seg].length; ++pt) { + x = xoffset+scale*mod.path[seg][pt][0] + y = yoffset+scale*(ny-mod.path[seg][pt][1]) if (x < 0) x = 0 if (y < 0) y = 0 str += "PD"+x.toFixed(0)+","+y.toFixed(0)+";" // move down @@ -256,20 +207,13 @@ for (var seg = 0; seg < mod.path.length; ++seg) { str += "\n" } str += "%0B%1BPUE%-12345X@PJL EOJ \r\n" - -str += "PU0,0;\n" // pen up to origin -outputs.file.event(str) - - // // end-of-file padding hack from Epilog print driver // for (var i = 0; i < 10000; ++i) str += " " - - return str -} - + outputs.file.event(str) + } // // return values // -- GitLab