Introducción a Cura/es

From RepRap
Jump to: navigation, search

Cura es una opción más como programa de laminado basado profundamente en Skeinforge pero con opciones de configuración más simples y una interfaz gráfica algo mas intuitiva a la par que sencilla. Como desventajas frente a Skeinforge está que al tener menos opciones configurables pierdes algunas propiedades de Skeinforge. Como ventajas, la pantalla que te muestra las piezas en 3D, en 2D y el resultado del laminado te da una idea bastante clara de lo que va a producir y de como lo va a hacer. También la sencillez de la interfaz gráfica y algunas mejoras como que intenta mover la aguja por el interior de la pieza cuando no está imprimiendo para evitar hilos indeseables, la capacidad de generar laminados mucho más rápido que Skeinforge o poder generar varios laminados a la vez en paralelo.

Finalmente es interesante comentar que Cura tiene como objetivo no sólo actuar como programa de laminado sino tabién como anfitrión (host) de la impresión, por lo que su objetivo es ser un todo en uno, un programa que además de generar el g-code, lo envíe a la impresora.

Sin embargo esta última posiblidad no la vamos a explorar en este manual (por el momento).


Instalación del programa

En la página principal de Cura se encuentran los link's de descarga para cada uno de los sistemas operativos.

Instalación en Windows

La instalación de Cura en Windows es muy sencilla; descargamos el ejecutable (.exe) que encontramos en la página, o directamente de aquí.

Una vez descargado, instalamos el ejecutable (como se instala cualquier otro software). Al final de la instalación nos pide que instalemos un driver (es el driver de Arduino, cosa que en un principio no es necesaria ya que no vamos a usar el programa como host). En mi caso he aceptado dicha instalación, nunca está de más.

Se nos instalará el PrintRun y el Cura.

Una vez instalado, ya podemos trabajar con él como se explica en este tutorial.

En el caso de que lo queramos desintalar, se nos instala junto con los dos programas nombrados anteriormente el Unistall o desinstalador.

Instalación en Linux

Ubuntu

Para la instalación de CURA en Ubuntu lo que hay que hacer es mirar de tener todas las dependecias instaladas en nuestro sistema. En el caso de no saber si se tiene no pasa nada si se vuelven a instalar, el sistema lo detectará y no pasará nada malo.

Para ello, vamos a ingresar en nuestra terminal/consola y depende de los permisos que tengamos puede que tengamos que hacerlo como root (con sudo suy más tarde su contraseña) y con un apt-get install [nombreDeLaDependencia] quedará solucionado.

Así que meteremos lo siguiente ==> " apt-get install libssl0.9.8 pypy python-opengl python-wxgtk2.8 python-wxversion python-numpy python-scipy "

Esto, era para la versión 12.08, para la nueva (12.12) hay que además instalar un paquete extra de una forma un tanto especial... Así que descargamos el paquete de https://github.com/GreatFruitOmsk/Power

Una vez descargado deberemos desde la terminal meternos en ese directorio (Usar el comando cd [nombreDelDirectorio] para ir navegando) y lo primero será instalar el paquete de herramientas de dejecución de python si no lo tenemos instalado ya.

apt-get install python-setuptools

Y más tarde montar e instalar el paquete ==> "python setup.py build" y después "python setup.py install"

Con todo esto ya debería funcionar todo.

Archlinux

Para esta instalación es un poco más difícil, ya que tendremos que descargarlo como hicimos en Ubuntu, es decir, desde github mismo PERO la dependencias no se llamarán igual o no estarán e el paquete de la comunidad, por lo que habrá que hacerlo a parte...

Para montar los diferentes paquetes si no los encontramos desde la consola usando pacman para buscarlos e instalarlos...

BUSCAR ==> pacman -Ss [nombrePaquete] INSTALAR ==> sudo pacman -S [NombrePaquete]

Habrá que ir al repositorio de la comunidad, que son una serie de paquetes mantenidos por los mismos usuarios de la red. Para ello nos vamos aquí https://aur.archlinux.org/ y buscamos el paquete que queramos.

Una vez encontrado habrá un texto (ahora mismo se encuentra por la parte derecha) que dice "Descargar tarball", le damos y descargamos...

Una vez descargado lo que hay que hacer (como uso consola lo haré por consola, también se puede hacer por el método clásico) es descomprimirlo con un tar xzvf [nombreDelArchivo].tar y nos dará una carpeta con el mismo nombre del paquete. Ahora, nos queda entrar desde la terminal a esa carpeta y hacer dentro un makepkg -s , que su misión será la de compilar ese paquete y con el -s una vez compilado lo instalará en nuestro sistema...

Se supone que si no ha dado ningún problema debe estar todo listo... Si te dice el paquete que no se ha podido instalar por falta de dependencias tendrás que descargar cada paquete a mano como hemos hecho con este e instalarlo...

IMPORTANTE: Arch tiene como predeterminado ejecutar python con python3, mientras que cura sirve para python2. Con esto quiero decir que si ejecutáis con el 3 que tiene enlace simbolico cuando escribimos python no os irá o tirará error... Para solucionarlo una manera es cambiar ese enlace simbólico o también se puede cambiar el nombre dentro del archivo de cura.sh editando desde un editor de textos y donde ponga python cambiarlo por python2.


Instalación en Mac OS X

Instalación de Cura 12.12 en OS X 10.6.x:

Para que el programa se ejecute con normalidad una vez realizada su instalación, será necesario reemplazar dos ficheros que se encuentran dentro del propio programa. Para ello los pasos a seguir serán los siguientes:

  • 2º Reemplazar los ficheros Cura/Contents/Frameworks/libwx_osx_cocoau_gl-2.9.4.0.0.dylib y Cura/Contents/Frameworks/libwx_osx_cocoau-2.9.4.0.0.dylib por una copia de los que se encuentran en /usr/local/lib/wxPython-2.9.4.0/lib/libwx_osx_cocoau_gl-2.9.4.0.0.dylib y /usr/local/lib/wxPython-2.9.4.0/lib/libwx_osx_cocoau-2.9.4.0.0.dylib respectivamente.

Una forma sencilla de acceder al contenido del propio programa es haciendo click derecho sobre él, y a continuación seleccionar la opción "Mostrar contenido del paquete".


Nota: Es posible que al ejecutar por segunda vez el programa después de haber realizado las modificaciones anteriores, este no responda. De nuevo la solución consistirá en volver a realizar el paso 2. Después de ello, el programa se ejecutará con normalidad, no siendo necesario volver a repetir dicho paso durante cada ejecución.

Modos de funcionamiento

Modo Quickprint de Cura. Cuando arrancamos Cura la primera vez se inicia en este modo.

Podemos dividir el funcionamiento del programa en 3 formas de funcionamiento:

  • Modo Quickprint o impresión rápida.
  • Modo Normalprint o impresión normal (el que vamos a explicar en más profundidad).
  • Modo Project Planner o planeador de proyectos.

Modo Quickprint

El modo Quickprint de Cura nos proporciona unas pocas opciones para realizar de forma rápida un laminado (conversión a g-code) sin tener que pasar por las opciones de que dispone. Es poco prudente empezar a manejarlo por aquí ya que este software está configurado para una Ultimaker (lo cual no tiene porque coincidir con nuestra impresora) y es conveniente conocer las configuraciones para poder jugar con las calidades y demás.

De momento no se va a hablar mas de este modo de impresión por su poca utilidad práctica.


Modo Normalprint

Modo Normalprint de Cura en su página de Print config

El modo Normalprint se compone de un cuadro de opciones a la izquierda y un display tridimensional a la derecha. El display tridimensional nos servirá para inspeccionar el modelo STL que hemos cargado o el resultado del g-code en 3D o 2D según queramos (el 2D es igual que el 3D visto desde arriba).

El cuadro de opciones se divide en 3 páginas.

Print config o configuración de impresión

Esta es la página principal con las opciones más comunes:

  • Accuracy o precisión:
    • Layer height o altura de capa: indica la altura que tendrá la capa. Lo normal es darle un valor máximo del 80% del valor del diámetro de la aguja (nozzle) aunque se pueden introducir valores menores para tener mayor precisión aunque tardará mas la impresión.
Por ejemplo para la aguja de 0.5mm 0.4mm de altura de capa, y para la de 0.35mm, 0.25-0.28mm.
    • Wall thickness o anchura de pared: indica la anchura de la pared o perímetro (antes de rellenar suele trazar uno o varios perímetros, esto es la pared). El valor que se de dividido por el ancho de la aguja dará el número de perímetros que trazará.
Por ejemplo una anchura de pared de 0,5 en una aguja de 0,35 resultara en 1 perimetro, pero si la pared es de 0,7mm hará 2.
  • Fill o relleno
    • Bottom/Top thickness o anchura de la capa Superior/Inferior: indica la anchura de las paredes superiores e interiores, esto es el numero de capas rellenas al 100% que realizará en la caras inferiores y superiores.
Por ejemplo si este valor es de 0,6mm y la altura de capa es de 0.2mm etonces habrá 3 capas totalmente rellenas tanto en la cara inferior como la superior.
    • Fill density o densidad de relleno: indica el porcentaje (atención que no es un cociente como en el skeinforge) de relleno de las capas.
Los valores óptimos suelen estar entre 20% y 40% pero puede haber alguna pieza que requiera más o menos.
Este esquema 3D del g-code nos muestra la falda (skirt) y la balsa (raft).
  • Skirt o falda: se refiere a una forma que dibuja el extrusor antes de empezar a imprimir la pieza y k mas o menos marca un recinto en el que estará la misma. Sirve para darle tiempo al extrusor para empezar a extruir bien antes de empezar con las piezas.
    • Line count o numero de líneas: indica cuantas faldas tiene que hacer.
    • Skirt distance o distancia de falda: indica la minima distancia a la que se encontrará la falda de los bordes de la pieza.
  • Speed & temperature o velocidad y temperatura
    • Print speed o velocidad de impresión: indica la velocidad de impresión, esto es, cuanto se mueve la aguja cuando esta extruyendo plástico (no durante un travel o viaje). Valores normales son entre 30 (lento) y 50mm/s aunque se puede probar con valores mayores para impresiones más rápidas.
    • Printing temperature o temperatura de impresión: indica la temperatura a la que imprimirá la pieza (la temperatura del extrusor). Esto es sólo para el uso del programa como anfitrión (host) ya que si sólo lo usamos para laminar, introduciremos la temperatura vía Printrun o nuestro anfitrión favorito.
    • Bed temperature o temperatura de cama: indica la temperatura de la cama caliente. Tiene el mismo problema que el anterior.
  • Support o estructuras de soporte: son estructuras frágiles y fácilmente eliminables que nos permitirán sujetar los voladizos o formas complicadas de la estructura.
    • Support type o tipo de estructura de soporte: indica que estructuras de soporte son admisibles en la figura:
      • None o ninguna
      • Exterior only o sólo exteriores: esta sólo realizará estructuras de soporte necesarias (posiblemente, aunque pone más de las que son comunes) pero que estén situadas sobre la cama caliente (y nunca sobre la pieza).
      • Everywhere o en todos lados
      • Empty layers only o sólo en capas vacías: (TODO)
    • Add raft o añadir balsa: se llama raft o balsa a una estructura que se pone antes de imprimir la pieza. Esta estructura consiste en varias tiras gruesas de plástico separadas entre sí, situadas bajo la zona donde se imprimirá la pieza, cubiertas por otras tiras mas finas de plástico, pero igualmente separadas. Sobre esta estructura que recuerda a las balsas (de allí su nombre) se imprime la pieza. Este sistema ayuda a que la pieza se agarre bien, pero resulta algo complicado la separación de la pieza de la balsa.
  • Fillament o filamento: aquí se introducen los datos sobre el plástico.
    • Diameter o diámetro: indica el diámetro del filamento. Los más comunes son 3mm o 1.75mm. Es posible que aun habiendo comprado un plástico de 3mm este mida 2.8mm, con un calibre ajustas la medida perfecta.
    • Packing density (TODO)
Pantalla de configuración avanzada de Cura

Advanced config o configuración avanzada

  • Machine size o tamaño de máquina: indica ciertos parámetros de la máquina (aunque no todos).
    • Nozzle size o diámetro de la aguja: aquí se indica el tamaño de la aguja del extrusor.
    • Machine center X o centro de la máquina en el eje X: indica a partir de que punto en el eje X centrará las piezas. Lo normal, como las impresoras Prusa Mendel son de 200mmx200mm es que este valor sea 100mm, pero si nos ponemos en el caso de que hay un daño en el cristal, podríamos tocar este parámetro para evitar este punto.
    • Machine center Y o cenetro de máquina en el eje Y: igual que el anterior pero en el eje Y.
  • Retraction o retracción: es un proceso que se produce cuando la aguja ha de moverse de un punto a otro de la pieza sin imprimir y su finalidad es que, por la inercia de flujo, no siga extruyendo y evitar también dejar hilos a través de la pieza.
    • Minimal travel o viaje mínimo: es la distancia mínima que tiene que recorer la aguja para que el programa determine que es útil realizar la retracción. Esto es para que en áreas muy pequeñas no tenga muchas retracciones (esto afecta a la velocidad a la que imprime las piezas ya que durante la retracción la máquina no se mueve).
    • Speed o velocidad: velocidad a la que girará la rueda del extrusor. Lo mejor es ponerle una velocidad alta (entre 30mm/s y 50mm/s) para que tarde menos.
    • Distance o distancia: indica los milímetros de plástico que retraerá. Ya que hemos dicho de darle una velocidad alta, lo mejor es dejar este valor pequeño, de unos 2mm.
    • Extra lenght on start o longitud extra al (volver a) empezar: indica si ha de extruir un poco antes de volver a imprimir una vez que ha terminado el viaje. Si tienes problemas con la retracción (que no imprime después de hacerla) has de jugar con este parámetro.
  • Speed o velocidad
    • Travel speed o velocidad de viaje: indica la velocidad a la que realizará los viajes (los movimientos en los que no imprime) la impresora. Darle valores altos ayudará a reducir el tiempo de impresión pero hará que la impresora tenga más vibraciones, y si estás con los motores en el límite de perder pasos puede causar problemas.
    • Max Z speed o velocidad máxima del eje Z: indica la velocidad máxima a la que girará el eje Z.
    • Bottom layer speed o velocidad de la capa inferior: la capa inferior ha de imprimirse con más cuidado (más lentamente) para que se adhiera bien a la superficie de impresión. Es conveniente darle un valor menor por este motivo que la impresión normal. La velocidad de 20mm/s da muy buenos resultados.
  • Cool o enfriamiento
    • Minimal layer time o duración mínima de capa: indica el número de segundos que tiene que durar como mínimo la impresión de una capa. Si dura menos, la impresora esperará hasta llegar a este número. La utilidad de esto es principalmente evitar que capas muy pequeñas se impriman unas encima de otras sin que la anterior haya terminado de solidificar lo que hará que el extrusor deforme la capa inferior y no genere la forma que debería. Si en algún momento imprimes piezas pequeñas, prueba a jugar con este parámetro para averiguar el valor que mejor se ajuste a tus características.
    • Enable cooling fan o activar ventilador de enfriado: indica si el chip ha de controlar el funcionamiento del ventilador de las piezas. Para poder usar esta característica hay que configurar el firmware para indicar que pin lleva el ventilador. Si imprimes con PLA no uses esta capacidad ya que de haber ventilador, este debería estar encendido durante toda la impresión (en piezas muy grandes puede fastidiar la adehesión de la primera capa, así que es interesante conectarlo después, pero puede fastidiar el extrusor, por lo que hacerlo mediante PWM o bien pausar la impresión al encenderlo y esperar a que la temperatura se estabilice).
  • Accuracy o precisión:
    • Initial layer thickness o espesor de la primera capa: indica cuanto más gruesa (en milímetros) ha de ser la primera capa con respecto al resto de capas. Si imprimes con PLA y tienes problemas para que la pieza se adhiera a la superficie te conviene que sea 0 y hacer que la aguja empieze a imprimir muy cerca de la superficie (y que así quede un poco aplastado). También se puede lijar con una lija fina (pero con fuerza) la superficie del kapton para favorecer la adhesión.
    • Enable skin o activar piel: es una característica que viene de Skeinforge por la cual los perímetros exteriores los imprime de dos pasadas en vez de de una (cada una con la mitad de grosor por lo que el plástico usado es el mismo). De esta forma las capas exteriores dan la ilusión de ser la mitad de altas y por tanto aparecen más juntas y dan un mejor acabado. También aumenta el tiempo de impresión.
Pantalla de g-code de inicio/final de Cura

Start/End G-code o g-code de inicio/final

Aquí encontramos 4 archivos:

  • start.gcode: indica los códigos que ha de introducir al principio del código generado del objeto.
  • end.gcode: indica los códigos que ha de introducir al final del código generado (esto es lo que hará cuando haya terminado de imprimir).
  • nextobject.gcode: en el modo Project Planner puedes introducir varios objetos en una placa e imprimirlos uno a uno, en vez de todos a la vez. Aquí introducirías el código que realizaría entre impresión e impresión.
Supón el siguiente caso: tienes una pantalla LCD en tu impresora, por lo que el comando M0 (esperar hasta que pulsen el botón en el LCD) está activo. Podrías hacer una placa donde todos los componentes a imprimir estén en el mismo sitio (superpuestos) y enviárselo a la impresora. Cada vez que termine una pieza te dejará retirar la pieza y una vez pulsado el botón M0 imprimirá la siguiente.
  • replace.csv: es un archivo CSV (coma separated values o valores separados por comas) que incluye los códigos que se reemplazarán (??).
El CSV tiene el siguiente formato: imaginemos una tabla (como las de Excell) en el archivo CSV las líneas representan las filas y las columnas se separan con puntos y comas (;). Si las celdas se definen por Celda:{fila}.{columna} entonces:
Celda:1,1 ; Celda:1,2 ; Celda:1,3 ; Celda:1,4
Celda:2,1 ; Celda:2,2 ; Celda:2,3 ; Celda:2,4
Celda:3,1 ; Celda:3,2 ; Celda:3,3 ; Celda:3,4
Celda:4,1 ; Celda:4,2 ; Celda:4,3 ; Celda:4,4

Cómo cargar el modo normal (Normalprint)

Al iniciar el programa es posible que arranque la primera vez en modo Quickprint, por lo que no se verán las opciones completas. Activar las opciones es relativamente simple:

  1. Ir al menú de la barra superior (en Windows y Linux de la ventana y en Mac de la pantalla) de Tools.
  2. Click en el elemento del menú Switch to Normalprint.

Este modo se llama Normalprint y es el mas adecuado para el manejo de Cura.

Adicionalmente pasar de Normalprint a Quickprint sigue los mismos pasos sólo que el elemento del menú pasará a llamarse Switch to Quickprint.


Expert settings o opciones de experto

Ventana de opciones de experto.

En el menú de la barra superior Expert (experto) el primer elemento, Open expert settings... (abrir opciones de experto), nos abre una ventana con más parámetros para configurar:

  • Accuracy o precisión
    • Extra wall thickness for bottom o anchura de pared extra para la capa inferior: indica cuanto más ancha ha de ser la pared ce la capa inferior.
  • Cool o enfriamiento
    • Minimum feedrate o mínima velocidad de alimentación (de plástico): en las capas muy pequeñas cuyo tiempo de impresión es menor que el establecido (ver configuración avanzada), la impresión se realizará lentamente, pero si el extrusor extruye demasiado lentamente, aparecerán pelotitas. Para evitar esto este es la mínima velocidad a la que puede ir el extrusor.
    • Fan on layer number o número de capa en que empezará el ventilador: indica a partir de que capa se enciende el ventilador, ideal para PLA.
    • Fan speed min o velocidad mínima del ventilador: indica el porcentaje sobre el voltaje total al cual puede funcionar el ventilador como mínimo. Por lo general el mínimo es el 50% (que son en torno a 6V), pero en la configuración por defecto lo pone a 100%.
    • Fan speed max o velocidad máxima del ventilador: suele ser el 100% pero si diese el caso de que ventilase con demasiada fuerza se puede bajar. Otra vez, no debe estar debajo del 50% (aunque un ventilador BLDC convencional podría funcionar a 5V).
  • Raft o balsa
    • Extra margin o margen extra: indica el margen entre el borde de la balsa y el borde de la pieza. Si además ponemos falda, la falda rodeará a la base, no a la pieza.
    • Base material amount o cantidad de material de la base (de la balsa): la balsa se compone de dos capas, la base (más gruesa) y la interfaz (entre la base y la pieza). Indica el porcentaje de material a usar en la basla. Por lo general cuanto más alto, más fuerte.
    • Interface material amount o cantidad de material en la interfaz (de la balsa): igual que la anterior, pero con la interfaz de la balsa.
  • Suport o estructura de soporte
    • Material amount o cantidad de material: indica el porcentaje de material que usará la estructura de soporte. Cuanto más material más fuerte, pero también más complicada de extraer. Lo óptimo es dejarlo en el 50%.
    • Distance from object o distancia del objeto: indica la distancia entre el soporte y la estructura a soportar (en la zona donde necesite soporte). Un valor muy pequeño le permitirá hacer su función sin quedarse pegado del todo, facilitando mucho la extracción.
Patrones de relleno disponibles en Cura
  • Infill o relleno
    • Infill pattern o patrón de relleno: indica la forma de realizar el infill:
      • Line o línea: es el patrón más rápido y realiza un relleno en zig zag a través de la pieza. Cada capa invierte la dirección del zigzag de tal manera que una capa tenga un zigzag perpendicular a la siguiente, aumentando así la resistencia de la pieza. Este relleno es el relleno por defecto y el más rápido para imprimir pero quizás no sea el óptimo para piezas que deban tener gran resistencia mecánica (en cuyo caso lo mejor es mirar el hexagonal o el relleno completo)
      • Grid circular o rejilla circular: realiza un relleno con cilindros huecos en la pieza. (TODO: ampliar)
      • Grid hexagonal o rejilla hexagonal: realiza un relleno en forma de panal de abeja que le da bastante resistencia a la vez que lo deja menos relleno. Si se necesita aún más resistencia mecánica se puede probar a aumentar el infill o a ponerlo al 100%.
      • Grid rectangular o rejilla rectangular: realiza un relleno similar a la rejilla hexagonal pero simplificándola en cuadrados. Es un poco más rápido que la hexagonal, pero pierde parte de sus propiedades.
    • Solid infill top o capa superior sólida: indica si se debe hacer la capa superior con un relleno del 100% (sólida) o si debe continuar con el relleno en patrón del resto de la pieza. Suele estar marcado.
    • Infill overlap o superposición del relleno: indica la superposición que ha de hacer el relleno sobre la pared exterior. Esto sirve para que la pared y el relleno se queden conectados. No suele ser un valor muy alto de todas formas.
  • Bridge o puente: un puente es cuando la máquina ha de imprimir en el vacío de 2 estructuras (imaginemos una H impresa en vertical, la barra de en medio sería un puente).
    • Bridge speed o velocidad de puente: indica la velocidad a la que se realizarán los puentes. Nos interesa que sea máxima ya que si no tenderán a combarse hacia abajo.
  • Sequence o secuencia: hace referencia al orden de las operaciones.
    • Print order sequence o secuencia de impresión: indica en que orden se realizarán los perímetros, los bucles y el relleno. Hay que especificar que se llama perímetro a la parte de la pared que está directamente en contacto con el exterior, y bucle a cualquier parte de la pared (si está está compuesta de más de una vuelta) que no lo esté. El relleno es el interior de la pieza. Por lo general se usa: Perimeter>Loops>Infill, aunque no es el valor por defecto (el valor por defecto produce ciertas deformaciones que pueden afectar a la tolerancia dimensional de tu pieza).
    • Force first layer sequence o forzar la secuencia en la primera capa: esto fuerza a que la primera capa se realize en el orden Perimeter>Loops>Infill.
  • Joris: cuando imprimimos una estructura que está compuesta sólo de pared (imaginémonos un vaso muy fino) al terminar cada capa la máquina subirá lo que necesite en el eje z dejando un escalón en la superficie. Esta opción nos permite que suba progresivamente haciendo una espiral.
  • Retraction o retracción
    • Retraction on jumps only o retracción sólo en saltos: indica que la máquina solo hará retracción cuando haya que saltar (salirse del interior de la pieza. Esto evita que haya problemas en la impresión causados por la retracción, ya que aunque deje hilos en el interior de la pieza, estos no afectan a la apariencia de la misma.

Trucos

Para sopesar algunas de las deficiencias que tiene Cura con Skeinforge (fruto de haber quitado algunas opciones) se pueden usar algunos trucos

Suplir la ausencia de opción Bottom de Skeinforge

El z-offset es la distancia entre el final de carrera z y la altura a la que queremos empezar a imprimir. En skeinforge se le llama Bottom. En Cura no podemos escribir este parámetro desde la interfaz, pero podemos hacerlo a través del gcode con el siguiente código añadiéndolo al start.gcode en la tercera pestaña del modo Normalprint:

G28 Z0  ;move Z to min endstops

G1 Z0.1 F{max_z_speed}  ;z offset

G92 Z0  ;reset software position to front/left/z=0.0

En este caso estoy poniendo el z-offset a 0.1 mm, es decir, la impresora considera que el z=0 está 0.1 mm por encima de la posición dada por el final de carrera.