Aller au contenu

Récupération de la description d'un calque


afipl
 Partager

Messages recommandés

Hello @afipl

1) Tu trouveras ci-joint une routine Lisp "LAYER_LEGEND_DESCR" qui dessine

-- N Lignes horizontales avec la couleur par defaut du Calque concerne

-- N Textes avec le Nom du Calque ET la Description du Calque

2) La routine permet de traiter soit TOUT le DWG, soit une selection classique ...

3) En esperant que cela te convienne !?

Bon Dimanche, La sante, Bye, lecrabe

PS: extraction de mon stock de 3001 routines ...

 

;; 
;; Routine: Layer_Legend_Descr by Ranjit.Singh for Patrice B.
;;
;; ATTENTION: No Error Trap/Detection, so please be careful !
;; 

(vl-load-com) 

(defun c:Layer_Legend_Descr  (/ pt rsp dat ln lst desln)
 (initget "All Select")
 (setq pt (getpoint "\nSelect Insertion Point: "))
 (initget "Select All")
 (setq rsp (getkword "\nSpecify Option [Select / All] <All>:"))
 (cond ((= rsp "Select")
        (mapcar '(lambda (x) (setq pt (func_2 pt x)))
                (progn (acad_strlsort (mapcar '(lambda (x) (and (null (member x lst)) (setq lst (cons x lst))))
                                              (mapcar '(lambda (x) (cdr (assoc 8 (entget x))))
                                                      (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget)))))))
                       lst)))
       (t (while (setq dat (tblnext "layer" (null dat))) (setq pt (func_2 pt (cdr (assoc 2 dat)))))))
 (princ)) 

(defun func_2  (pt ln / desln)
 (entmake (list '(0 . "line") (cons 10 pt) (cons 11 (mapcar '+ pt '(2.5 0))) (cons 8 ln)))
 (entmake (list '(0 . "text") (cons 10 (mapcar '+ pt '(3.0 0))) '(40 . 0.1) (cons 1 ln) (cons 8 ln)))
 (if (zerop (strlen (setq desln (getpropertyvalue (tblobjname "layer" ln) "Description"))))
  ()
  (entmake (list '(0 . "text") (cons 10 (mapcar '+ pt '(4.5 0))) '(40 . 0.1) (cons 1 desln) (cons 8 ln))))
 (mapcar '- pt '(0 0.15))
)

 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

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.

 Partager

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