descargar catálogo completo en formato PDF catálogo pdf

 

Programa GCode (configurable) para Mach3: según una lista de coordenadas de perforaciones, genera código para realizarlas

Mover la herramienta a lo largo de los ejes X,Y,Z es fácil. Escribir un código para realizar perforaciones, también lo es. Sin embargo, más simple y rápido sería poder escribir únicamente una lista coordenadas pertenecientes a puntos a perforar, y que el código GCode se genere en base a dicha lista. Nuevamente, escribir programas tan simples como éste, es fácil, pero se vuelve tedioso hacer el mismo trabajo una y otra vez. A veces es incluso más rápido que ponerse a codificar, es hacerlo moviendo la herramienta de manera manual, sin embargo, cuando la cantidad de perforaciones es alta, ya se complica utilizar el método manual.

También se pueden generar los programas utilizando modelado 3D mediante un software CAD, aunque si la geometría es simple, el código resultante de escribirlo manualmente queda bastante compacto y lindo. Para aliviar un poco la carga de tener que escribir un nuevo programa para cada situación o necesidad, aquí se permite generar el gcode (de la realización de perforaciones en secuencia) ajustando ciertos parámetros.

Consideraciones para configurar correctamente las variables:

  • El usuario setea las coordenadas de los centros de las perforaciones en el orden que desea realizarlas.

Reserva de Variables (para contar loops): desde #1000

No se requieren variables.

    Reserva de Subrutinas (que no son loops): desde O2000

    No se requieren subrutinas.

      Seteo Constantes (hardcoded)

      Las constantes a continuación no pertenecen al código del programa ya que no es necesario memorizarlos dado que estos valores son tomados en el momento de la escritura del código fuente únicamente. Aquí son definidos valores constantes que a lo largo del programa será necesario escribir. Todas las coordenadas espaciales se encuentran en unidades de mm.

      Puede hacer click en parámetros coloreados en azul para modificarlos, y automáticamente la página va a refrescar y mostrar el resultado acorde con el valor ingresado.

      • feedRateSobrevuelo = 1000 //Variable de feedrate, normalmente no requiere cambio cuando se encuentra el feedrate ideal para determinado material
      • feedRateMecanizacion = 100 //Variable de feedrate, normalmente no requiere cambio cuando se encuentra el feedrate ideal para determinado material
      • posIni_x = 0 //Coordenada X inicial y final de la herramienta. Empieza y termina en el mismo lugar.
      • posIni_y = 0 //Coordenada Y inicial y final de la herramienta. Empieza y termina en el mismo lugar.
      • posIni_z = 0 //Coordenada Z inicial y final de la herramienta. Empieza y termina en el mismo lugar.
      • ZmecanizadoIni = 0 //Plano comienzo de mecanización
      • ZmecanizadoFin = -4 //Plano fin mecanización
      • Zsobrevuelo = 10 //Plano Z "seguro" para que la herramienta se mueva
      • holeList = (11,12);(5,-1) //Listado de coordenadas de perforaciones

      Constantes Calculadas (hardcoded)

      No existen variables calculadas en este programa, las únicas necesarias son las ingresadas por el usuario, que son las coordenadas a perforar.

        Funcion "main"

        G90 (absolute coords)
        G21 (mm mode)
        M3 (spindle on)

        F1000 ("feedRateSobrevuelo")
        G01 Z[10] (Move: "Zsobrevuelo")
        G01 X[11] Y[12] (Move: posicion agujero 0)
        G01 Z[0] (Move: "ZmecanizadoIni")
        F100 ("feedRateMecanizacion")
        G01 Z[-4] (Move: "ZmecanizadoFin")

        F1000 ("feedRateSobrevuelo")
        G01 Z[10] (Move: "Zsobrevuelo")
        G01 X[5] Y[-1] (Move: posicion agujero 1)
        G01 Z[0] (Move: "ZmecanizadoIni")
        F100 ("feedRateMecanizacion")
        G01 Z[-4] (Move: "ZmecanizadoFin")

        F1000 ("feedRateSobrevuelo")
        G01 Z[10] (Move: "Zsobrevuelo")
        G01 X[0] Y[0] (Move: posicion inicial XY)
        G01 Z[0] (Move: posicion inicial Z)
        M5 (Spindle off)
        M30 (Program end and rewind)

        Resultado: código gcode completo

        (Parámetros ingresados para la generación del presente código)
        (------------------------------------------------------------)
        (feedRateSobrevuelo = 1000)
        (feedRateMecanizacion = 100)
        (posIni_x = 0)
        (posIni_y = 0)
        (posIni_z = 0)
        (ZmecanizadoIni = 0)
        (ZmecanizadoFin = -4)
        (Zsobrevuelo = 10)

        (Funcion "main")
        (--------------)
        G90 (absolute coords)
        G21 (mm mode)
        M3 (spindle on)

        F1000 ("feedRateSobrevuelo")
        G01 Z[10] (Move: "Zsobrevuelo")
        G01 X[11] Y[12] (Move: posicion agujero 0)
        G01 Z[0] (Move: "ZmecanizadoIni")
        F100 ("feedRateMecanizacion")
        G01 Z[-4] (Move: "ZmecanizadoFin")

        F1000 ("feedRateSobrevuelo")
        G01 Z[10] (Move: "Zsobrevuelo")
        G01 X[5] Y[-1] (Move: posicion agujero 1)
        G01 Z[0] (Move: "ZmecanizadoIni")
        F100 ("feedRateMecanizacion")
        G01 Z[-4] (Move: "ZmecanizadoFin")

        F1000 ("feedRateSobrevuelo")
        G01 Z[10] (Move: "Zsobrevuelo")
        G01 X[0] Y[0] (Move: posicion inicial XY)
        G01 Z[0] (Move: posicion inicial Z)
        M5 (Spindle off)
        M30 (Program end and rewind)

        Powered by Abebashop
        (c) All rights reserved