Aller au contenu

Messages recommandés

Posté(e)

Salut,

 

Un début de réponse

 

 
(defun c:tab ( / lst lstcalque lstlg)
 (setq	ss (ssget '((0 . "LINE")))
 )
 (repeat (setq n (sslength ss))
   (setq ent (ssname ss (setq n (1- n)))
  lst (cons (distance (cdr (assoc 10 (entget ent)))
		      (cdr (assoc 11 (entget ent))))    lst )
  lst (if (setq tl (cdr (assoc 6 (entget ent))))
	(cons tl lst)
	(cons (strcat "DuCalque : " (cdr (assoc 8 (entget ent))))
	      lst) ) ) )
 (repeat (setq n (sslength ss))
   (setq lstemp lst
  lg 0 )
   (if	(not (member (car lst) lstcalque))
     (progn (setq lstcalque (cons (car lst) lstcalque))
     (while (setq lstemp (member (car lst) lstemp))
       (setq lg	    (+ (cadr lstemp) lg)
	     lstemp (cddr lstemp)  )  )
     (setq lstlg (cons lg lstlg)) ) )
   (setq lst (cddr lst)) )
 (setq pt (getpoint "\nChoix du point d'insertion du tableau")
osold (getvar "osmode"))
 (setvar "osmode" 0)
 (repeat (setq n (length lstcalque))   
   (command "_rectangle" (list (car pt) (+ (* 7 n) (cadr pt))) (list (+ 50 (car pt)) (+ (cadr pt) (* 7 (- n 1)))))
   (command "_text" (list (+ 1.5 (car pt)) (+ 2.5 (cadr pt) (* 7 (- n 1)))) 2.5 0 (car lstcalque))
   (command "_rectangle" (list (+ 50 (car pt)) (+ (* 7 n) (cadr pt))) (list (+ 100 (car pt)) (+ (cadr pt) (* 7 (- n 1)))))
   (command "_text" (list (+ 51.5 (car pt)) (+ 2.5 (cadr pt) (* 7 (- n 1)))) 2.5 0 (rtos (car lstlg) 2 2))
   (setq lstcalque (cdr lstcalque)
  lstlg	    (cdr lstlg)
  n (- n 1)) )
 (setvar "osmode" osold)
 (princ)
 )

 

Le tableau reste primitif et à adapter à tes besoins.

[Edité le 14/11/2007 par vinz34]

Oups, désolé j'avais pas vu que c'était dans le forum LT !

 

[Edité le 14/11/2007 par vinz34]

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é