Aller au contenu

Changer étiquettes blocs en masse


Ernest

Messages recommandés

Bonjour,

 

Lorsque l'on construit un MNT avec Covadis, le programme ne reconnait les blocs points que si les attributs altitude ont pour étiquette ALT.

Comme je reçois occasionnellement des levés Allemand, les attributs ALT ont pour etiquette HOEHE.

Comment renommer à la volée toutes les étiquettes HOEHE en ALT sans passer par BATTMAN pour chaque bloc?

 

EDIT : Les points même avec l'attribut renommé ne sont pas reconnus comme points par Covadis.

C'est plus simple de faire une DATAEXTRACTION, de créer un fichier de points et de les reconstruire au final.

Lien vers le commentaire
Partager sur d’autres sites

Salut Ernest.

Tu peut aussi substituer les blocs pour qu'ils aient tous le même nom. Soit avec BLOCKREPLACE de l'Express tool, soit avec le lisp RBLOC de Patrick:

https://forums.autodesk.com/t5/autocad-tous-produits-francais/lisp-les-lisp-de-patrick-35/td-p/8884693

Une fois qu'ils ont tous le même nom, Purge, BATTMAN, et c'est réglé.

Lispeur éternel débutant!
Autocad Map3D 2023
Covadis-Autopist 18.2

Lien vers le commentaire
Partager sur d’autres sites

Permet de changer l'étiquette de l'attribut.

Commande à taper :

(foo "BlocName" "HOEHE" "ALT")

Programme

(defun foo (b ot nt / at b o ot nt r s x)
  (cond
    ((and (tblobjname "BLOCK" b) (setq s (ssget "_X" (list '(0 . "INSERT") (cons 2 b)))))
     ;; Gather ALL existing values
     (foreach e    (mapcar 'cadr (ssnamex s))
       (setq at (vlax-invoke (setq o (vlax-ename->vla-object e)) 'getattributes))
       (setq r (cons (list o (mapcar '(lambda (x) (vla-get-textstring x)) at)) r))
     )
     ;; Update block definition
     (vlax-for a (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) b)
       (if (and (= "AcDbAttributeDefinition" (vla-get-objectname a)) (= ot (vla-get-tagstring a)))
     (vla-put-tagstring a nt)
       )
     )
)))

A tester.

Lien vers le commentaire
Partager sur d’autres sites

Merci merci! N'en jetez plus! Que de solutions que je n'avais pas envisagé!

La solution d'Olivier est amusante, mais comme HOEHE apparait également ailleurs que dans le nom d'étiquette elle est plus compliquée à mettre en oeuvre.

Celle de Thierry réclame de le faire pour chaque bloc ce qui est un peu chronophage, car il y a une 20 aines de blocs points différents.

Par ailleurs je dois également changer BESCHRIFTUNG en MAT, ce que je n'avais pas précisé.

Bref, DATAEXTRACTION a été le plus rapide au final.

Merci encore à tous.

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité