Automatiser FeatureCAM : les étapes récurrentes dans un add-in

Fräser bei der Metallbearbeitung mit Funkenflug

FAO

Chaque nouvelle pièce commence par les mêmes clics : créer le brut, choisir le matériau, affecter les outils, régler les stratégies, éditer la fiche de réglage. Qui fait cela à la main pour chaque pièce perd du temps – et finit par oublier une étape. Un add-in décharge vos programmeurs FAO de cette routine.

Où passe le temps

Dans de nombreuses productions, le savoir-faire sur la préparation d'une pièce dans FeatureCAM se trouve dans la tête de quelques collaborateurs. Chacun a son propre ordre, ses propres consignes et ses propres raccourcis. Cela fonctionne jusqu'à ce que quelqu'un soit en congé ou qu'un nouveau collègue arrive. La même pièce prend alors deux fois plus de temps, ou le programme CN est différent de d'habitude.

Les candidats typiques à l'automatisation sont :

  • les réglages récurrents pour le brut, le matériau et la surépaisseur,
  • le choix des outils et des stratégies d'usinage selon des règles fixes,
  • les fiches de réglage et les procès-verbaux au format de votre atelier,
  • le transfert vers la simulation, la métrologie ou un système ERP,
  • les contrôles avant qu'un programme ne parte vers la machine.

Ce que FeatureCAM apporte

FeatureCAM, disponible aujourd'hui sous le nom « Autodesk Fusion with FeatureCAM », est extensible de base. L'aide d'Autodesk décrit les add-ins comme des scripts et applications externes qui étendent les fonctionnalités de FeatureCAM. Ils sont chargés dans l'onglet « Add-Ins » via « Manage », dans la boîte de dialogue « Macro Add-ins ». On y trouve aussi une bibliothèque de macros et d'exemples de programmation, par exemple pour des fiches de réglage personnalisées ou le transfert vers Vericut. Les macros sont lancées via « Run Basic Macro ».

FeatureCAM peut aussi être piloté au démarrage. Selon l'aide, l'option -b charge un add-in VB, -c exécute un script, et -m et -u chargent des paramètres de fabrication et d'interface à partir de fichiers INI. L'option -RegServer enregistre la bibliothèque de types de FeatureCAM, c'est-à-dire l'interface COM par laquelle les programmes .NET accèdent aussi au modèle objet.

De la macro à l'add-in

Pour une manipulation isolée, une macro suffit. Mais dès que plusieurs collaborateurs l'utilisent, qu'une interface propre est nécessaire ou que des données proviennent d'une base de données, un véritable add-in en C# devient rentable. Vous disposez alors d'une interface en WPF ou Windows Forms, d'une gestion propre des erreurs, d'un journal, d'une gestion de versions et de tests automatisés.

C'est exactement ainsi que nous travaillons depuis l'automne 2016 pour un client du domaine de la FAO : nous avons analysé ses add-ins FeatureCAM, les étendons et les maintenons, en développons de nouveaux et avons accompagné un nouveau produit jusqu'à sa mise sur le marché. Nous participons aussi au développement du logiciel de bijouterie Benzinger Creative, principalement sur la performance et l'ergonomie.

Comment nous construisons un add-in d'automatisation

Quatre principes ont fait leurs preuves. Premièrement : les consignes ont leur place dans un fichier, pas dans le code. Le responsable FAO modifie alors un matériau ou une surépaisseur sans que quiconque doive recompiler.

public sealed class Bearbeitungsvorgabe

{

    public string Werkstoff { get; set; }

    public double Aufmass { get; set; }

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

}



// Le savoir-faire de l'entreprise est dans un fichier, pas dans le code ni dans la tête

var json = File.ReadAllText(vorgabePfad);

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

Deuxièmement : l'automatisation est une chaîne d'étapes nommées. Chaque étape écrit dans le journal, et après la première erreur, la chaîne s'arrête au lieu de continuer avec des données erronées.

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)

    {

        // Après la première erreur, aucune autre étape n'est exécutée

        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;

}

Troisièmement : tous les accès à FeatureCAM se trouvent dans quelques classes adaptateurs. Les étapes elles-mêmes ne connaissent que vos propres classes. Si une nouvelle version de FeatureCAM modifie quelque chose dans l'interface, un seul endroit est concerné. Quatrièmement : après chaque mise à jour de FeatureCAM, l'add-in est exécuté une fois sur une série de pièces de référence, et les résultats sont comparés à l'état précédent.

Erreurs typiques

  • Les consignes sont codées en dur. Chaque modification nécessite un développeur.
  • Après une erreur, l'add-in continue tout simplement et génère un programme erroné.
  • Les appels à FeatureCAM sont dispersés dans tout le code. Chaque mise à jour devient une recherche.
  • Un outil externe se connecte au programme en cours d'exécution via Marshal.GetActiveObject. Cette méthode n'existe plus sous .NET 10.
  • Personne ne teste après la mise à jour. L'erreur n'apparaît qu'à la machine.

Comment nous vous aidons

  • Formation : notre formation « C# & .NET (avancés) » transmet les bases d'add-ins propres.
  • Atelier d'automatisation FeatureCAM : nous recensons vos étapes récurrentes et montrons lesquelles valent la peine d'être automatisées.
  • Projet : nous développons, étendons et maintenons vos add-ins FeatureCAM – ou reprenons ceux qui existent. Convenez d'un premier entretien.
  • Le livre : de nombreux sujets .NET valent aussi bien pour la CAO que pour la FAO. Ils sont traités en détail dans l'ouvrage spécialisé d'Ebi F. Eilber « AutoCAD .NET API », dont la parution est prévue en 2027.

Sources : aide Autodesk FeatureCAM (« Working with add-ins », « Command line options ») ; expérience de projet de Cadida Software GmbH

CONTACT

Sélectionnez votre langue

Premier entretienprendre rendez-vousPremier entretienprendre rendez-vous