CAM
Cada pieza nueva empieza con los mismos clics: crear el bruto, elegir el material, asignar las herramientas, configurar las estrategias, generar la hoja de preparación. Quien hace esto a mano con cada pieza pierde tiempo y, tarde o temprano, olvida un paso. Un add-in libera a sus programadores CAM de esta rutina.
Dónde se va el tiempo
En muchas fábricas, el conocimiento de cómo se prepara una pieza en FeatureCAM está en la cabeza de unos pocos empleados. Cada uno tiene su propio orden, sus propias especificaciones y sus propios atajos. Esto funciona hasta que alguien está de vacaciones o empieza un compañero nuevo. Entonces, la misma pieza tarda el doble, o el programa CN tiene un aspecto distinto del habitual.
Candidatos típicos para la automatización son:
- los ajustes recurrentes de bruto, material y sobreespesor,
- la selección de herramientas y estrategias de mecanizado según reglas fijas,
- las hojas de preparación y los protocolos en el formato de su taller,
- la transferencia a la simulación, a la metrología o a un sistema ERP,
- las comprobaciones antes de que un programa llegue a la máquina.
Lo que ofrece FeatureCAM
FeatureCAM, disponible hoy como «Autodesk Fusion with FeatureCAM», es ampliable de serie. La ayuda de Autodesk describe los add-ins como scripts y aplicaciones externos que amplían las funciones de FeatureCAM. Se cargan en la pestaña «Add-Ins», mediante «Manage», en el diálogo «Macro Add-ins». Allí hay también una biblioteca con macros y ejemplos de programación, por ejemplo para hojas de preparación propias o para la transferencia a Vericut. Las macros se inician con «Run Basic Macro».
FeatureCAM también se puede controlar al arrancar. Según la ayuda, la opción -b carga un add-in de VB, -c ejecuta un script, y -m y -u cargan ajustes de fabricación y de interfaz desde archivos INI. La opción -RegServer registra la biblioteca de tipos de FeatureCAM, es decir, la interfaz COM a través de la cual también los programas .NET acceden al modelo de objetos.
De la macro al add-in
Para una sola operación basta una macro. Pero en cuanto varios empleados trabajan con ella, se necesita una interfaz propia o los datos proceden de una base de datos, merece la pena un add-in de verdad en C#. Entonces dispone de una interfaz con WPF o Windows Forms, un tratamiento de errores limpio, un protocolo, control de versiones y pruebas automáticas.
Así es exactamente como trabajamos desde el otoño de 2016 para un cliente del entorno CAM: analizamos sus add-ins de FeatureCAM, los ampliamos y los mantenemos, desarrollamos otros nuevos y hemos acompañado un nuevo producto hasta su lanzamiento al mercado. También participamos en el desarrollo del software de joyería Benzinger Creative, sobre todo en el rendimiento y el manejo.
Cómo construimos un add-in de automatización
Cuatro principios han demostrado su eficacia. Primero: las especificaciones van en un archivo, no en el código. Así, el responsable de CAM cambia un material o un sobreespesor sin que nadie tenga que volver a compilar.
public sealed class Bearbeitungsvorgabe
{
public string Werkstoff { get; set; }
public double Aufmass { get; set; }
public List<string> Werkzeuge { get; set; } = new List<string>();
}
// El conocimiento de la empresa está en un archivo, no en el código ni en la cabeza
var json = File.ReadAllText(vorgabePfad);
var vorgabe = JsonSerializer.Deserialize<Bearbeitungsvorgabe>(json);
Segundo: la automatización es una cadena de pasos con nombre. Cada paso escribe en el protocolo y, tras el primer error, la cadena se detiene en lugar de seguir con datos erróneos.
public interface IArbeitsschritt
{
string Name { get; }
void Führe(Auftrag auftrag);
}
public bool FühreAlle(IEnumerable<IArbeitsschritt> schritte, Auftrag auftrag)
{
var erfolgreich = true;
foreach (var schritt in schritte)
{
// Tras el primer error no se ejecuta ningún paso más
if (erfolgreich)
{
try
{
schritt.Führe(auftrag);
_protokoll.Schreibe($"{schritt.Name}: erledigt");
}
catch (Exception fehler)
{
_protokoll.Schreibe($"{schritt.Name}: {fehler.Message}");
erfolgreich = false;
}
}
}
return erfolgreich;
}
Tercero: todos los accesos a FeatureCAM están en unas pocas clases adaptadoras. Los pasos en sí solo conocen sus propias clases. Si con una nueva versión de FeatureCAM cambia algo en la interfaz, solo se ve afectado un único punto. Cuarto: tras cada actualización de FeatureCAM, el add-in se ejecuta una vez sobre una serie de piezas de referencia y los resultados se comparan con el estado anterior.
Errores típicos
- Las especificaciones están fijadas en el código. Cada cambio necesita un desarrollador.
- El add-in continúa sin más tras un error y genera un programa erróneo.
- Las llamadas a FeatureCAM están dispersas por todo el código. Cada actualización se convierte en una búsqueda.
- Una herramienta externa se conecta al programa en ejecución mediante
Marshal.GetActiveObject. Este método ya no existe en .NET 10. - Nadie prueba tras la actualización. El error se detecta en la máquina.
Cómo le ayudamos
- Formación: nuestra formación «C# & .NET (avanzado)» transmite los fundamentos para crear add-ins limpios.
- Taller de automatización de FeatureCAM: registramos sus pasos recurrentes y le mostramos cuáles merece la pena automatizar.
- Proyecto: desarrollamos, ampliamos y mantenemos sus add-ins de FeatureCAM, o nos hacemos cargo de los existentes. Concierte una primera conversación.
- El libro: muchos temas de .NET son válidos por igual para CAD y CAM. Se explican en detalle en el libro técnico de Ebi F. Eilber «AutoCAD .NET API», cuya publicación está prevista para 2027.
Fuentes: ayuda de Autodesk FeatureCAM («Working with add-ins», «Command line options»); experiencia en proyectos de Cadida Software GmbH
