Rémy Posté(e) le 17 juin Posté(e) le 17 juin Bonjour à tous, J'ai créé un bloc dynamique me permettant de calculer et afficher les côtes altimétriques canalisations arrivant dans un regard. Le bloc possède des attributs PROFONDEUR1, 2, 3, et 4. J'utilise un paramètre de visibilité afin d'afficher le nombre de ligne correspondant au nombre de tuyaux du regard, et je souhaite que par exemple si je choisisse d'afficher 2 lignes cela efface les valeurs qui seraient déjà renseignées dans les attributs PROFONDEUR3 et PROFONDEUR4 Je pensais utiliser la table des propriétés de bloc mais dans le cas de l'exemple cela efface aussi la valeur de l'attribut PROFONDEUR2. Il faudrait que pour les case en bleue ci-dessous, l'attribut garde sa valeur actuelle. Mais comment faire? Citer Autocad 2023 + Covadis 17.1 ZWCAD 2023 + GeoGexFR 3.0
lili2006 Posté(e) le 17 juin Posté(e) le 17 juin Bonjour à toutes et tous, ET en jouant sur la visibilité des attributs ? Citer Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Rémy Posté(e) le 17 juin Auteur Posté(e) le 17 juin Rendre visible ou invisible l'attribut n'est pas le problème. L'objectif est d'effacer la valeur pour qu'elle ne soit plus en mémoire dans le bloc si on vient à réafficher la ligne. Si ce n'est pas possible je vais plutôt créer plusieurs blocs avec les différentes configurations de ligne, et si on doit modifier le nombre de ligne un petit lisp de substitution de bloc fera l'affaire. Citer Autocad 2023 + Covadis 17.1 ZWCAD 2023 + GeoGexFR 3.0
Luna Posté(e) le 17 juin Posté(e) le 17 juin Coucou @Rémy, Le problème vient principalement du fait que les propriétés dynamiques sont séparées des attributs d'un bloc. En effet il est possible de gérer les valeurs d'attributs via une Table des Propriétés de bloc (cela ne permet de contrôler que les attributs) tandis qu'avec une Table de Consultation, il est possible de gérer les propriétés dynamiques. Mais, il ne me semble pas possible de lier une valeur d'attribut en fonction d'une propriété dynamique (par exemple si ton état de visibilité est "2 lignes" alors supprimer la valeur des attributs "PROFONDEUR3" et "PROFONDEUR4") via une table ou autre. Tu évoques la possibilité d'utiliser un LISP. Quitte à emprunter ce chemin je peux te proposer une solution alternative, qui, à chaque exécution d'une commande LISP faire : Sélection de l'ensemble des blocs dynamiques du dessin Si le nom de la référence de bloc (= EffectiveName) est égal à NomDéfinitionBloc (= mettre la bonne valeur pour ton cas), alors Récupération du nom de l'état de visibilité en cours, récupération de la liste des attributs de la référence de bloc et suppression des valeurs d'attribut en fonction de la visibilité Ainsi tu conserves une seule définition de bloc et tu n'as pas besoin de remplacer les références de bloc (changement d'ID d'objet, etc...) qui pourrait être gênant si mal intégré. Si tu as besoin d'aide sur l'élaboration d'un programme LISP quel qu’il soit, n'hésite pas 🙂 Bisous, Luna Citer
Rémy Posté(e) le 19 juin Auteur Posté(e) le 19 juin Merci @Luna pour cette explication, je pense bien que ce que je voulais faire ne sera pas possible sans utiliser de lisp. Quitte à utiliser un lisp je vais plutôt en faire un qui permet l'insertion du bloc, la saisie des données d'attribut, et la mise à jour du nombre de ligne si besoin. Je vais rester sur la création de plusieurs blocs pour chaque cas de nombre de lignes. C'est plus simple à gérer pour un poste qui n'aurait pas accès au lisp. Citer Autocad 2023 + Covadis 17.1 ZWCAD 2023 + GeoGexFR 3.0
Messages recommandés