Convertir números a su cardinal u ordinal, php_intl

Si te has preguntado como convertir un número a su cardinal , ordinal, etc se hace a través de la extensión php_intl.

Para instalarla en Ubuntu nada más sencillo que:

sudo apt install php_intl

para habilitarla en PHP:

sudo phpenmod intl

Y reaniciamos apache, que en caso de Ubuntu seria:

sudo service apache2 restart

Una vez instalada el código para realizar por ejemplo un cardinal en Català seria:

$nf = new \NumberFormatter('ca_ES', \NumberFormatter::SPELLOUT);
$cardinal = $nf->format($total);

No en todos los casos queda perfecto, o a veces no encontrarás la traducción completa. Para ello podemos especificar un fichero con las formas correctas:

$pattern = file_get_contents('catalan.txt');
$nf = new \NumberFormatter('ca_ES', \NumberFormatter::PATTERN_RULEBASED, $pattern);
$nf->setTextAttribute(\NumberFormatter::DEFAULT_RULESET, "%spellout-cardinal-masculine");

Y ya un pequeño trozo de código para que escriba bien los decimales en la forma por ejemplo de «diez coma cincuenta» en lugar de «diez cinco cero»:

$representado = explode(".", number_format($total, 2, ".", ''));
if (count($representado)>0) {
    $cardinal = $nf->format($representado[0]) . ' coma ' . $nf->format($representado[1]);
} else {
    $cardinal = $nf->format($representado[0]);
}

Aquí tenéis el fichero con las traducciones, por si queréis crear uno nuevo:

formato personalizado php_intl

Configurar el formato de codificación de Mysql para Ubuntu

Para configurar el formato de codificación de Mysql, en este caso vamos a modificar el fichero mysql.cnf que se encuentra en /etc/mysql/mysql.cnf para cambiar el formato de codificación más conveniente para uso general, que trata mejor la representación, comparación y ordenación en diferentes idiomas a cambio de rendimiento: utf8_unicode_ci.

Para ello añadiremos el siguiente código debajo de [mysqld] o lo crearemos bajo esta misma etiqueta:

[mysqld]

collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

Y reiniciaremos el mysql:

sudo service mysql restart

Si tuviéramos que cambiar alguna tabla individualmente:

ALTER TABLE nombretabla CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Configuración y calibración impresora

Configuración

Una buena guía sobre la configuración del firmware Marlin para la impresora 3D es este:

https://www.staticboards.es/blog/marlin-instalacion-configuracion/

Aquí te explica todos los apartados de la configuración, solo añadiría que con las nuevas versiones que van saliendo, ahora hay un apartado nuevo por LCD para obtener los datos de la temperatura del extrusor (DEFAULT_Kp, DEFAULT_Ki y DEFAULT_Kd), no hace falta mandar comandos gcode por el pronterface. Para obtener esta nueva entrada en el LCD hay que descomentar esta linea:

#define PID_AUTOTUNE_MENU

Que en esta versión que uso ronda la linea 347 del fichero «configuration.h». Una vez obtenidos en esta nueva entrada (tarda un rato en obtenerlo), tomamos nota (en CONTROL->TEMPERATURE) y podemos añadirlos en la configuración, o bien guardarlos en la EEPROM (para usar esta opción hay que descomentar #define EEPROM_SETTINGS).

Calibración

Una buena guía para la calibración del extrusor y ver si se necesita más o menos plástico sería esta:

https://3dinvasion.com/blog/calibracion-de-pasos-del-motor-del-extrusor/

En resumen se trataría de poner una marca al filamento, hacer una extrusión de por ejemplo 10cm y hacer una regla de tres.

Se podría tambien hacer por software, por Slic3r por ejemplo cambiando «Extrusion multiplier» en «Filament settings». Aquí una buena guía:

Calibración del extrusor de nuestra impresora 3D

También hace falta calibrar X e Y, que se puede hacer en Slic3r «XY Size compensation» (Print Settings/Advanced) o en la configuración. O mejor en la configuración (DEFAULT_AXIS_STEPS_PER_UNIT):

  • Imprimimos un cubo de calibración de 20mm, por ejemplo:

https://www.thingiverse.com/thing:1278865

  • Medimos con el pie de rey y hacemos la regla de tres.

Si tenemos 200 steps en la X y ha salido de 21mm, entonces:

nuevo valos STEPS X = (200*20)/21

Por ejemplo:

DEFAULT_AXIS_STEPS_PER_UNIT { 190, 200, 800, 195 }

Instalar Slic3r para Repetier en Ubuntu

Lo primero es instalarlo en Ubuntu, directamente descargándolo de su web. Desde el repositorio no funciona.

https://dl.slic3r.org/linux/

Las rutas entonces que hay que poner en Repetier (pestaña slicer, botón Manager) sería para la configuración:

/home/USUARIO/.Slic3r

*Sustituyendo USUARIO por el usuario real

Y para el ejecutable:

/usr/bin/slic3r