Skip to content
Snippets Groups Projects
Commit 1c885dde authored by Neil Gershenfeld's avatar Neil Gershenfeld
Browse files

working on 2.5D flow control

parent acec98ed
Branches
No related tags found
No related merge requests found
......@@ -214,10 +214,13 @@
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./programs/machines/Epilog/cut%20svg%20connect'>cut svg connect</a><br>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;G-code</i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./programs/machines/G-code/mill%202D%20png'>mill 2D png</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./programs/machines/G-code/mill%202D%20svg'>mill 2D svg</a><br>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Roland</i><br>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mill</i><br>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MDX-20</i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./programs/machines/Roland/mill/MDX-20/PCB'>PCB</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./programs/machines/Roland/mill/MDX-20/PCB%20png'>PCB png</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./programs/machines/Roland/mill/MDX-20/PCB%20svg'>PCB svg</a><br>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRM-20</i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./programs/machines/Roland/mill/SRM-20/PCB%20png'>PCB png</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./programs/machines/Roland/mill/SRM-20/PCB%20svg'>PCB svg</a><br>
......@@ -242,6 +245,7 @@
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./programs/processes/cut/raster/video'>video</a><br>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mill</i><br>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raster</i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./programs/processes/mill/raster/2.5D'>2.5D</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./programs/processes/mill/raster/2D'>2D</a><br>
<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variable</i><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./programs/variable/text%20variables'>text variables</a><br>
......
......@@ -26,6 +26,7 @@ var name = 'offset'
//
var init = function() {
mod.offset.value = ''
mod.distances = ''
}
//
// inputs
......@@ -45,7 +46,11 @@ var inputs = {
offset:{type:'number',
event:function(evt){
mod.offset.value = evt.detail
offset()}}}
if ((mod.offset.value != '') && (mod.distances != ''))
offset()
else
mod.distances = ''
}}}
//
// outputs
//
......
......@@ -47,10 +47,10 @@ var inputs = {
settings:{type:'',
event:function(evt){
for (var p in evt.detail)
console.log(evt.detail)
console.log(p)
console.log(evt.detail[p])
mod[p].value = evt.detail[p]
if (p == 'depthmm') {
mod.depth.value = evt.detail[p]
/parseFloat(mod.mmunits.value)
}
find_limits_slice()}}}
//
// outputs
......
......@@ -25,11 +25,11 @@ var name = 'mill raster 2.5D'
// initialization
//
var init = function() {
mod.dia_in.value = 0.0156
mod.dia_in.value = 0.1
mod.dia_mm.value = 25.4*parseFloat(mod.dia_in.value)
mod.cut_in.value = 0.001
mod.cut_in.value = 0.1
mod.cut_mm.value = 25.4*parseFloat(mod.cut_in.value)
mod.max_in.value = 0.001
mod.max_in.value = 1
mod.max_mm.value = 25.4*parseFloat(mod.max_in.value)
mod.number.value = 1
mod.stepover.value = 0.5
......@@ -53,14 +53,48 @@ var inputs = {
path:{type:'',
event:function(evt){
if (mod.label.nodeValue == 'calculating') {
//
// calculation in progress, show and accumulate
//
draw_path(evt.detail)
accumulate_path(evt.detail)
mod.offsetCount += 1
if ((mod.offsetCount != parseInt(mod.number.value)) && (evt.detail.length > 0)) {
if ((mod.offsetCount != parseInt(mod.number.value))
&& (evt.detail.length > 0)) {
//
// layer detail present and offset not complete
//
console.log('layer '+mod.offsetCount)
mod.offset += parseFloat(mod.stepover.value)
outputs.offset.event()
}
else if (mod.depth < parseFloat(mod.max_mm.value)) {
//
// layer loop not complete
//
console.log('depth '+mod.depth)
mod.depth += parseFloat(mod.cut_mm.value)
if (mod.depth > parseFloat(mod.max_mm.value)) {
mod.depth = parseFloat(mod.max_mm.value)
}
//
// clear offset
//
mods.output(mod,'offset','')
//
// set new depth
//
outputs.depth.event()
//
// set new offset
//
mod.offsetCount = 0
outputs.offset.event()
}
else {
//
// done, finish and output
//
mod.label.nodeValue = 'calculate'
mod.labelspan.style.fontWeight = 'normal'
merge_path()
......@@ -69,7 +103,6 @@ var inputs = {
draw_connections()
add_depth()
outputs.toolpath.event()
outputs.depth.event()
}
}
}
......@@ -86,8 +119,7 @@ var inputs = {
var outputs = {
depth:{type:'',
event:function(){
console.log('out')
mods.output(mod,'depth',{depth:2})
mods.output(mod,'depth',{depthmm:mod.depth})
}
},
diameter:{type:'',
......@@ -289,9 +321,12 @@ var interface = function(div){
btn.addEventListener('click',function(){
mod.label.nodeValue = 'calculating'
mod.labelspan.style.fontWeight = 'bold'
mod.depth = parseFloat(mod.cut_mm.value)
mod.offset = 0.5
mod.offsetCount = 0
mod.path = []
mods.output(mod,'offset','')
mods.output(mod,'depth',{depthmm:mod.depth})
clear_path()
outputs.diameter.event()
outputs.offset.event()
......@@ -511,7 +546,8 @@ function draw_path(path) {
// loop over points
//
for (var point = 1; point < path[segment].length; ++point) {
var line = document.createElementNS('http://www.w3.org/2000/svg','line')
var line = document.createElementNS(
'http://www.w3.org/2000/svg','line')
line.setAttribute('stroke','black')
line.setAttribute('stroke-width',1)
line.setAttribute('stroke-linecap','round')
......@@ -534,8 +570,10 @@ function draw_path(path) {
var tx = 3*dy/d
var ty = -3*dx/d
g.appendChild(line)
triangle = document.createElementNS('http://www.w3.org/2000/svg','polygon')
triangle.setAttribute('points',x2+','+y2+' '+(x2-nx+tx)+','+(y2-ny+ty)
triangle = document.createElementNS(
'http://www.w3.org/2000/svg','polygon')
triangle.setAttribute(
'points',x2+','+y2+' '+(x2-nx+tx)+','+(y2-ny+ty)
+' '+(x2-nx-tx)+','+(y2-ny-ty))
triangle.setAttribute('fill','black')
g.appendChild(triangle)
......@@ -558,7 +596,8 @@ function draw_connections() {
//
// draw connection from previous segment
//
var line = document.createElementNS('http://www.w3.org/2000/svg','line')
var line = document.createElementNS(
'http://www.w3.org/2000/svg','line')
line.setAttribute('stroke','red')
line.setAttribute('stroke-width',1)
line.setAttribute('stroke-linecap','round')
......@@ -579,8 +618,10 @@ function draw_connections() {
var tx = 3*dy/d
var ty = -3*dx/d
g.appendChild(line)
triangle = document.createElementNS('http://www.w3.org/2000/svg','polygon')
triangle.setAttribute('points',x2+','+y2+' '+(x2-nx+tx)+','+(y2-ny+ty)
triangle = document.createElementNS(
'http://www.w3.org/2000/svg','polygon')
triangle.setAttribute(
'points',x2+','+y2+' '+(x2-nx+tx)+','+(y2-ny+ty)
+' '+(x2-nx-tx)+','+(y2-ny-ty))
triangle.setAttribute('fill','red')
g.appendChild(triangle)
......
......@@ -21,6 +21,7 @@ program_menu('      mill 2D svg','programs/machines/G-code/mill%202D%20svg
program_label(' Roland')
program_label(' mill')
program_label(' MDX-20')
program_menu(' PCB','programs/machines/Roland/mill/MDX-20/PCB')
program_menu(' PCB png','programs/machines/Roland/mill/MDX-20/PCB%20png')
program_menu(' PCB svg','programs/machines/Roland/mill/MDX-20/PCB%20svg')
program_label(' SRM-20')
......@@ -47,6 +48,7 @@ program_label('      raster')
program_menu(' video','programs/processes/cut/raster/video')
program_label(' mill')
program_label(' raster')
program_menu(' 2.5D','programs/processes/mill/raster/2.5D')
program_menu(' 2D','programs/processes/mill/raster/2D')
program_label('variable')
program_menu(' text variables','programs/variable/text%20variables')
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment