SolidWorks: Automatiser la suppression des contraintes d'assemblage manquantes

Dans SolidWorks, mon bureau d’études génère des assemblages avec de nombreuses contraintes en erreur, souvent liées à des composants manquants. Je cherche à développer une macro VBA pour identifier et supprimer automatiquement ces contraintes problématiques, mais mon code initial ne fonctionne pas.

La suppression des contraintes d’assemblage en erreur, causées par des composants manquants, nécessite de configurer une option système et d’utiliser l’API pour cibler le code d’erreur spécifique.

  1. Activer l’option système : Dans SolidWorks, accédez aux Options Système > Assemblages et cochez la case « Traiter les références de contrainte manquantes comme des erreurs ». Cette configuration est essentielle pour que les contraintes liées à des composants supprimés soient correctement signalées avec le code d’erreur adéquat.
  2. Vérifier les composants manquants : Avant d’exécuter la macro, assurez-vous qu’aucun fichier composant n’est simplement introuvable par SolidWorks. Si des fichiers sont manquants (non supprimés), leurs contraintes remonteront également avec le code d’erreur 51. Résolvez ces chemins d’accès ou retrouvez les fichiers au préalable.
  3. Identifier le code d’erreur via l’API : Utilisez l’API SolidWorks pour parcourir les contraintes de l’assemblage. Le code d’erreur à cibler pour les contraintes dont les références sont manquantes est 51 (swSketchErrorExtRefFail).
  4. Exclure les dossiers de regroupement : Lors de l’analyse des contraintes, veillez à ne pas traiter directement les dossiers de regroupement (tels que « Contraintes par défaut », dossiers utilisateur ou de regroupement automatique) qui peuvent contenir les contraintes, mais plutôt leurs sous-fonctions individuelles.
  5. Supprimer les contraintes : Une fois une contrainte identifiée avec le code d’erreur 51, utilisez la méthode appropriée de l’API pour la supprimer.

Prévention : Éduquez les utilisateurs à toujours cocher l’option « Supprimer les fonctions enfants » lors de la suppression de composants dans un assemblage pour éviter la création de ces contraintes orphelines.

Alternative manuelle : Si l’option « Traiter les références de contrainte manquantes comme des erreurs » est décochée, SolidWorks regroupe les contraintes à composants manquants dans un dossier « (manquants) ». Il est alors possible de sélectionner et supprimer manuellement toutes les contraintes de ce dossier.