bonuscad Posté(e) le 17 janvier 2005 Posté(e) le 17 janvier 2005 Dessiner un rectangle en definissant le centre (intersection des diagonales) et son encombrement en dynamique. Imperfection de la routine:*Les dimensions ne peuvent pas être entrées aux clavier.*L'accroche objet, bien qu'effectif, ne peut se voir lors du dimensionnement en dynamique. NB: Les précédents paramètres de rectangle [Chanfrein/Elévation/Raccord/Hauteur/Largeur] sont repris mais ne peuvent pas être modifiés (defun c:rectang_cen ( / o mod ptx key pt_sup pt_inf) (setq o (getvar "osmode")) (if (or (zerop o) (eq (boole 1 o 16384) 16384)) (setq mod "_none") (progn (setq mod "") (mapcar '(lambda (xi xs) (if (not (zerop (boole 1 o xi))) (if (zerop (strlen mod)) (setq mod (strcat mod xs)) (setq mod (strcat mod "," xs)) ) ) ) '(1 2 4 8 16 32 64 128 256 512 2048 4096 8192) '("_endp" "_mid" "_cen" "_nod" "_qua" "_int" "_ins" "_per" "_tan" "_nea" "_appint" "_ext" "_par") ) ) ) (initget 1) (setq ptx (getpoint "\nPoint central du rectangle: ")) (princ (strcat "\nSpécifiez un coin à [" mod "] de: \n")) (while (and (not (member (setq key (grread T 4 0)) '((2 13) (2 32)))) (/= (car key) 3)) (cond ((eq (car key) 5) (setq pt_sup (cadr key) pt_inf (polar ptx (+ (angle ptx pt_sup) pi) (distance ptx pt_sup)) ) (redraw) (grvecs (list 7 ptx pt_sup 7 pt_inf (list (car pt_sup) (cadr pt_inf)) 7 (list (car pt_sup) (cadr pt_inf)) pt_sup 7 pt_sup (list (car pt_inf) (cadr pt_sup)) 7 (list (car pt_inf) (cadr pt_sup)) pt_inf ) ) ) (T (setq pt_inf nil pt_sup nil)) ) ) (redraw) (cond ((and pt_inf pt_sup) (if (osnap pt_sup mod) (setq pt_sup (osnap pt_sup mod) pt_inf (polar ptx (+ (angle ptx pt_sup) pi) (distance ptx pt_sup)) ) ) (setvar "osmode" 0) (setvar "cmdecho" 0) (command "_.rectangle" pt_inf pt_sup) (setvar "osmode" o) (setvar "cmdecho" 1) (command "_.rotate" (entlast) "" ptx) ) ) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Tramber Posté(e) le 17 janvier 2005 Posté(e) le 17 janvier 2005 Avec tous ces cadeaux, tu mérites vraiment ton nom ! Enfin, je vais apprendre à me servir correctement de :zerop (je l'oublie toujours celui-là)(grread ) , génial(grvecs ) Ca augment la puissance d'un getpoint, me^me avec un point de référence. Par contre, je ne pige pas tout aux bool et autres fonctions pour les accrobj de ta routine....mais je vais faire un effort ! Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Messages recommandé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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant