Aller au contenu

Messages recommandés

Posté(e)

Bonjour à toutes et tous,

 

Je voulais tester ce Lisp et voici ce que me retourne AutoCAD =>

 

Commande: EXPORT-TEXT

Sélectionner les textes (ou Entrée pour "Tout").

Choix des objets: 1 trouvé(s)

Choix des objets:

; erreur: type d'argument incorrect: stringp nil

Commande:

 

Le Lisp =>

 

 (defun c:export-text (/ ss path sep file n elst lst typ jus vert ins)
(and
(princ
"\nSélectionner les textes (ou Entrée pour \"Tout\")."
)
(or (setq ss (ssget '((0 . "*TEXT,INSERT"))))
(setq ss (ssget "_X" '((0 . "*TEXT,INSERT"))))
)
(setq path (getfiled "Fichier d'exportation des textes"
(getvar "DWGPREFIX")
"*"
1
)
)
(or (and (= (strcase (vl-filename-extension path) T) ".xls")
(setq sep "\t")
)
(and (member (strcase (vl-filename-extension path) T)
'(".txt" ".csv")
)
(setq sep (getstring "\Entrez le séparateur: "))
)
)
(setq file (open path "w"))
;; En-tête =======================================;;
(write-line
(strcat "Compteur" sep "Type" sep "Calque" sep "Style" sep
"X" sep "Y" sep "Z" sep
"Justification" sep "Hauteur" sep "Rotation"
sep "Valeur"
)
file
)
;;================================================;;
(repeat (setq n (sslength ss))
(setq elst (entget (ssname ss (setq n (1- n)))))
(if (= (cdr (assoc 0 elst)) "INSERT")
(if (and (= (cdr (assoc 66 elst)) 1)
(setq att (entnext (cdr (assoc -1 elst))))
)
(while (= (cdr (assoc 0 (entget att))) "ATTRIB")
(setq lst (cons (entget att) lst)
att (entnext att)
)
)
)
(setq lst (cons elst lst))
)
)
(mapcar
(function
(lambda (elst)
(setq typ (cdr (assoc 0 elst))
vert (cond
((= typ "TEXT") 73)
((= typ "ATTRIB") 74)
)
)
(cond
((member typ '("TEXT" "ATTRIB"))
(setq jus (cond
((= (cdr (assoc vert elst)) 3) "H")
((= (cdr (assoc vert elst)) 2) "M")
((= (cdr (assoc vert elst)) 1) "B")
(T "")
)
jus (cond
((= (cdr (assoc 72 elst)) 0) (strcat jus "G"))
((= (cdr (assoc 72 elst)) 1) (strcat jus "C"))
((= (cdr (assoc 72 elst)) 2) (strcat jus "D"))
((= (cdr (assoc 72 elst)) 3) (strcat jus "A"))
((= (cdr (assoc 72 elst)) 4) (strcat jus "M"))
(T (strcat jus "P"))
)
ins (if (= jus "G")
(trans (cdr (assoc 10 elst)) (cdr (assoc 210 elst)) 0)
(trans (cdr (assoc 11 elst)) (cdr (assoc 210 elst)) 0)
)
)
)
((= typ "MTEXT")
(setq jus (cond
(((((T "B")
)
jus (cond
((member (cdr (assoc 71 elst)) '(1 4 7)) (strcat jus "G"))
((member (cdr (assoc 71 elst)) '(2 5 8)) (strcat jus "C"))
(T (strcat jus "D"))
)
ins (cdr (assoc 10 elst))
)
)
(T
(setq jus "G"
ins (cdr (assoc 10 elst))
)
)
)
(write-line
(strcat (itoa (setq n (1+ n)))
sep
(cdr (assoc 0 elst))
sep
(cdr (assoc 8 elst))
sep
(cdr (assoc 7 elst))
sep
(rtos (car ins))
sep
(rtos (cadr ins))
sep
(rtos (caddr ins))
sep
jus
sep
(rtos (cdr (assoc 40 elst)))
sep
(angtos (cdr (assoc 50 elst)))
sep
(cdr (assoc 1 elst))
)
file
)
)
)
lst
)
(close file)
)
(princ)
) 

 

Désolé, là non plus je ne sais pas qui est l'auteur,...

 

Une idée ?

 

 

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

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é