afeitar piezas con OpenSCAD

Al fabricar una pieza con una impresora de extrusión de plástico es frecuente que la primera capa se expanda y quede sobredimensionada. Este fenómeno tiene una parte buena y otra mala: la pieza se agarra mejor al sustrato, pero no se ajusta a las medidas del diseño, y hay que desbarbar o afeitar la parte inferior.

Si tu plástico se agarra bien, puedes rediseñar la pieza para que la primera capa sea algo más pequeña. Pero para una figura compleja y/o diseñada por terceros puede ser muy laborioso, sobre todo si no tenemos el código fuente.

Afortunadamente hay atajos, como por ejemplo utilizar una función que se encargue de recortar la primera capa:

// uso: afeita(alto_de_capa [, cuanto]) <código>

//

module afeita(alto_de_capa, cuanto = 0.2) {

maximo = 200 ;

poquito = 0.1 ;


difference() {

children();

minkowski() {

difference() {

translate([-maximo/2, -maximo/2, -poquito])

cube([maximo, maximo, alto_de_capa + poquito]);

children();

}

translate([0, 0, -poquito])

cylinder(r=cuanto, h=poquito, $fn=4);

}

}

}

Esto es un ejemplo de uso del módulo de afeitado con un desarrollo propio y una pieza traída de un repositorio de STLs. Se utiliza un alto de capa de 0,25 mm y el desbarbado por defecto de 0,2 mm.

afeita(0.25) {

translate([0, 10, 0])

cube(10);

import("eslabon.stl");

}


El procedimiento es lento por el uso de la transformación minkowski(), pero creo que merece la pena usarlo justo en el paso previo a la fabricación. Durante el desarrollo de la pieza nos podemos ahorrar el afeitado.

Actualización: desde que tengo el sistema de autolevel he podido ajustar la altura de la boquilla con mucha mayor precisión, y así la primera capa sale siempre impecable, no siendo necesario el afeitado.