Aller au contenu

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


afipl

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...

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é