Aller au contenu

Lier - Solidariser etiquettes de blocs


Messages recommandés

Posté(e)

Bonjour à tous,

 

j'ai une question au sujet des fameuses étiquettes de blocs. J'ai 3 étiquettes d'attributs que je souhaite lier entre elles, c'est à dire soit créer un élement qui groupe les 3 champs ou les lier entre eux de sorte que lorsque je deplace une etiquette les autres suivent aussi....

 

Il y a t il aussi à votre connaissance un moyen de modifier le même attribut de plusieurs blocs à l'aide de la fenetre des propriétés, pour par exemple, modifier / ajouter un prefixe ou suffixe. En procédant avec la fenetre de propriétés, je me retrouve avec "prefixe*VARIE*" 😞

 

Bon week end a tous 🙂

 

Windows 10

Autocad Map 3D 2022/Covadis 17

QGIS 3.10 et +

Posté(e)

Hello

Veux tu un Lisp pour ajouter Prefixe / Suffixe sur 1 attribut précis et sur N blocs sélectionnés ?

Si OUI voir le Lisp "Attr_TAG_Prefix_Suffix" ci-apres ...

Bon WE, La Sante, Bye, lecrabe 

PS: routine tiree de mon stock de 3001 routines ...

 

 
;; 
;; https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/add-prefix-suffix-to-specific-attirbute/td-p/5384349
;; 
;; Routine: Attr_TAG_Prefix_Suffix by hmsilva - Based on a Lee-Mac Routine 
;; 
;; Micro-Modif par Patrice B. - Demande du Nom EXACT de l Attribut : attr_tag
;;                  ATTENTION : le Nom de l Attribut est sensible A LA CASSE ! 
;; 

(defun c:Attr_TAG_Prefix_Suffix (/ as el en i ss str typ attr_tag) 

; (setq attr_tag "T-S")  ;; Attribute Tag Name : Please modify here ! 

  (setq attr_tag (getstring (strcat "\ATTENTION: NO Error Management - So please the EXACT Name ! \nEXACT Name of the Attribute Tag (ATTDEF) ? : "))) 

  (initget "Prefix Suffix")
  (setq typ (cond ((getkword "\nAdd Prefix or Suffix? [Prefix/Suffix] <Prefix> : "))
                  ("Prefix")
            )
  ) 

  (setq str (getstring t (strcat typ " to Add: "))) 

  (if (setq ss (ssget '((0 . "INSERT") (66 . 1))))
    (repeat (setq i (sslength ss))
      (setq en (ssname ss (setq i (1- i))))
      (while (eq "ATTRIB" (cdr (assoc 0 (setq el (entget (setq en (entnext en)))))))
        (setq as (cdr (assoc 1 el))) 

        ( if (= (setq tg (cdr (assoc 2 el))) attr_tag )  ;; ATTR_TAG

          (if (eq "Prefix" typ)
            (if (not (wcmatch as (strcat str "*")))
              (entmod (subst (cons 1 (strcat str as)) (assoc 1 el) el))
            )
            (if (not (wcmatch as (strcat "*" str)))
              (entmod (subst (cons 1 (strcat as str)) (assoc 1 el) el))
            )
          )
        )
      )
    )
  ) 

  (princ) 
)  

 

  • Like 1

Autodesk Expert Elite Team

Posté(e)

Bonjour et merci @lecrabe 🙂

Idéalement, je souhaiterais bien avoir 3 attributs plutôt qu'un, auquel j'ajouterai un préfixe et suffixe.

Sauf que l'inconvénient c'est de se retrouver avec 3 étiquettes à gérer indépendamment

qui ne seront pas alignées horizontalement apres les déplacements

J'ai essayé la fonction "grouper" au sein du bloc qui fonctionne, mais apres mis à jour du bloc, les attributs ne sont plus liés. (?)

Si ca ne peut pas se faire, tant pis, j'utiliserai ton Lisp qui me fera quand même gagner du temps 🙂

Encore merci de ton retour !

 

Windows 10

Autocad Map 3D 2022/Covadis 17

QGIS 3.10 et +

Posté(e)

Dans l'éditeur de bloc, tu verrouilles la position des 3 attributs, puis tu ajoutes un paramètre POINT auquel tu associes une action DEPLACER en sélectionnant les 3 attributs.

Comme ça tu n'as plus qu'un seul grip pour déplacer les 3 attributs en même temps en conservant leur décalage relatif constant.

 

Olivier

  • Like 1
Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é