Suite à une question sur le forum autodesk
Bonjour à toutes et à tous,
Bonjour à toutes et à tous,
Je m’étais créé un bloc dynamique “renvoi” (ci-joint) avec plusieurs visibilités, avec sur chaque visibilité, 2 attributs : RENVOI et TENSION. Sauf qu’avec cette méthode, dés que je change de visibilité, je dois retaper les valeurs d’attributs.
https://forums.autodesk.com/t5/autocad-tous-produits-forum/bloc-dynamique-recuperer-attribut-dans-un-champ/m-p/13744405#M48922
Dans l’utilisation des blocs avec attributs sans développement, il n’est pas simple d’obtenir ce comportement de manière simple et fiable.
Ci-joint un LISP compilé qui permet de lier dynamiquement des attributs dans un bloc. Il recherche les valeurs encodées sous la forme £NOM_ATTRIBUT£ dans les attributs du bloc. Si un attribut correspondant nommé NOM_ATTRIBUT existe, alors un champ dynamique est inséré à sa place. Cela permet de refléter automatiquement les modifications du champ source dans le champ cible.
Étape 1 : Créer le bloc de base avec attribut(s). J’ai ajouté deux attributs à votre bloc :
- TENSION_SAISIE (avoir une valeur par défaut possible sur un champ avec les propriétés personnalisées du dessin)
- RENVOI_FOLIO_SAISIE (dans votre cas, il sera toujours à saisir ; mettre une valeur par défaut à saisir, par exemple)
Mettez la propriété par défaut en invisible pour ces attributs, ils n’ont pas à apparaître dans le dessin. Dans votre cas, deux attributs sont prévus pour la saisie. Ensuite, créez les attributs qui serviront à l’affichage et positionnez-les comme vous le désirez. Mettez £TENSION_SAISIE£ ou £RENVOI_FOLIO_SAISIE£ comme valeur par défaut.
Étape 2 : Insérez le bloc, saisissez les bonnes valeurs, puis exécutez la commande Edps_LienAutoAttributs en sélectionnant le bloc inséré.