CNC paloma

En este ejemplo el simulador CNC corta la silueta de una paloma:

<html>

<head>

<style>

<!--

.myButton {

outline:none;

}

-->

</style>

<title>Simulador CNC</title>


<script type="text/javascript">


var indicedial = 2

var capa = 0

var flecha = 0

var indicelistadogcode = 0

var indiceelementoslistadogcode = 0

var lineagcodeprovisional = ""

var indiceayuda = 1

var temporizador;

var temporizador1;



var X = 0

var X0 = 0

var Y = 0

var Y0 = 0

var Z = 0

var Z0 = 0

var F = 0

var XX = 0

var YY = 0

var incrementoX = 0

var incrementoY = 0

var contador = 0


var lasermanual = 0

var fondoayuda = ""

gcode = new Array(50);

gcode[0] = "G20";

gcode[1] = "G91";

gcode[2] = "G28 X2.000 Y5.000 Z0.000 F500.0";

gcode[3] = "G01 X-1.50 Y-0.50 Z0.000 F500.0";

gcode[4] = "G01 X1.500 Y-0.50 Z0.000 F500.0";

gcode[5] = "G02 X2.000 Y-2.00 R2.000 F500.0";

gcode[6] = "G02 X2.000 Y1.000 R2.000 F500.0";

gcode[7] = "G03 X3.000 Y2.000 R2.000 F500.0";

gcode[8] = "G02 X10.00 Y2.500 R2.000 F500.0";

gcode[9] = "G28 X-17.0 Y-2.50 Z0.000 F500.0";

gcode[10] = "G03 X12.00 Y7.000 R2.000 F500.0";

gcode[11] = "G03 X8.000 Y-4.00 R2.000 F500.0";

gcode[12] = "G03 X-1.50 Y-1.50 R2.000 F500.0";

gcode[13] = "G03 X-1.50 Y1.500 R2.000 F500.0";

gcode[14] = "G28 X-15.5 Y-4.50 Z0.000 F500.0";

gcode[15] = "G02 X0.400 Y-0.40 R2.000 F500.0";

gcode[16] = "G02 X0.400 Y0.400 R2.000 F500.0";

gcode[17] = "G02 X-0.40 Y0.400 R2.000 F500.0";

gcode[18] = "G02 X-0.40 Y-0.40 R2.000 F500.0";

gcode[19] = "G28 X6.000 Y1.400 Z0.000 F500.0";

gcode[20] = "G02 X6.000 Y-4.00 R2.000 F500.0";

gcode[21] = "G01 X5.000 Y0.000 Z0.000 F500.0";

gcode[22] = "G02 X1.000 Y1.000 R2.000 F500.0";

gcode[23] = "G02 X-1.00 Y1.000 R2.000 F500.0";

gcode[24] = "G03 X-5.00 Y2.500 R2.000 F500.0";

gcode[25] = "G28 X10.50 Y4.500 Z0.000 F500.0";

gcode[26] = "";

gcode[27] = "";

gcode[28] = "";

gcode[29] = "";

gcode[30] = "";

gcode[31] = "";

gcode[32] = "";

gcode[33] = "";

gcode[34] = "";

gcode[35] = "";

gcode[36] = "";

gcode[37] = "";

gcode[38] = "";

gcode[39] = "";

gcode[40] = "";

gcode[41] = "";

gcode[42] = "";

gcode[43] = "";

gcode[44] = "";

gcode[45] = "";

gcode[46] = "";

gcode[47] = "";

gcode[48] = "";

gcode[49] = "";

gcode[50] = "";


function cargacompleta()


{

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

ctx.clearRect(0, 0, c.width, c.height);

var img = document.getElementById("fondoayuda");

ctx.drawImage(img, 0, 0);


}

function cambiarayuda()

{

if(indiceayuda==1){

fondoayuda = "https://1.bp.blogspot.com/-zSO3N_GckC0/XqgrJF7FDLI/AAAAAAAA2qA/sjgoI4LOMpwHt0vv4NZyFKso6EHUDteKgCLcBGAsYHQ/s1600/fondoayuda1.png";

}

if(indiceayuda==2){

fondoayuda = "https://1.bp.blogspot.com/-9j0N31KYLSs/XqgrghH4E6I/AAAAAAAA2rI/ZlRacbfjXQMy4t7sY_N4vJ-I4UGAGwZGQCLcBGAsYHQ/s1600/fondoayuda2.png";

}

if(indiceayuda==3){

fondoayuda = "https://1.bp.blogspot.com/-RAJmn1Mcll8/XqgrhjIMpWI/AAAAAAAA2rQ/cleHVzlBSUcfyH5iO1b6EjfTkFMJ2uz7ACLcBGAsYHQ/s1600/fondoayuda3.png";

}

if(indiceayuda==4){

fondoayuda = "https://1.bp.blogspot.com/-kLTJwM7oyLg/XqgrhzCTJjI/AAAAAAAA2rY/zhVVANHFRmISoytZlUrn4DFDmXF_Fo4DACLcBGAsYHQ/s1600/fondoayuda4.png";

}

if(indiceayuda==5){

fondoayuda = "https://1.bp.blogspot.com/-nfd7BSRshT4/Xqgrh9zJEzI/AAAAAAAA2rU/2e72aEbfOdI1qtTangAkTWmBqpyFf5oswCLcBGAsYHQ/s1600/fondoayuda5.png";

}

if(indiceayuda==6){

fondoayuda = "https://1.bp.blogspot.com/-6pKUnX4e6Ms/XqgriX3FXxI/AAAAAAAA2rc/f7p4JH2GmHcfnGZ4CgYQqMKD2TWpaatLACLcBGAsYHQ/s1600/fondoayuda6.png";

}

if(indiceayuda==7){

fondoayuda = "https://1.bp.blogspot.com/-aBCivibiAY8/Xqgri6yxaJI/AAAAAAAA2rg/Q7eWyw7OkvkY1c8We-6k2H7Twf8IC4u9wCLcBGAsYHQ/s1600/fondoayuda7.png";

}

if(indiceayuda==8){

fondoayuda = "https://1.bp.blogspot.com/-Tt6iVRDRbXY/XqgriyVGmII/AAAAAAAA2rk/8wjnrm4j-ecjgawhPPNYJ-zI6apErMMeACLcBGAsYHQ/s1600/fondoayuda8.png";

}

if(indiceayuda==9){

fondoayuda = "https://1.bp.blogspot.com/-i2cTTTCPv8g/XqgrjNXrM5I/AAAAAAAA2ro/RWHeK0WgqEQ7tJCGcsYZIhyfjBuYxWovwCLcBGAsYHQ/s1600/fondoayuda9.png";

}

if(indiceayuda==10){

fondoayuda = "https://1.bp.blogspot.com/-atJTu94izoU/XqgrdsFQPYI/AAAAAAAA2qk/A1rB1G8_yG4u1Fqpu8ZDbZMurfTQ2mWaQCLcBGAsYHQ/s1600/fondoayuda10.png";

}

if(indiceayuda==11){

fondoayuda = "https://1.bp.blogspot.com/-V-JHw_e2z5o/XqgrdTSAz5I/AAAAAAAA2qg/ZpM1vRRa5hs6QfDFjusgx2UQLbH9jTfzQCLcBGAsYHQ/s1600/fondoayuda11.png";

}

if(indiceayuda==12){

fondoayuda = "https://1.bp.blogspot.com/-W4nGOsD9Bwo/XqgreY87pzI/AAAAAAAA2qo/6EWIuRvgIgAqc5YH2Bp7J9wOTTw57N8WgCLcBGAsYHQ/s1600/fondoayuda12.png";

}

if(indiceayuda==13){

fondoayuda = "https://1.bp.blogspot.com/-rV4iHxZSkRM/XqgretMM2-I/AAAAAAAA2qs/5Y9u5CZx2VMjaotWvS7EgiqVK5qxDRRfQCLcBGAsYHQ/s1600/fondoayuda13.png";

}

if(indiceayuda==14){

fondoayuda = "https://1.bp.blogspot.com/-wWIE6E-K92s/XqgrexJVAFI/AAAAAAAA2qw/i97Kgn3-NnYsvXoud50cfW8tFpJDanUCACLcBGAsYHQ/s1600/fondoayuda14.png";

}

if(indiceayuda==15){

fondoayuda = "https://1.bp.blogspot.com/-vEXEbKPqm1k/XqgrfBCCmlI/AAAAAAAA2q0/b_ET5efNK-0uOgF4vpWq8n1xwXWo62DAgCLcBGAsYHQ/s1600/fondoayuda15.png";

}

if(indiceayuda==16){

fondoayuda = "https://1.bp.blogspot.com/-x7rpSa3fNbs/XqgrfZwr0eI/AAAAAAAA2q4/xtR3FrywOCoAqTGrg3_JvHzFzz1cHGhugCLcBGAsYHQ/s1600/fondoayuda16.png";

}

if(indiceayuda==17){

fondoayuda = "https://1.bp.blogspot.com/-k80bb7VKyFo/Xqgrf0sGRmI/AAAAAAAA2q8/jVFPIqkgjAQvyAPENgac7xajhMya2ylkACLcBGAsYHQ/s1600/fondoayuda17.png";

}

if(indiceayuda==18){

fondoayuda = "https://1.bp.blogspot.com/-QsfQyT2j4K8/XqgrgLmemOI/AAAAAAAA2rA/W_4RBWoOeGQaXBKl1_1YuCMG_rT0cWq5ACLcBGAsYHQ/s1600/fondoayuda18.png";

}

if(indiceayuda==19){

fondoayuda = "https://1.bp.blogspot.com/-LBrpLMh9yTg/XqgrgS_k5-I/AAAAAAAA2rE/1bMVgraKYWAeHrf9cj1TY1BQekVW9tNqgCLcBGAsYHQ/s1600/fondoayuda19.png";

}

if(indiceayuda==20){

fondoayuda = "https://1.bp.blogspot.com/-_-n6C5NbW98/Xqgrgzeq8SI/AAAAAAAA2rM/LJGpy8r2bscZDy9uP8NXm1SuRTYBmHU2wCLcBGAsYHQ/s1600/fondoayuda20.png";

}



document.getElementById("fondoayuda").src=fondoayuda;



}

function cambiardial()

{


var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

ctx.clearRect(0, 0, c.width, c.height);

c.width=c.width;

document.getElementById("X").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

document.getElementById("Y").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

document.getElementById("Z").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

document.getElementById("F").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

lasermanual = 0

document.getElementById("cut").src="https://1.bp.blogspot.com/-F-Oi4Njt1g8/XqgseIj8HyI/AAAAAAAA2u0/HOKxuTIw2CcmN7R_qSY25BihJM0JJc94QCLcBGAsYHQ/s1600/teclacutmanual.png";

document.getElementById("stop").src="https://1.bp.blogspot.com/-70MYHw16NYA/Xqgshwig4uI/AAAAAAAA2v0/v0t6Saj3TXoPl4y8TMDnm99tD8id-92WwCLcBGAsYHQ/s1600/teclastopmanual.png";

desplazamientomanual('joystick00');


stoptemporizadorleergcode();

for (var i=0;i<10;i++)

{

var indicegcode = "gcode" + i


var color = "#58FA58"

document.getElementById(indicegcode).innerHTML = "<font color = color>" + "" + "</font>";



}

X = 0

Y = 0

document.getElementById("joystick").src="https://1.bp.blogspot.com/-s_FfWnkE2q0/XqgrjlbBN9I/AAAAAAAA2rs/8c8yZTsJFr4noYgToz4N3pawilnrQTmgQCLcBGAsYHQ/s1600/joystick00.png";

document.getElementById('tecla1').play()

indicedial = indicedial + 1

if (indicedial>3)

{

indicedial = 0;

}


if (indicedial==0){


var dial = "https://1.bp.blogspot.com/-3oYV58Y8NtM/Xqgq7niAf3I/AAAAAAAA2po/ZJ4wi6bUmu0HXb6AX1DrYreJQb8Y1NjrQCLcBGAsYHQ/s1600/dial0.png";

}

if (indicedial==1){


var dial = "https://1.bp.blogspot.com/-RjlF4TJgCpU/Xqgq8vTBvUI/AAAAAAAA2ps/ZGAryBlxVDsh67fMAACeFyXhBp7UBHw5QCLcBGAsYHQ/s1600/dial1.png";

}

if (indicedial==2){


var dial = "https://1.bp.blogspot.com/-hakaX7c4MYg/XqgrH9cC9MI/AAAAAAAA2pw/seH1bs00X3Yj4iym5ajQS2huCE7WqpZwQCLcBGAsYHQ/s1600/dial2.png";

}

if (indicedial==3){


var dial = "https://1.bp.blogspot.com/-uiF-gjWYNLk/XqgrH_zzjzI/AAAAAAAA2p0/jIcnxDmjdr8mFaaWIhP-KnTOdZnWxwqdwCLcBGAsYHQ/s1600/dial3.png";

}


document.getElementById("dial").src=dial;

capa = 0

flecha = 0

if (indicedial==2)

{

cambiarayuda()


}


}






function listadogeneralgcode()

{


indicelistadogcode = flecha


for (var i=0;i<10;i++)

{

var indicegcode = "gcode" + i


var color = "#58FA58"

document.getElementById(indicegcode).innerHTML = "<font color = color>" + "N" + indicelistadogcode + "&nbsp" + gcode[i + flecha] + "</font>";

indicelistadogcode = indicelistadogcode + 1


}



}

function elementoslistadogcode()

{

indiceelementoslistadogcode = flecha


for (var i=0;i<10;i++)

{

var indicegcode = "gcode" + i


var color = "#58FA58"

document.getElementById(indicegcode).innerHTML = "<font color = color>" + "" + "</font>";



}


var color = "#58FA58"

document.getElementById("gcode0").innerHTML = "<font color = color>" + "N" + indiceelementoslistadogcode + "&nbsp" + gcode[indiceelementoslistadogcode] + "</font>";



}


function intro ()

{


document.getElementById('tecla1').play()

if ((indicedial==0)&&(capa==0))

{


clearInterval(temporizador1);

clearInterval(temporizador);

leergcode();

}

else if ((indicedial==3)&&(capa==0))

{

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

ctx.clearRect(0, 0, c.width, c.height);

ctx.font="16pt Verdana";

ctx.lineWidth='1';

ctx.strokeStyle='#369';

ctx.strokeText("Aquí se inicia el modo EDIT ",20,50);

ctx.strokeText("Se muestra el listado del código G-code ",20,80);

ctx.strokeText("Nos podemos mover por él mediante las teclas arriba y abajo",20,110);

ctx.strokeText("Para seleccionar una de estas lineas hemos de volver a pulsar INTRO",20,140);

clearInterval(temporizador1);

clearInterval(temporizador);

document.getElementById("X").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

document.getElementById("Y").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

document.getElementById("Z").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

document.getElementById("F").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

capa = capa + 1

listadogeneralgcode();

}

else if ((indicedial==3)&&(capa==1))

{

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

ctx.clearRect(0, 0, c.width, c.height);

ctx.font="16pt Verdana";

ctx.lineWidth='1';

ctx.strokeStyle='#369';

ctx.strokeText("Ahora hemos seleccionado una línea de código",20,50);

ctx.strokeText("Podemos cambiar de línea mediante las teclas arriba y abajo",20,80);

ctx.strokeText("Pulsando ERASE borramos todo su contenido",20,110);

ctx.strokeText("Para pasar a editar esta línea hemos de volver a pulsar INTRO",20,140);

capa = capa + 1

elementoslistadogcode();

}

else if ((indicedial==3)&&(capa==2))

{

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

ctx.clearRect(0, 0, c.width, c.height);

ctx.font="16pt Verdana";

ctx.lineWidth='1';

ctx.strokeStyle='#369';

ctx.strokeText("Ahora hemos seleccionado una línea de código para poderla editar",20,50);

ctx.strokeText("Mediante la tecla ERASE podemos borrar los caracteres individualmente",20,80);

ctx.strokeText("Podemos utilizar el teclado y la barra espaciadora para introducir",20,110);

ctx.strokeText("todo el código",20,140);

ctx.strokeText("Para volver atrás y poder cambiar de linea podemos pulsar la tecla ",20,170);

ctx.strokeText("INTRO o la tecla ESC",20,200);

capa = capa + 1

lineagcodeprovisional = gcode[indiceelementoslistadogcode];

}

else if ((indicedial==3)&&(capa==3))

{

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

ctx.clearRect(0, 0, c.width, c.height);

ctx.font="16pt Verdana";

ctx.lineWidth='1';

ctx.strokeStyle='#369';

ctx.strokeText("Ahora hemos seleccionado una línea de código",20,50);

ctx.strokeText("Podemos cambiar de línea mediante las teclas arriba y abajo",20,80);

ctx.strokeText("Pulsando ERASE borramos todo su contenido",20,110);

ctx.strokeText("Para pasar a editar esta línea hemos de volver a pulsar INTRO",20,140);

capa = capa - 1

lineagcodeprovisional = gcode[indiceelementoslistadogcode];

elementoslistadogcode();

}

else if (indicedial==2)

{


clearInterval(temporizador1);

clearInterval(temporizador);

document.getElementById("X").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

document.getElementById("Y").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

document.getElementById("Z").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

document.getElementById("F").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

indiceayuda = 1

cambiarayuda();

}

}

function escape ()

{

document.getElementById('tecla1').play()

if (capa==1)

{

}


if (capa == 2)

{

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

ctx.clearRect(0, 0, c.width, c.height);

ctx.font="16pt Verdana";

ctx.lineWidth='1';

ctx.strokeStyle='#369';

ctx.strokeText("Aquí se inicia el modo EDIT ",20,50);

ctx.strokeText("Se muestra el listado del código G-code ",20,80);

ctx.strokeText("Nos podemos mover por él mediante las teclas arriba y abajo",20,110);

ctx.strokeText("Para seleccionar una de estas lineas hemos de volver a pulsar INTRO",20,140);

capa = capa - 1

flecha = 0

listadogeneralgcode()

}

if (capa == 3)

{

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

ctx.clearRect(0, 0, c.width, c.height);

ctx.font="16pt Verdana";

ctx.lineWidth='1';

ctx.strokeStyle='#369';

ctx.strokeText("Ahora hemos seleccionado una línea de código",20,50);

ctx.strokeText("Podemos cambiar de línea mediante las teclas arriba y abajo",20,80);

ctx.strokeText("Pulsando ERASE borramos todo su contenido",20,110);

ctx.strokeText("Para pasar a editar esta línea hemos de volver a pulsar INTRO",20,140);

capa = capa - 1

flecha = 0

elementoslistadogcode()

}


if (indicedial==0)

{

stoptemporizadorleergcode();

}

if ((indicedial==1)&&(capa==1))

{

corte = "no"



}

}

function arriba ()

{


document.getElementById('tecla1').play()


if ((indicedial==3)&&(capa==2)&&(indiceelementoslistadogcode>0))

{

flecha = flecha - 1

elementoslistadogcode();

}


else if ((indicedial==3)&&(capa==1)&&(flecha>0))

{

flecha = flecha - 1

listadogeneralgcode();

}


}

function abajo ()

{


document.getElementById('tecla1').play()


if ((indicedial==3)&&(capa==2)&&(indiceelementoslistadogcode<50))

{

flecha = flecha + 1

elementoslistadogcode();

}

else if ((indicedial==3)&&(capa==1)&&(flecha<41))

{

flecha = flecha + 1


listadogeneralgcode();

}



}

function derecha()

{

document.getElementById('tecla1').play()

document.getElementById("X").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

document.getElementById("Y").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

document.getElementById("Z").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

document.getElementById("F").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

if ((indicedial==2)&&(indiceayuda<20))

{

indiceayuda = indiceayuda + 1

cambiarayuda();

}


}

function izquierda()

{

document.getElementById('tecla1').play()

document.getElementById("X").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

document.getElementById("Y").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

document.getElementById("Z").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

document.getElementById("F").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp";

if ((indicedial==2)&&(indiceayuda>1))

{

indiceayuda = indiceayuda - 1

cambiarayuda();

}


}

function borrar ()

{


document.getElementById('tecla1').play()

if ((indicedial==3)&&(capa==2))

{

gcode[indiceelementoslistadogcode] = ""

lineagcodeprovisional = ""

elementoslistadogcode();

}


else if ((indicedial==3)&&(capa==3))

{


var lineacodigo = gcode[indiceelementoslistadogcode];

var lineacodigosincola = ""

elementolineacodigo = new Array(lineacodigo.length-1)

for (var i=0;i<lineacodigo.length-1;i++)

{

elementolineacodigo.push(lineacodigo[i]);

lineacodigosincola = lineacodigosincola + lineacodigo[i];

}

gcode[indiceelementoslistadogcode] = lineacodigosincola

lineagcodeprovisional = gcode[indiceelementoslistadogcode]

elementoslistadogcode();

}


else if (indicedial==0)



despejarcanvas();

}



function escribir (valor)

{

document.getElementById('tecla1').play()


if ((indicedial==3)&&(capa==3))

{

lineagcodeprovisional = lineagcodeprovisional + valor;

gcode[indiceelementoslistadogcode] = lineagcodeprovisional;

elementoslistadogcode();

}



}

function despejarcanvas()


{

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

ctx.clearRect(0, 0, c.width, c.height);



}

function iniciarstart()

{

if (indicedial==0)

{

document.getElementById('tecla1').play()

leergcode();

}

}

function leergcode()


{





X = 0

Y = 0

Z = 0

var incrementopulgada = 1

var incremental = 0


i = 0


contador = 1

temporizadorleergcode();



}

function temporizadorleergcode()

{



temporizador = setInterval(prelectura, 1000);


}

function stoptemporizadorleergcode()

{

document.getElementById('tecla1').play()

clearInterval(temporizador);


}


function prelectura()

{

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

ctx.clearRect(0, 0, c.width, c.height);

c.width=c.width;



if (contador<51)

{

contador = contador + 1;

}

else if (contador>=50)

{

stoptemporizadorleergcode();

}

X = 0

Y = 0

Z = 0

lectura();

}


function lectura()

{

if (indicedial==0)


{

for (var i=0;i<contador;i++)

{

document.getElementById("gcode0").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp" + gcode[i];

X0 = X

Y0 = Y

Z0 = Z

var lineadecodigo = gcode[i];

funciongcode =""

elementolineadecodigo0 = new Array(3)

for (var h=0;h<3;h++)

{


elementolineadecodigo0.push(lineadecodigo[h]);

funciongcode = funciongcode + lineadecodigo[h];


}



if (funciongcode=="")

{

stoptemporizadorleergcode();

}


if (funciongcode=="G91")

{

incremental = 1

}



if (funciongcode=="G90")

{

incremental = 0

}


if (funciongcode=="G21")

{

incrementopulgada = 1

}

else if (funciongcode=="G20")

{

incrementopulgada = 2

}

else if (funciongcode=="G28")

{


var lineadecodigo = gcode[i];

X =""

elementolineadecodigo1 = new Array(5)

for (var h=5;h<10;h++)

{


elementolineadecodigo1.push(lineadecodigo[h]);

X = X + lineadecodigo[h]

}

X = parseFloat(X)

var lineadecodigo = gcode[i];

Y =""

elementolineadecodigo2 = new Array(5)

for (var h=12;h<17;h++)

{


elementolineadecodigo2.push(lineadecodigo[h]);

Y = Y + lineadecodigo[h];


}

Y = parseFloat(Y)


var lineadecodigo = gcode[i];

Z =""

elementolineadecodigo3 = new Array(5)

for (var h=19;h<24;h++)

{


elementolineadecodigo3.push(lineadecodigo[h]);

Z = Z + lineadecodigo[h];


}

Z = parseFloat(Z)


var lineadecodigo = gcode[i];

F =""

elementolineadecodigo4 = new Array(5)

for (var h=26;h<31;h++)

{


elementolineadecodigo4.push(lineadecodigo[h]);

F = F + lineadecodigo[h];


}


if ((incremental==1)&&(incrementopulgada==1))

{


X = X + X0

Y = Y + Y0

Z = Z + Z0

movex(X,Y);

}

else if ((incremental==1)&&(incrementopulgada==2))

{


X = X + X0

Y = Y + Y0

Z = Z + Z0

XX = X*25.4

YY = Y*25.4

movex(XX,YY);

}


else if ((incremental==0)&&(incrementopulgada==1))

{



movex(X,Y);

}

else if ((incremental==0)&&(incrementopulgada==2))

{


XX = X*25.4

YY = Y*25.4

movex(XX,YY);

}

}

else if ((funciongcode=="G00")||(funciongcode=="G01"))

{

var lineadecodigo = gcode[i];

X =""

elementolineadecodigo1 = new Array(5)

for (var h=5;h<10;h++)

{


elementolineadecodigo1.push(lineadecodigo[h]);

X = X + lineadecodigo[h];


}

X = parseFloat(X)


var lineadecodigo = gcode[i];

Y =""

elementolineadecodigo2 = new Array(5)

for (var h=12;h<17;h++)

{


elementolineadecodigo2.push(lineadecodigo[h]);

Y = Y + lineadecodigo[h];


}

Y = parseFloat(Y)



var lineadecodigo = gcode[i];

Z =""

elementolineadecodigo3 = new Array(5)

for (var h=19;h<24;h++)

{


elementolineadecodigo3.push(lineadecodigo[h]);

Z = Z + lineadecodigo[h];


}

Z = parseFloat(Z)


var lineadecodigo = gcode[i];

F =""

elementolineadecodigo4 = new Array(5)

for (var h=26;h<31;h++)

{


elementolineadecodigo4.push(lineadecodigo[h]);

F = F + lineadecodigo[h];


}



if (incremental==1)

{


X = X + X0

Y = Y + Y0

Z = Z + Z0


if (Z==0)


{


if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

linex(XX,YY);

}


if (incrementopulgada==1)


{


linex(X,Y);

}



}

else if (Z>0)


{

if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

movex(XX,YY);

}


if (incrementopulgada==1)


{


movex(X,Y);

}



}


}

else if (Z==0)


{

if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

linex(XX,YY);

}


if (incrementopulgada==1)


{


linex(X,Y);

}




}


else if (Z>0)


{

if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

movex(XX,YY);

}


if (incrementopulgada==1)


{


movex(X,Y);

}



}

}



else if (funciongcode=="G02")

{

var lineadecodigo = gcode[i];

X =""

elementolineadecodigo1 = new Array(5)

for (var h=5;h<10;h++)

{


elementolineadecodigo1.push(lineadecodigo[h]);

X = X + lineadecodigo[h];


}

X = parseFloat(X)


var lineadecodigo = gcode[i];

Y =""

elementolineadecodigo2 = new Array(5)

for (var h=12;h<17;h++)

{


elementolineadecodigo2.push(lineadecodigo[h]);

Y = Y + lineadecodigo[h];


}

Y = parseFloat(Y)


var lineadecodigo = gcode[i];

F =""

elementolineadecodigo4 = new Array(5)

for (var h=26;h<31;h++)

{


elementolineadecodigo4.push(lineadecodigo[h]);

F = F + lineadecodigo[h];


}


if ((X>0)&&(Y>0))

{


if (incremental==1)

{


X = X + X0

Y = Y + Y0


var CX = X


var CY = Y - (Y-Y0)


if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)

{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}

}


if (incremental==0)

{


if ((X>=X0)&&(Y>=Y0))

{


var CX = X


var CY = Y - (Y-Y0)


if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)


{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}

}

else if ((X<X0)&&(Y<Y0))

{

var CX = X


var CY = Y - (Y-Y0)


if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)


{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}

}

else if ((X<X0)||(Y<Y0))

{

var CX = X0


var CY = Y



if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)


{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}

}


}

}


else if ((X<0)&&(Y<0))

{




if (incremental==1)

{


X = X + X0

Y = Y + Y0



var CX = X


var CY = Y - (Y-Y0)


if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)

{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}

}


if (incremental==0)

{

var CX = X


var CY = Y - (Y-Y0)

if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)

{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}

}


}

else if ((X<0)||(Y<0))

{



if (incremental==1)

{


X = X + X0

Y = Y + Y0

var CX = X0

var CY = Y


//*var CX = X


//*var CY = Y - (Y-Y0)




if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)


{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}

}

if (incremental==0)

{


var CX = X0


var CY = Y


if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)


{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}


}

}

}

else if (funciongcode=="G03")

{

var lineadecodigo = gcode[i];

X =""

elementolineadecodigo1 = new Array(5)

for (var h=5;h<10;h++)

{


elementolineadecodigo1.push(lineadecodigo[h]);

X = X + lineadecodigo[h];


}


X = parseFloat(X)

var lineadecodigo = gcode[i];

Y =""

elementolineadecodigo2 = new Array(5)

for (var h=12;h<17;h++)

{


elementolineadecodigo2.push(lineadecodigo[h]);

Y = Y + lineadecodigo[h];


}

Y = parseFloat(Y)

var lineadecodigo = gcode[i];

F =""

elementolineadecodigo4 = new Array(5)

for (var h=26;h<31;h++)

{


elementolineadecodigo4.push(lineadecodigo[h]);

F = F + lineadecodigo[h];


}


if ((X>=0)&&(Y>=0))

{


if (incremental==1)

{


X = X + X0

Y = Y + Y0


var CX = X0


var CY = Y


if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)


{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}

}


if (incremental==0)

{


if ((X>=X0)&&(Y>=Y0))

{


var CX = X0


var CY = Y


if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)


{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}

}

else if ((X<X0)&&(Y<Y0))

{

var CX = X0


var CY = Y


if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)


{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}

}

else if ((X<X0)||(Y<Y0))

{

var CX = X


var CY = Y - (Y-Y0)



if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)


{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}

}


}

}



else if ((X<0)&&(Y<0))

{

if (incremental==1)

{


X = X + X0

Y = Y + Y0


var CX = X0


var CY = Y


if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)


{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}

}



if (incremental==0)

{

var CX = X0


var CY = Y


if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)


{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}

}

}

else if ((X<0)||(Y<0))

{


if (incremental==1)

{


X = X + X0

Y = Y + Y0



var CX = X


var CY = Y - (Y-Y0)


if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)


{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}

}


if (incremental==0)

{

var CX = X


var CY = Y - (Y-Y0)


if (incrementopulgada==2)


{

XX = X*25.4

YY = Y*25.4

XX0 = X0*25.4

YY0 = Y0*25.4

CXX = CX*25.4


CYY = CY*25.4

curva(XX,YY,CXX,CYY,XX0,YY0);

movex(XX,YY);

}

if (incrementopulgada==1)


{

curva(X,Y,CX,CY,X0,Y0);

movex(X,Y);

}

}

}





}



}

if (incrementopulgada==2)

{

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

var laser = document.getElementById("boquillalaser");

ctx.drawImage(laser, XX-55, YY-110);


document.getElementById("X").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp" + X;

document.getElementById("Y").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp" + Y;

document.getElementById("Z").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp" + Z;

document.getElementById("F").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp" + F;

}


else if (incrementopulgada==1)

{

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

var laser = document.getElementById("boquillalaser");

ctx.drawImage(laser, X-55, Y-110);


document.getElementById("X").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp" + X;

document.getElementById("Y").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp" + Y;

document.getElementById("Z").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp" + Z;

document.getElementById("F").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp" + F;

}


if (i==51)

{

stoptemporizadorleergcode();

}

}

}

function curva(x,y,cx,cy,x0,y0)

{

document.getElementById('lasercut').play()

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

ctx.lineWidth = 4;


ctx.strokeStyle = '#000099';

ctx.beginPath();

ctx.bezierCurveTo(x, y, cx, cy, x0, y0);

ctx.stroke();

}


function linex(x,y)

{

document.getElementById('lasercut').play()

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

ctx.lineWidth = 4;


ctx.strokeStyle = '#000099';

ctx.lineTo(x,y);


ctx.stroke();

}


function movex(x,y)

{

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

ctx.moveTo(x,y);

ctx.stroke();

}



function introducirdatos()


{

if (indicedial==3)

{

document.getElementById('tecla1').play()


introducirgcode=prompt('N' + indiceelementoslistadogcode,'');

gcode[indiceelementoslistadogcode]=introducirgcode

elementoslistadogcode();

}

}

function iniciarmanual()

{

if (indicedial==1)

{

document.getElementById('tecla1').play()

X = 0

Y = 0

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

ctx.clearRect(0, 0, c.width, c.height);

c.width=c.width;


desplazamientomanual('joystick00');

document.getElementById("cut").src="https://1.bp.blogspot.com/-F-Oi4Njt1g8/XqgseIj8HyI/AAAAAAAA2u0/HOKxuTIw2CcmN7R_qSY25BihJM0JJc94QCLcBGAsYHQ/s1600/teclacutmanual.png";

document.getElementById("stop").src="https://1.bp.blogspot.com/-70MYHw16NYA/Xqgshwig4uI/AAAAAAAA2v0/v0t6Saj3TXoPl4y8TMDnm99tD8id-92WwCLcBGAsYHQ/s1600/teclastopmanual.png";

lasermanual = 0


}

}

function desplazamientomanual(m)


{


if ((indicedial==1)&&(m=='joystick00'))

{

document.getElementById("joystick").src="https://1.bp.blogspot.com/-s_FfWnkE2q0/XqgrjlbBN9I/AAAAAAAA2rs/8c8yZTsJFr4noYgToz4N3pawilnrQTmgQCLcBGAsYHQ/s1600/joystick00.png";


incrementoX = 0

incrementoY = 0

parartemporizador1();




}

if ((indicedial==1)&&(m=='joystick01'))

{



document.getElementById("joystick").src="https://1.bp.blogspot.com/-eJAwfaGXVQA/Xqgrj69Fx8I/AAAAAAAA2rw/-y0Gu_WWrl89nt_bVldA9acF9RNJL-C2gCLcBGAsYHQ/s1600/joystick01.png";

incrementoX = 0

incrementoY = -1

linemanual();

}



if ((indicedial==1)&&(m=='joystick02'))


{

document.getElementById("joystick").src="https://1.bp.blogspot.com/-JsfHn94-aEA/XqgrkLfLTnI/AAAAAAAA2r0/3OxBT7yAiO0wgpsl1VtE5F-iyHFJq34SwCLcBGAsYHQ/s1600/joystick02.png";

incrementoX = 1

incrementoY = -1

linemanual();

}

if ((indicedial==1)&&(m=='joystick03'))

{

document.getElementById("joystick").src="https://1.bp.blogspot.com/-moi1FJIUFtU/XqgrktEGMdI/AAAAAAAA2r4/l9DccHitOHsISh6fy5HA2nXCekPMi7rFgCLcBGAsYHQ/s1600/joystick03.png";

incrementoX = 1

incrementoY = 0

linemanual();

}

if ((indicedial==1)&&(m=='joystick04'))

{

document.getElementById("joystick").src="https://1.bp.blogspot.com/-CZH7sJu-rVY/Xqgrkub0RhI/AAAAAAAA2r8/Sse0Bq11mDsg3KeS9M4uKusCBcATrkqYQCLcBGAsYHQ/s1600/joystick04.png";

incrementoX = 1

incrementoY = 1

linemanual();

}

if ((indicedial==1)&&(m=='joystick05'))

{

document.getElementById("joystick").src="https://1.bp.blogspot.com/-axEYnXdryjw/Xqgrkx8bInI/AAAAAAAA2sA/XTo4Lzhvb4IvgFJrTQa-doKFxGzvRVuXQCLcBGAsYHQ/s1600/joystick05.png";


incrementoX = 0

incrementoY = 1

linemanual();

}



if ((indicedial==1)&&(m=='joystick06'))

{

document.getElementById("joystick").src="https://1.bp.blogspot.com/-SqAwsQd5-40/Xqgrlretg2I/AAAAAAAA2sE/lN1O9ZEwbAExyRB71ZqC2BsbiplG1gWEQCLcBGAsYHQ/s1600/joystick06.png";

incrementoX = -1

incrementoY = 1

linemanual();

}

if ((indicedial==1)&&(m=='joystick07'))

{

document.getElementById("joystick").src="https://1.bp.blogspot.com/-I9g4fCdZw2s/Xqgrl-_OKiI/AAAAAAAA2sI/0sf7J55RDGsUO7QE6owaTIHhn3NLTWHBQCLcBGAsYHQ/s1600/joystick07.png";

incrementoX = -1

incrementoY = 0

linemanual();

}


if ((indicedial==1)&&(m=='joystick08'))

{



document.getElementById("joystick").src="https://1.bp.blogspot.com/-y1A1s-m8VEw/XqgrmfzC2GI/AAAAAAAA2sM/XfScr6Yvwhc1PnRyCtx0K7C6QZF7cPZywCLcBGAsYHQ/s1600/joystick08.png";

incrementoX = -1

incrementoY = -1

linemanual();

}



}

function parartemporizador1()

{


clearInterval(temporizador1);

}

function linemanual()

{


var temporizador1;

temporizador1 = setInterval(cortemanual, 1000);


}

function todolasermanual()

{

if (indicedial==1)

{

document.getElementById('tecla1').play()


lasermanual = 1

document.getElementById("cut").src="https://1.bp.blogspot.com/-QKgnbkDyxEk/XqgsefjumcI/AAAAAAAA2u4/409RLe-J-ysHSsOvDJJuHBHkWZAPxrGjgCLcBGAsYHQ/s1600/teclacutmanualrojo.png";

document.getElementById("stop").src="https://1.bp.blogspot.com/-70MYHw16NYA/Xqgshwig4uI/AAAAAAAA2v0/v0t6Saj3TXoPl4y8TMDnm99tD8id-92WwCLcBGAsYHQ/s1600/teclastopmanual.png";

}

}

function apagarlasermanual()

{

if (indicedial==1)

{

document.getElementById('tecla1').play()

lasermanual = 0

document.getElementById("cut").src="https://1.bp.blogspot.com/-F-Oi4Njt1g8/XqgseIj8HyI/AAAAAAAA2u0/HOKxuTIw2CcmN7R_qSY25BihJM0JJc94QCLcBGAsYHQ/s1600/teclacutmanual.png";

document.getElementById("stop").src="https://1.bp.blogspot.com/-EoJrNF54sCI/XqgsiSQU-5I/AAAAAAAA2v4/rlSV1aNf9iYbCldyhKXN8rwNH1bNKw_YwCLcBGAsYHQ/s1600/teclastopmanualverde.png";

}

}

function cortemanual()

{

if (indicedial==1)

{


X = X + incrementoX

Y = Y + incrementoY


document.getElementById("X").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp" + X;

document.getElementById("Y").innerHTML = "<font color = 'white'>" + "&nbsp" + "&nbsp" + Y;

cortelasermanual();

}

}

function cortelasermanual()

{


if (lasermanual==1)

{

document.getElementById('pasoapaso').play()

var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");

ctx.lineWidth = 4;


ctx.strokeStyle = '#000099';


ctx.lineTo(X,Y);

ctx.stroke();

}

else if (lasermanual==0)

{


var c = document.getElementById("Canvas");

var ctx = c.getContext("2d");


ctx.moveTo(X,Y);

ctx.stroke();

}

}

function botonemergencia()

{

if (indicedial==0)

{

document.getElementById('alarm').play()

stoptemporizadorleergcode();

}

if (indicedial==1)

{

document.getElementById('alarm').play()

iniciarmanual();

}

}

</script>

</head>

<body onload="cargacompleta();" bgcolor ="black">

<audio id="tecla1" src="https://sites.google.com/site/proyectosbarron/simuladores-1/simulador-de-cnc/tecla.mp3?attredirects=0&d=1"></audio>

<audio id="alarm" src="https://sites.google.com/site/proyectosbarron/simuladores-1/simulador-de-cnc/alarm.mp3?attredirects=0&d=1"></audio>

<audio id="lasercut" src="https://sites.google.com/site/proyectosbarron/simuladores-1/simulador-de-cnc/lasercut.mp3?attredirects=0&d=1"></audio>

<audio id="pasoapaso" src="https://sites.google.com/site/proyectosbarron/simuladores-1/simulador-de-cnc/pasoapaso.mp3?attredirects=0&d=1"></audio>

<table width="100%" border=”1” bordercolor="#0B6121" cellpadding="2" cellspacing="1" BGCOLOR="#0B6121">

<tr>

<td colspan="2" bgcolor="#2E9AFE">

<font color="#0B6121" size="7" font face="fantasy">

&nbsp;&nbsp;&nbsp;&nbsp;

Simulador CNC

</font>

</td>

</tr>

<tr>

<td height="345" width="810" bgcolor="#D0F5A9" id="display">

<canvas id="Canvas" width="810" height="407" style="border:1px solid #D0F5A9;">

</canvas>

</td>


<td valign="top">

<table width="100%" border=”1” bordercolor="#AACCEE" cellpadding="2" cellspacing="1" BGCOLOR="#AACCEE" height="300">

<tr>

<td height="25" colspan="2" bgcolor="#848484" width="33" align="center">

<font color="white" face="calibri" size="4">

G-CODE

</font>

</td>

</tr>

<tr>

<td id="gcode0">

</td>

</tr>

<tr>

<td id="gcode1">

</td>

</tr>

<tr>

<td id="gcode2">

</td>

</tr>

<tr>

<td id="gcode3">

</td>

</tr>

<tr>

<td id="gcode4">

</td>

</tr>

<tr>

<td id="gcode5">

</td>

</tr>

<tr>

<td id="gcode6">

</td>

</tr>

<tr>

<td id="gcode7">

</td>

</tr>

<tr>

<td id="gcode8">

</td>

</tr>

<tr>

<td id="gcode9">

</td>

</tr>


</table>


<table width="100%">

<tr>

<td height="25" width="35" bgcolor="#FFFF00" align="center">

<font color="black" face="calibri" size="4">

X

<font>

</td>

<td height="25" bgcolor="#848484" id="X">

</td>

</tr>

<tr>

<td height="25" width="35" bgcolor="#FFFF00" align="center">

<font color="black" face="calibri" size="4">

Y

<font>

</td>

<td height="25" bgcolor="#848484" id="Y">

</td>

<tr>

<td height="25" width="35" bgcolor="#FFFF00" align="center">

<font color="black" face="calibri" size="4">

Z

<font>

</td>

<td height="25" bgcolor="#848484" id="Z">

</td>

</tr>

<tr>

<td height="25" width="35" bgcolor="#FFFF00" align="center">

<font color="black" face="calibri" size="4">

F

<font>

</td>

<td height="25" bgcolor="#848484" id="F">

</td>

</tr>

</table>

</td>

</tr>

</table>

<table>

<tr>

<td>

<table>


<td align="center">

<input type=image src="https://1.bp.blogspot.com/-hakaX7c4MYg/XqgrH9cC9MI/AAAAAAAA2pw/seH1bs00X3Yj4iym5ajQS2huCE7WqpZwQCLcBGAsYHQ/s1600/dial2.png" onclick="cambiardial(1,1);" id="dial" class="myButton" width="165" height="123">

</table>

</td>


<td>

<table>

<tr>

<td>

<img src="https://1.bp.blogspot.com/-s_FfWnkE2q0/XqgrjlbBN9I/AAAAAAAA2rs/8c8yZTsJFr4noYgToz4N3pawilnrQTmgQCLcBGAsYHQ/s1600/joystick00.png" width="150" height="150" usemap="#joystick" id="joystick">

<map name="joystick">

<area shape="circle" coords="30,30,20" a href="#" onmouseover="desplazamientomanual('joystick08')"/>

<area shape="circle" coords="75,30,20" a href="#" onmouseover="desplazamientomanual('joystick01')"/>

<area shape="circle" coords="120,30,20" a href="#" onmouseover="desplazamientomanual('joystick02')"/>

<area shape="circle" coords="120,75,20" a href="#" onmouseover="desplazamientomanual('joystick03')"/>

<area shape="circle" coords="120,120,20" a href="#" onmouseover="desplazamientomanual('joystick04')"/>

<area shape="circle" coords="75,120,20" a href="#" onmouseover="desplazamientomanual('joystick05')"/>

<area shape="circle" coords="30,120,20" a href="#" onmouseover="desplazamientomanual('joystick06')"/>

<area shape="circle" coords="30,75,20" a href="#" onmouseover="desplazamientomanual('joystick07')"/>

<area shape="circle" coords="75,75,20" a href="#" onmouseover="desplazamientomanual('joystick00')"/>

</map>

</td>

<td>

<table border=”1” bordercolor="#6E6E6E" cellspacing="2" bgcolor="white">

<tr>

<td>

<input type=image src="https://1.bp.blogspot.com/-woNjYH88lmU/Xqgsh3-BuoI/AAAAAAAA2vw/pPYXMVxQWzoeGnngo5LYG4siXuKRsVD8ACLcBGAsYHQ/s1600/teclastartmanual.png" onclick="iniciarmanual();" width="43" height="43" class="myButton">

</td>

</tr>

<tr>

<td>

<input type=image src="https://1.bp.blogspot.com/-F-Oi4Njt1g8/XqgseIj8HyI/AAAAAAAA2u0/HOKxuTIw2CcmN7R_qSY25BihJM0JJc94QCLcBGAsYHQ/s1600/teclacutmanual.png" onclick="todolasermanual();" width="43" height="43" id="cut" class="myButton">

</td>

</tr>

<tr>

<td>

<input type=image src="https://1.bp.blogspot.com/-70MYHw16NYA/Xqgshwig4uI/AAAAAAAA2v0/v0t6Saj3TXoPl4y8TMDnm99tD8id-92WwCLcBGAsYHQ/s1600/teclastopmanual.png" onclick="apagarlasermanual();" width="43" height="43" id="stop" class="myButton">

</td>

</tr>

</table>


</td>

</tr>

</table>

</td>

<td align="center">

<input type=image src="https://1.bp.blogspot.com/-jFAG6J2nAm8/Xqgq7or-DnI/AAAAAAAA2pk/3nnHJCAXT6U0Z29zAMSA25ZApc_u7RMfQCLcBGAsYHQ/s1600/botonemergencia.jpg" onclick="botonemergencia();" class="myButton" width="80" height="80">

</a>

</td>

<td>

<table border=”1” bordercolor="#6E6E6E" cellspacing="2" bgcolor="white" align="left">

<tr>

<td width="43" height="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-p5gvc7C1Yp0/XqgseukbvpI/AAAAAAAA2vA/TSl4fqNP0bMFvTiL3sssB5LXqO_NgvucACLcBGAsYHQ/s1600/teclaerase.png" onclick="borrar();" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-gMNnQ8kjRRY/XqgsfgaV2wI/AAAAAAAA2vM/NRHfHZcyK4Ae7Mg3pbOd0VXgSIGb5flTACLcBGAsYHQ/s1600/teclaflechaarri.png" onclick="arriba();" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-nIdikJh4-Rc/XqgshmGXpwI/AAAAAAAA2vs/SmdTWO_59JAxLfqPeRVBDxCmvI4q9xONgCLcBGAsYHQ/s1600/teclastart.png" onclick="iniciarstart();" width="43" height="43" class="myButton">

</td>

<td width="43" align="center" rowspan="3">

<input type=image src="https://1.bp.blogspot.com/-xHK6PoCdfh8/XqgshDbmhnI/AAAAAAAA2vo/v8y72BAbLj4Vf5yrpSexqjUUCnelZtNkgCLcBGAsYHQ/s1600/teclaspaceuno.png" onclick="escribir('&nbsp');" class="myButton" width="43" height="141">

</td>

</tr>

<tr>

<td width="43" align="center" height="43" >

<input type=image src="https://1.bp.blogspot.com/-wDeaG-CeI7U/XqgsgF79okI/AAAAAAAA2vU/AhhW7pe_8IQ_8qBs6WS3oZ6BdZbvcr8-QCLcBGAsYHQ/s1600/teclaflechaiz.png" onclick="izquierda();" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-SklUPAn-MSs/XqgsgVLfMXI/AAAAAAAA2vY/oezqF7mVpPkWDkn1c9-ifQF5-GQHzKHQQCLcBGAsYHQ/s1600/teclaintro.png" onclick="intro();" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-iGDDbzrZF-8/Xqgsf9OLlII/AAAAAAAA2vQ/cfhWJ4hxMI4HPbTfWgSmFQ1l71dzTrHhwCLcBGAsYHQ/s1600/teclaflechader.png" onclick="derecha();" width="43" height="43" class="myButton">

</td>

</tr>

<tr>

<td width="43" align="center" height="43" >

<input type=image src="https://1.bp.blogspot.com/-TG6pMCi_YVU/Xqgseoz3KDI/AAAAAAAA2u8/ZeHtXnu9ePcpwmRsn2ZaIAiNpY4lwDacwCLcBGAsYHQ/s1600/teclaesc.png" onclick="escape();" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-aV3IO2KPMYU/XqgsfXxDS2I/AAAAAAAA2vI/-zv9K-ZbzLITcY61RxKeod4JIXpN-Zo7ACLcBGAsYHQ/s1600/teclaflechaaba.png" onclick="abajo();" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-9j5MxpEs1WU/XqgsfA7eUXI/AAAAAAAA2vE/EQoQmSzKW381bX10dGKNfkjCPuDry2hEgCLcBGAsYHQ/s1600/teclafile.png" onclick="introducirdatos();" width="43" height="43" class="myButton">

</td>

</tr>

</table>

</td>


<td>

<table border=”1” bordercolor="#6E6E6E" cellspacing="2" bgcolor="white">

<tr>

<td width="43" height="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-vLpNZHnlTwU/Xqgr4YZx8uI/AAAAAAAA2tQ/BVO3a3Ki00cMEbP3Iintq5-IAHVbxUhOQCLcBGAsYHQ/s1600/teclaG0.png" onclick="escribir('G00');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-OAjFofTCM34/Xqgr7khSE4I/AAAAAAAA2tU/utFVF-8ECNsu8bwH_2snGxLZDnLeuAmOQCLcBGAsYHQ/s1600/teclaG1.png" onclick="escribir('G01');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-9sxD7q6lasQ/XqgsZxPW19I/AAAAAAAA2t4/uS-YDaQ-Wxc90_DPF9rd_Hxn32acu8X1ACLcBGAsYHQ/s1600/teclaG2.png" onclick="escribir('G02');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-O3Xwl9ik0Zc/XqgsbpGywlI/AAAAAAAA2uQ/n48eGRtHu2MNm9HF6EJb4k6N4QojbY-nACLcBGAsYHQ/s1600/teclaI.png" onclick="escribir('I');" width="43" height="43" class="myButton">

</td>

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-vaSIwNliew0/XqgscMolnPI/AAAAAAAA2uc/WwC9lje1LU4bU-CYEzMaHploe4SdTx7QACLcBGAsYHQ/s1600/teclaX.png" onclick="escribir('X');" width="43" height="43" class="myButton">

</td>

</tr>

<tr>

<td width="43" height="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-5rtNlw6UsE4/Xqgsa1UIdWI/AAAAAAAA2uE/666AxMCM6YQg7vefJh7d8T-lgJb_8LO0gCLcBGAsYHQ/s1600/teclaG3.png" onclick="escribir('G03');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-_QVEEmJ-3OQ/XqgsaNbpp6I/AAAAAAAA2uA/Kt-FqtOi1TstmPcYAedV7x16t_qYxbskACLcBGAsYHQ/s1600/teclaG20.png" onclick="escribir('G20');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-CjK-w5zoO4g/XqgsaENluyI/AAAAAAAA2t8/GPtvQ-ihMeYu-q4PoVAlYxx4CsldP-DiwCLcBGAsYHQ/s1600/teclaG28.png" onclick="escribir('G28');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-BT9qPJTCAJo/Xqgsb5v2ukI/AAAAAAAA2uU/etjSZPtg_LI94FZyK9S-VlFUxAXbHEFFwCLcBGAsYHQ/s1600/teclaJ.png" onclick="escribir('J');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-REYqUUvX2lQ/XqgscYogyAI/AAAAAAAA2ug/eqfCi4b-YDUbRYaqbSHYRx2Z0VF_UmYeACLcBGAsYHQ/s1600/teclaY.png" onclick="escribir('Y');" width="43" height="43" class="myButton">

</td>

</tr>

<tr>

<td width="43" height="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-BIEt3sx0dPU/XqgsbO83hRI/AAAAAAAA2uI/vZKUP5GX3ncxBuPeM77OIgP6TiOIivE9QCLcBGAsYHQ/s1600/teclaG90.png" onclick="escribir('G90');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-XzlF3nO1MwQ/XqgsbSQYClI/AAAAAAAA2uM/Do-VI3fnZT0Kxxht9c1cBZVxA-WF2jw9ACLcBGAsYHQ/s1600/teclaG91.png" onclick="escribir('G91');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-iYjJ4QcLTWg/XqgscHz4QHI/AAAAAAAA2uY/ht0e8ZVFkhwmdk1bQcLOe7NuHXDbaBeeACLcBGAsYHQ/s1600/teclaR.png" onclick="escribir('R');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-V9UN6xJd7cM/Xqgr4RRtNWI/AAAAAAAA2tM/pnlpC0ij0yMfA4o6W8ISCMQ_pW5Dwfv6wCLcBGAsYHQ/s1600/teclaF.png" onclick="escribir('F');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-JFJD5CrURYs/Xqgsc7QxqjI/AAAAAAAA2uk/cJlK8tFtMHIAQVEF66iRmrajjB9fyweXQCLcBGAsYHQ/s1600/teclaZ.png" onclick="escribir('Z');" width="43" height="43" class="myButton">

</td>

</tr>

</table>

</td>

<td>

<table border=”1” bordercolor="#6E6E6E" cellspacing="2" bgcolor="white" align="right">

<tr>

<td width="43" height="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-hg4XzbSROlM/Xqgr0bOoIkI/AAAAAAAA2sk/6y8PtJgs9go-ghYGpWokO-vaZPyvV2wWQCLcBGAsYHQ/s1600/tecla1.jpg" onclick="escribir('1');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-8f0yvChqVro/Xqgr0dQPrmI/AAAAAAAA2sc/7BP8SRZzzug3ej8oW9nb5LbhQRB0QTbQQCLcBGAsYHQ/s1600/tecla2.jpg" onclick="escribir('2');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-eE1ARTpIUls/Xqgr1Cz0rqI/AAAAAAAA2ss/O08o8dMnzjQqlzhsrnk9pvKgLZXdA8YCQCLcBGAsYHQ/s1600/tecla3.jpg" onclick="escribir('3');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-OonLuTtdyPk/Xqgsgwu9LWI/AAAAAAAA2vg/BGSbJNYhrtwdtSy_LN5VwKb3Wla8QTBbQCLcBGAsYHQ/s1600/teclapunto.jpg" onclick="escribir('.');" width="43" height="43" class="myButton">

</td>

</tr>

<tr>

<td width="43" align="center" height="43" >

<input type=image src="https://1.bp.blogspot.com/-HQgEyqXMLEQ/Xqgr1OARDPI/AAAAAAAA2sw/qX0x1nllfDw7rl9IhzZm-Di4LxQJo_IowCLcBGAsYHQ/s1600/tecla4.jpg" onclick="escribir('4');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-jz_yZn-1c1Q/Xqgr1gqY25I/AAAAAAAA2s0/vGDaI1EkYMYIKDvu7HAxvedOLpNE4gR2QCLcBGAsYHQ/s1600/tecla5.jpg" onclick="escribir('5');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-DqDVJmeFViY/Xqgr2bgw2CI/AAAAAAAA2s4/kLkIo3dHr9gKIilQHi2tsOnQU5CZ825LQCLcBGAsYHQ/s1600/tecla6.jpg" onclick="escribir('6');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-UuqFrSuxlWk/Xqgsgk9CNqI/AAAAAAAA2vc/nAp5QTxiLmcwlw-ZFOZKIXPB52PFcBNLgCLcBGAsYHQ/s1600/teclamenos.jpg" onclick="escribir('-');" width="43" height="43" class="myButton">

</td>

</tr>

<tr>

<td width="43" align="center" height="43" >

<input type=image src="https://1.bp.blogspot.com/-gE_cn5Edbh8/Xqgr2_-c4ZI/AAAAAAAA2s8/N2j5i1xOwUMnBTyO7nGJnL-Zur7byy6PQCLcBGAsYHQ/s1600/tecla7.jpg" onclick="escribir('7');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-TH-yF3UgJvQ/Xqgr3ZmHraI/AAAAAAAA2tA/I9eermwE4-wT_TWq2fB4P5PUesgmoJmfACLcBGAsYHQ/s1600/tecla8.jpg" onclick="escribir('8');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-81I2f-huXeo/Xqgr3x8iU1I/AAAAAAAA2tI/vneXafYSdBcLNVSmV7BdvQgHY_iaWGrMwCLcBGAsYHQ/s1600/tecla9.jpg" onclick="escribir('9');" width="43" height="43" class="myButton">

</td>

<td width="43" align="center">

<input type=image src="https://1.bp.blogspot.com/-mBnzHsCe7uc/Xqgr0LwKi1I/AAAAAAAA2sg/Q7508dVDi_wanbL6B5GrpoaCRIFXtZf4ACLcBGAsYHQ/s1600/tecla0.jpg" onclick="escribir('0');" width="43" height="43" class="myButton">

</td>

</tr>

</table>

</td>




</tr>


</table>


<p>

<img id="fondoayuda" width="1" height="1" src="https://1.bp.blogspot.com/-zSO3N_GckC0/XqgrJF7FDLI/AAAAAAAA2qA/sjgoI4LOMpwHt0vv4NZyFKso6EHUDteKgCLcBGAsYHQ/s1600/fondoayuda1.png" onload="cargacompleta();">

</p>

<p>

<img id="boquillalaser" width="1" height="1" src="https://1.bp.blogspot.com/-hMWmF8b5d3Y/Xqgq7tHucQI/AAAAAAAA2pg/uP0U7pm29C8iMBEGafRiZd3nuYCheXzqACLcBGAsYHQ/s1600/boquillalaser101.gif" onload="cargacompleta();">

</p>


</body>

</html>