Actualiser les champs d'attributs de bloc non mis à jour dans AutoCAD

Comment forcer la mise à jour des champs d’attributs d’un bloc AutoCAD qui ne s’actualisent pas automatiquement après insertion ou modification des attributs source, même après les commandes REGEN ou ATTSYNC ?

Le problème des champs d’attributs de bloc qui ne se mettent pas à jour automatiquement est une limitation connue dans certaines versions d’AutoCAD, y compris AutoCAD 2019. Les commandes classiques comme REGEN, ATTSYNC ou UPDATEFIELD ne suffisent souvent pas à forcer l’actualisation des champs imbriqués dans les attributs d’un bloc. Voici une méthode de contournement efficace, basée sur l’utilisation des blocs dynamiques :

Contexte du Problème :
Vous avez créé un bloc avec plusieurs attributs (ex: Signal1, nom_connecteur, numéro_câble) et un attribut final qui concatène les valeurs des précédents via des champs (ex: xxxx / XXXX (00)). Après insertion du bloc ou modification des attributs source, l’attribut contenant les champs ne se met pas à jour, affichant les valeurs par défaut ou obsolètes.

Solution : Utiliser un Paramètre Dynamique pour Forcer la Mise à Jour
Cette méthode consiste à transformer votre bloc en bloc dynamique et à utiliser un paramètre dynamique ‹ factice › pour déclencher la mise à jour des champs.

  1. Ouvrir l’Éditeur de Bloc :

    • Sélectionnez une instance de votre bloc dans le dessin.
    • Cliquez-droit et choisissez Éditeur de bloc (ou utilisez la commande BEDIT).
  2. Ajouter un Paramètre Dynamique ‹ Factice › :

    • Dans le ruban de l’Éditeur de bloc, sous l’onglet Paramètres, sélectionnez Paramètre de point.
    • Placez ce paramètre n’importe où dans votre bloc (il n’a pas besoin d’être associé à une action spécifique, il sert uniquement de déclencheur).
    • Assurez-vous que le paramètre est bien ajouté et visible dans la palette Propriétés du bloc dynamique.
  3. Enregistrer et Fermer l’Éditeur de Bloc :

    • Cliquez sur Fermer l'éditeur de bloc et enregistrez les modifications.
  4. Mettre à Jour les Instances de Bloc Existantes :

    • Sélectionnez toutes les instances de votre bloc dans le dessin (vous pouvez utiliser QSELECT ou SELECTSIMILAR).
    • Ouvrez la palette Propriétés (PROPERTIES ou Ctrl+1).
    • Localisez le paramètre de point que vous avez ajouté (ex: Position X ou Position Y du paramètre de point).
    • Modifiez légèrement sa valeur (par exemple, si la Position X est 0.0000, changez-la en 0.0001).
    • Exécutez la commande REGEN (ou REGENALL).
    • Les champs dans les attributs devraient maintenant s’actualiser avec les valeurs correctes.
    • Vous pouvez ensuite remettre la valeur du paramètre à son état initial (0.0000) si nécessaire, les champs resteront mis à jour.

Automatisation pour les Grandes Quantités :
Pour les projets avec un grand nombre de blocs, cette manipulation peut être automatisée via un script LISP ou un programme .NET qui parcourt les blocs, modifie temporairement la valeur du paramètre dynamique, puis exécute un REGEN. C’est la méthode qui a été validée par l’utilisateur initial pour son processus d’insertion de blocs via LISP.

Bien que cette solution soit un contournement, elle est très efficace pour résoudre le problème de mise à jour des champs dans les attributs de bloc.