Bonjour à tous, je me lance dans un premier projet LISP qui consiste à dessiner une polyligne composé de 4 point décalé de 10cm entre 2 points opposés représentant une ouverture (porte, fenêtre, escalier...) ensuite une hachure remplie l'intérieur. Mon LISP ne gère pas encore les différentes position des 2 points donnés au début car je veux régler mon premier problème en premier. Pour faire fonctionner mon LISP, j'ai choisi le point BAS-GAUCHE et HAUT-DROITE d'un rectangle. Mon problème est que si je donne mes 2 points proche du 0,0,0 le LISP fonctionne, par contre si je m'éloigne... Le LISP ne dessine que 2 traits l'un sur l'autre. Quelqu'un aurait une idée?
(setq p1 0 p2 0 a 0 b 0 c 0 d 0)
(setq p1 (getpoint "\nPremier point"))
(setq p2 (getcorner p1 "\nDeuxième point"))
(setq a (list (+ (car p1) 10) (- (cadr p2) 10)))
(setq b (list (- (car p2) 10) (- (cadr p2) 10)))
(setq c (list (+ (car a) 15) (- (cadr a) 15)))
(setq d (list (+ (car p1) 10) (+ (cadr p1) 10)))
(if (not (tblsearch "LAYER" "0_ouverture"))
(progn
(command "_layer" "_new" "0_ouverture" "")
(command "_layer" "_color" 251 "0_ouverture" "")
)
)
(setvar "clayer" "0_ouverture")
(command "_pline" a b c d "c")
(command "_hatch" "SOLID" (entlast) "")
D'avance merci pour votre aide