Automatizzare FeatureCAM: i passi ricorrenti come add-in

Fräser bei der Metallbearbeitung mit Funkenflug

CAM

Ogni nuovo pezzo inizia con gli stessi clic: creare il grezzo, scegliere il materiale, assegnare gli utensili, impostare le strategie, stampare il foglio di attrezzaggio. Chi lo fa a mano per ogni pezzo perde tempo – e prima o poi dimentica un passo. Un add-in toglie questa routine ai Suoi programmatori CAM.

Dove se ne va il tempo

In molte produzioni il sapere su come preparare un pezzo in FeatureCAM sta nella testa di pochi collaboratori. Ognuno ha il proprio ordine, le proprie impostazioni e le proprie scorciatoie. Funziona finché qualcuno è in ferie o arriva un nuovo collega. Allora lo stesso pezzo richiede il doppio del tempo, oppure il programma NC ha un aspetto diverso dal solito.

Candidati tipici per un'automazione sono:

  • impostazioni ricorrenti per grezzo, materiale e sovrametallo,
  • la scelta di utensili e strategie di lavorazione secondo regole fisse,
  • fogli di attrezzaggio e verbali nel formato della Sua officina,
  • il passaggio a simulazione, metrologia o a un sistema ERP,
  • i controlli prima che un programma vada in macchina.

Che cosa offre FeatureCAM

FeatureCAM, oggi disponibile come «Autodesk Fusion with FeatureCAM», è estendibile di serie. La guida di Autodesk descrive gli add-in come script e applicazioni esterni che ampliano le funzionalità di FeatureCAM. Vengono caricati nella scheda «Add-Ins» tramite «Manage» nella finestra di dialogo «Macro Add-ins». Lì è disponibile anche una libreria di macro ed esempi di programmazione, ad esempio per fogli di attrezzaggio personalizzati o per il passaggio a Vericut. Le macro si avviano tramite «Run Basic Macro».

FeatureCAM si può controllare anche all'avvio. Secondo la guida, l'opzione -b carica un add-in VB, -c esegue uno script, e -m e -u caricano impostazioni di produzione e di interfaccia da file INI. L'opzione -RegServer registra la libreria dei tipi di FeatureCAM, cioè l'interfaccia COM tramite la quale anche i programmi .NET accedono al modello a oggetti.

Dalla macro all'add-in

Per una singola operazione basta una macro. Ma non appena ci lavorano più collaboratori, serve un'interfaccia propria o i dati arrivano da un database, conviene un vero add-in in C#. Allora ha un'interfaccia con WPF o Windows Forms, una gestione degli errori pulita, un registro, il controllo di versione e test automatici.

Proprio così lavoriamo dall'autunno 2016 per un cliente del settore CAM: abbiamo analizzato i suoi add-in per FeatureCAM, li ampliamo e li manteniamo, ne sviluppiamo di nuovi e abbiamo accompagnato un nuovo prodotto fino alla maturità per il mercato. Collaboriamo anche allo sviluppo del software per gioielleria Benzinger Creative, lì soprattutto su prestazioni di calcolo e usabilità.

Come realizziamo un add-in di automazione

Quattro principi si sono dimostrati validi. Primo: le impostazioni vanno in un file, non nel codice. Così il responsabile CAM modifica un materiale o un sovrametallo senza che qualcuno debba ricompilare.

public sealed class Bearbeitungsvorgabe

{

    public string Werkstoff { get; set; }

    public double Aufmass { get; set; }

    public List<string> Werkzeuge { get; set; } = new List<string>();

}



// Il know-how aziendale sta in un file, non nel codice e non nella testa

var json = File.ReadAllText(vorgabePfad);

var vorgabe = JsonSerializer.Deserialize<Bearbeitungsvorgabe>(json);

Secondo: l'automazione è una catena di passi con un nome. Ogni passo scrive nel registro, e dopo il primo errore la catena si ferma invece di proseguire con dati errati.

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)

    {

        // Dopo il primo errore non viene eseguito nessun altro passo

        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;

}

Terzo: tutti gli accessi a FeatureCAM stanno in poche classi adattatore. I passi stessi conoscono solo le Sue classi. Se con una nuova versione di FeatureCAM cambia qualcosa nell'interfaccia, il punto interessato è uno solo. Quarto: dopo ogni aggiornamento di FeatureCAM l'add-in viene eseguito una volta su una serie di pezzi di riferimento, e i risultati vengono confrontati con lo stato precedente.

Errori tipici

  • Le impostazioni sono cablate nel codice. Ogni modifica richiede uno sviluppatore.
  • Dopo un errore l'add-in prosegue semplicemente e genera un programma errato.
  • Le chiamate a FeatureCAM sono sparse in tutto il codice. Ogni aggiornamento diventa una ricerca.
  • Uno strumento esterno si collega al programma in esecuzione tramite Marshal.GetActiveObject. Questo metodo in .NET 10 non esiste più.
  • Nessuno esegue test dopo l'aggiornamento. L'errore emerge solo in macchina.

Come La aiutiamo

  • Formazione: le basi per add-in ben fatti le trasmette il nostro corso «C# & .NET (avanzato)».
  • Workshop di automazione FeatureCAM: rileviamo i Suoi passi ricorrenti e mostriamo quali conviene automatizzare.
  • Progetto: sviluppiamo, ampliamo e manteniamo i Suoi add-in per FeatureCAM – o prendiamo in carico quelli esistenti. Fissi un primo colloquio.
  • Il libro: molti temi .NET valgono allo stesso modo per CAD e CAM. Sono descritti in dettaglio nel libro tecnico di Ebi F. Eilber «AutoCAD .NET API», la cui uscita è prevista per il 2027.

Fonti: guida di Autodesk FeatureCAM («Working with add-ins», «Command line options»); esperienza di progetto di Cadida Software GmbH

CONTACT

Seleziona la tua lingua

Primo colloquiofissare oraPrimo colloquiofissare ora