Aller au contenu

légende sur autocad 2006


infinity_usb

Messages recommandés

  • 2 ans après...

Bonjour, je relance le sujet.

 

J'aimerais moi aussi pouvoir créer une légende avec des lignes de différente couleurs ou différent type.

 

J'ai par exemple un dessin "revêtement de chaussée" dans lequel mes différent revêtements sont dessinés (un par calque), est-il possible de faire une légende automatique avec le nom de chaque calque en face d'une ligne en couleur Ducalque?

En gros dès que je crée un calque avec un nouveau revêtement, je lance la commande et hop, une ligne de plus dans ma légende.

 

Avis aux lispeurs fous, merci de m'apporter votre aide :)

 

Cordialement

Lien vers le commentaire
Partager sur d’autres sites

Il existe un lisp PPLAN qui permet de créer un tableau avec la liste des calques présents dans ton fichier et autres, tu verras ça.

 

Ce dernier n'est pas de moi, je tiens à le préciser et est pas mal du tout. Un grand merci à son créateur.

 

@ +

 


; PPLAN.LSP

; ***************************************
; Création d'un tableau contenant les
; paramètres des plans ou calques
; ****************************************

(defun c:pplan ()

(setvar "cmdecho" 0)
(setq der_plan (getvar "clayer"))
(setq der_cl (getvar "cecolor"))
(setq der_txt (getvar "textstyle"))
(setq der_blip (getvar "blipmode"))

; coorige un bug AutoCAD où sur certaine version
; le terme DUPLAN avait été remplacé par "BYLAYER".

(setq der_tl (getvar "celtype"))
(if (= der_tl "BYLAYER")
(setq der_tl "DUPLAN")
)

; supprime les marques

(setvar "blipmode" 0)

; Crée le plan PPLAN et le met courant

(command "_Layer" "_m" "PPLAN" "")

; On se met sur le type de ligne CONTINUOUS
(command "_linetype" "_s" "CONTINUOUS" "") 

; On définit la couleur DUPLAN (A12) ou DUCALQUE (A13)


(if (= (substr (getvar "acadver") 1 2) "12")
(command "_color" "DUPLAN")
(command "_color" "DUCALQUE")
) 


; Determine si style de texte PPLAN existe
; on utilise la police MONOTXT pour avoir
; des caractères non proportionnels

(if (= (tblsearch "STYLE" "PPLAN") nil)
(command "_style" "PPLAN" "MONOTXT" 0 "" "" "" "" "")
)


; On efface le tableau s'il existe

(setq eff_plan (ssget "x" (list (cons 8 "PPLAN"))))


(if (/= eff_plan nil)
(command "_erase" eff_plan "")
)


; On demande où démarre le cadre qui délimite les informations
; ainsi que la hauteur du texte à écrire

(setq pt_plan (getpoint "\nPosition écriture paramètres plans (Coin haut droit): "))
(setq htxt (getdist "\nHauteur du texte: " pt_plan))

; On calcule les points de départ du cadre puis
; on trace la lige haute

(setq lg_pt1 (polar pt_plan (* 0.5 pi) (* 1.65 htxt)))
(setq lg_pt2 (polar lg_pt1 0 (+ (* 60 htxt) (* 10 htxt))))

(setq lg_pt1 (polar lg_pt1 pi (* 1.65 htxt)))
(setq lg_pt2 (polar lg_pt2 0 (* 1.65 htxt)))

(command "_line" lg_pt1 lg_pt2 "")

; On écrit la définition des colonnes

(command "_text" pt_plan htxt 0 "Nom du plan")
(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "Etat")
(command "_text" (polar pt_plan 0 (* 50 htxt)) htxt 0 "Couleur")
(command "_text" (polar pt_plan 0 (* 60 htxt)) htxt 0 "Type ligne")

(command "_line" 	(polar lg_pt1 (* 1.5 pi) (* 3.0 htxt)) (polar lg_pt2 (* 1.5 pi) (* 3.0 htxt)) "")
(setq lg_pt3 (polar lg_pt1 (* 1.5 pi) (* 3.0 htxt)))
(setq lg_pt4 (polar lg_pt2 (* 1.5 pi) (* 3.0 htxt)))

(setq pt_plan (polar pt_plan (* 1.5 pi) (* 3.3 htxt)))

; On se positionne sur le premier nom de plan qui est défini

(setq x_plan (tblnext "layer" T))

; On boucle pour passer un à un tous les plans

(while (/= x_plan nil)

(setq nom_plan (cdr (assoc 2 x_plan)))
(setq coul_plan (cdr (assoc 62 x_plan)))
(setq tl_plan (cdr (assoc 6 x_plan)))
(setq c70_plan (cdr (assoc 70 x_plan)))

; si le plan existe alors on détermine son état
; on va vers le sous programme ECRIT_PLAN

(if (/= x_plan nil)
(progn
(ecrit_plan)
(setq lg_pt3 (polar lg_pt3 (* 1.5 pi) (* 1.65 htxt)))
(setq lg_pt4 (polar lg_pt4 (* 1.5 pi) (* 1.65 htxt)))
)
)


(setq x_plan (tblnext "layer"))


) ; fin du while

; On calcule les coordonnées de la ligne basse
; puis on trace tout le cadre

(setq lg_pt3 (polar lg_pt3 (* 1.5 pi) (* 1.65 htxt)))
(setq lg_pt4 (polar lg_pt4 (* 1.5 pi) (* 1.65 htxt)))
(command "_line" 	lg_pt3 lg_pt4 "")
(command "_line" lg_pt1 lg_pt3 "")
(command "_line" (polar lg_pt1 0 (* 40 htxt)) (polar lg_pt3 0 (* 40 htxt))"")
(command "_line" (polar lg_pt1 0 (* 50 htxt)) (polar lg_pt3 0 (* 50 htxt))"")
(command "_line" (polar lg_pt1 0 (* 60 htxt)) (polar lg_pt3 0 (* 60 htxt))"")
(command "_line" lg_pt2 lg_pt4 "")

; On rétablit les paramètres d'origines

(command "_Layer" "_m" der_plan "")
(command "_linetype" "_s" der_tl "")
(command "_color" der_cl)
(command "_text" "_st" der_txt command)
(setvar "blipmode" der_blip)


(alert "Fin du traitement...")

(princ)

) 

; =====================
; Sousprogramme 
; Ecriture des paramètres
; =====================

(defun ecrit_plan ()

(setq actif T)

; On écrit le nom du plan

(command "_text" pt_plan htxt 0 nom_plan)

; On définit la couleur. Si la couleur est standard
; (valeur entre 1 et 7) on écrit le nom de la couleur
; sinon son code

(if (< coul_plan 0)
(setq actif nil coul_plan (abs coul_plan))
)

(cond 

((= coul_plan 1)
(setq couleur "Rouge")
)
((= coul_plan 2)
(setq couleur "Jaune")
)
((= coul_plan 3)
(setq couleur "Vert")
)
((= coul_plan 4)
(setq couleur "Cyan")
)
((= coul_plan 5)
(setq couleur "Bleu")
)
((= coul_plan 6)
(setq couleur "Magenta")
)
((= coul_plan 7)
(setq couleur "Blanc")
)	
((setq couleur (itoa coul_plan))
)
)

(command "_text" (polar pt_plan 0 (* 50 htxt)) htxt 0 couleur)

; On écrit le type de ligne

(command "_text" (polar pt_plan 0 (* 60 htxt)) htxt 0 tl_plan)

; On déternine l'état du plan

(cond

((= c70_plan 0)
	(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC . . .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "IN . . .")
	)
)
((= c70_plan 1)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC G . .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G . .")
	)
)
((= c70_plan 2)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC . . N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN . . N")
	)
)

((= c70_plan 3)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "AC G . N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G . N")
	)
)

((= c70_plan 4)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC . V .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "IN . V .")
	)
)

((= c70_plan 5)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC G V .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G V . ")
	)
)

((= c70_plan 6)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "AC . V N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN . V N")
	)
)

((= c70_plan 7)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC G V N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G V N")
	)
)





((= c70_plan 64)
	(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "AC . . .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN")
	)
)
((= c70_plan 65)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . .")
	)
)
((= c70_plan 66)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . . N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . . N")
	)
)

((= c70_plan 67)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . N")
	)
)

((= c70_plan 68)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . V .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V .")
	)
)

((= c70_plan 69)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V .")
	)
)

((= c70_plan 70)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . V N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V N")
	)
)

((= c70_plan 71)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V N")
	)
)


((= c70_plan 48)
	(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC . . .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "IN . . .")
	)
)
((= c70_plan 49)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC G . .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G . .")
	)
)
((= c70_plan 50)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC . . N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN . . N")
	)
)

((= c70_plan 51)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "AC G . N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G . N")
	)
)

((= c70_plan 52)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC . .V .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "IN . V .")
	)
)

((= c70_plan 53)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC G V .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G V .")
	)
)

((= c70_plan 54)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "AC . V N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN . V N")
	)
)

((= c70_plan 55)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC G V N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G V N")
	)
)

);cond

(setq pt_plan (polar pt_plan (* 1.5 pi) (* 1.65 htxt)))

) ; Fin du sous programme

(princ "\n==> PPLAN")
(princ)

 

 

Lien vers le commentaire
Partager sur d’autres sites

Merci pour cette lisp, malheureusement, elle bug chez moi, lorsque je lance la commande, je dois cliquer un point (point haut droit demandé), puis spécifier une hauteur de texte, après cela, un tableau avec des milliers de lettres toute superposées sur les même lignes ( et donc illisible) apparaît, puis l'outil de création de texte se lance. Tout cela dans un nouveai calque "PPLAN", une idée?

Lien vers le commentaire
Partager sur d’autres sites

Etrange...

 

Je vous le retransmets :

 



; PPLAN.LSP

; ***************************************
; Création d'un tableau contenant les
; paramètres des plans ou calques
; ****************************************

(defun c:pplan ()

(setvar "cmdecho" 0)
(setq der_plan (getvar "clayer"))
(setq der_cl (getvar "cecolor"))
(setq der_txt (getvar "textstyle"))
(setq der_blip (getvar "blipmode"))

; corrige un bug AutoCAD où sur certaine version
; le terme DUPLAN avait été remplacé par "BYLAYER".

(setq der_tl (getvar "celtype"))
(if (= der_tl "BYLAYER")
(setq der_tl "DUPLAN")
)

; supprime les marques

(setvar "blipmode" 0)

; Crée le plan PPLAN et le met courant

(command "_Layer" "_m" "PPLAN" "")

; On se met sur le type de ligne CONTINUOUS
(command "_linetype" "_s" "CONTINUOUS" "") 

; On définit la couleur DUPLAN (A12) ou DUCALQUE (A13)


(if (= (substr (getvar "acadver") 1 2) "12")
(command "_color" "DUPLAN")
(command "_color" "DUCALQUE")
) 


; Determine si style de texte PPLAN existe
; on utilise la police ARIAL pour avoir
; des caractères non proportionnels

(if (= (tblsearch "STYLE" "PPLAN") nil)
(command "_style" "PPLAN" "ARIAL" 0 "" "" "" "" "")
)


; On efface le tableau s'il existe

(setq eff_plan (ssget "x" (list (cons 8 "PPLAN"))))


(if (/= eff_plan nil)
(command "_erase" eff_plan "")
)


; On demande où démarre le cadre qui délimite les informations
; ainsi que la hauteur du texte à écrire

(setq pt_plan (getpoint "\nPosition écriture paramètres plans (Coin haut droit): "))
(setq htxt (getdist "\nHauteur du texte: " pt_plan))

; On calcule les points de départ du cadre puis
; on trace la lige haute

(setq lg_pt1 (polar pt_plan (* 0.5 pi) (* 1.65 htxt)))
(setq lg_pt2 (polar lg_pt1 0 (+ (* 60 htxt) (* 10 htxt))))

(setq lg_pt1 (polar lg_pt1 pi (* 1.65 htxt)))
(setq lg_pt2 (polar lg_pt2 0 (* 1.65 htxt)))

(command "_line" lg_pt1 lg_pt2 "")

; On écrit la définition des colonnes

(command "_text" pt_plan htxt 0 "Nom du plan")
(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "Etat")
(command "_text" (polar pt_plan 0 (* 50 htxt)) htxt 0 "Couleur")
(command "_text" (polar pt_plan 0 (* 60 htxt)) htxt 0 "Type ligne")

(command "_line" 	(polar lg_pt1 (* 1.5 pi) (* 3.0 htxt)) (polar lg_pt2 (* 1.5 pi) (* 3.0 htxt)) "")
(setq lg_pt3 (polar lg_pt1 (* 1.5 pi) (* 3.0 htxt)))
(setq lg_pt4 (polar lg_pt2 (* 1.5 pi) (* 3.0 htxt)))

(setq pt_plan (polar pt_plan (* 1.5 pi) (* 3.3 htxt)))

; On se positionne sur le premier nom de plan qui est défini

(setq x_plan (tblnext "layer" T))

; On boucle pour passer un à un tous les plans

(while (/= x_plan nil)

(setq nom_plan (cdr (assoc 2 x_plan)))
(setq coul_plan (cdr (assoc 62 x_plan)))
(setq tl_plan (cdr (assoc 6 x_plan)))
(setq c70_plan (cdr (assoc 70 x_plan)))

; si le plan existe alors on détermine son état
; on va vers le sous programme ECRIT_PLAN

(if (/= x_plan nil)
(progn
(ecrit_plan)
(setq lg_pt3 (polar lg_pt3 (* 1.5 pi) (* 1.65 htxt)))
(setq lg_pt4 (polar lg_pt4 (* 1.5 pi) (* 1.65 htxt)))
)
)


(setq x_plan (tblnext "layer"))


) ; fin du while

; On calcule les coordonnées de la ligne basse
; puis on trace tout le cadre

(setq lg_pt3 (polar lg_pt3 (* 1.5 pi) (* 1.65 htxt)))
(setq lg_pt4 (polar lg_pt4 (* 1.5 pi) (* 1.65 htxt)))
(command "_line" 	lg_pt3 lg_pt4 "")
(command "_line" lg_pt1 lg_pt3 "")
(command "_line" (polar lg_pt1 0 (* 40 htxt)) (polar lg_pt3 0 (* 40 htxt))"")
(command "_line" (polar lg_pt1 0 (* 50 htxt)) (polar lg_pt3 0 (* 50 htxt))"")
(command "_line" (polar lg_pt1 0 (* 60 htxt)) (polar lg_pt3 0 (* 60 htxt))"")
(command "_line" lg_pt2 lg_pt4 "")

; On rétablit les paramètres d'origines

(command "_Layer" "_m" der_plan "")
(command "_linetype" "_s" der_tl "")
(command "_color" der_cl)
(command "_text" "_st" der_txt command)
(setvar "blipmode" der_blip)


(alert "Fin du traitement...")

(princ)

) 

; =====================
; Sousprogramme 
; Ecriture des paramètres
; =====================

(defun ecrit_plan ()

(setq actif T)

; On écrit le nom du plan

(command "_text" pt_plan htxt 0 nom_plan)

; On définit la couleur. Si la couleur est standard
; (valeur entre 1 et 7) on écrit le nom de la couleur
; sinon son code

(if (< coul_plan 0)
(setq actif nil coul_plan (abs coul_plan))
)

(cond 

((= coul_plan 1)
(setq couleur "Rouge")
)
((= coul_plan 2)
(setq couleur "Jaune")
)
((= coul_plan 3)
(setq couleur "Vert")
)
((= coul_plan 4)
(setq couleur "Cyan")
)
((= coul_plan 5)
(setq couleur "Bleu")
)
((= coul_plan 6)
(setq couleur "Magenta")
)
((= coul_plan 7)
(setq couleur "Blanc")
)	
((setq couleur (itoa coul_plan))
)
)

(command "_text" (polar pt_plan 0 (* 50 htxt)) htxt 0 couleur)

; On écrit le type de ligne

(command "_text" (polar pt_plan 0 (* 60 htxt)) htxt 0 tl_plan)

; On déternine l'état du plan

(cond

((= c70_plan 0)
	(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC . . .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "IN . . .")
	)
)
((= c70_plan 1)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC G . .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G . .")
	)
)
((= c70_plan 2)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC . . N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN . . N")
	)
)

((= c70_plan 3)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "AC G . N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G . N")
	)
)

((= c70_plan 4)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC . V .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "IN . V .")
	)
)

((= c70_plan 5)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC G V .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G V . ")
	)
)

((= c70_plan 6)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "AC . V N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN . V N")
	)
)

((= c70_plan 7)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC G V N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G V N")
	)
)





((= c70_plan 64)
	(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "AC . . .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN")
	)
)
((= c70_plan 65)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . .")
	)
)
((= c70_plan 66)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . . N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . . N")
	)
)

((= c70_plan 67)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . N")
	)
)

((= c70_plan 68)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . V .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V .")
	)
)

((= c70_plan 69)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V .")
	)
)

((= c70_plan 70)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . V N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V N")
	)
)

((= c70_plan 71)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V N")
	)
)


((= c70_plan 48)
	(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC . . .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "IN . . .")
	)
)
((= c70_plan 49)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC G . .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G . .")
	)
)
((= c70_plan 50)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC . . N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN . . N")
	)
)

((= c70_plan 51)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "AC G . N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G . N")
	)
)

((= c70_plan 52)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC . .V .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "IN . V .")
	)
)

((= c70_plan 53)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC G V .")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G V .")
	)
)

((= c70_plan 54)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "AC . V N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN . V N")
	)
)

((= c70_plan 55)
(if (/= actif nil)
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt  0 "AC G V N")
	(command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0  "IN G V N")
	)
)

);cond

(setq pt_plan (polar pt_plan (* 1.5 pi) (* 1.65 htxt)))

) ; Fin du sous programme

(princ "\n==> PPLAN")
(princ)


 

Lien vers le commentaire
Partager sur d’autres sites

Etrange, étrange...

 

Sur ma version 2006, ça fonctionne super bien et je ne comprends pas trop ce qui peut ce passer (vu mes compétences en programmation :calim: )

 

En revanche, si ce lisp correspond à ce dont tu as besoin pour réaliser ta légende, tu n'as qu'à " bidouiller" le tableau que le lisp te crée.

 

A première vue, le problème que tu sembles rencontrer n'est qu'un problème de rotation des textes. Il suffit de sélectionner le tableau complet (ligne + texte), va dans "Propriétés", dans le menu déroulant, sélectionne "Texte (XX)" et modifie la valeur de la rotation des textes...

 

C'est du système D mais bon, si ça peut dépanner en attendant que quelqu'un trouve le problème...

 

A bientôt.

 

 

Lien vers le commentaire
Partager sur d’autres sites

  • 3 ans après...

 

 

 

Bonjour,

 

Je sais le sujet est ancien mais toujours d'actualité !

 

Voici un outil de création de légende automatique adapté à toutes les versions (à partir de 2006-2007) complète et LT...

 

 

Christian

 

 

 

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

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é