cloclo26000 Posté(e) le 14 février 2007 Posté(e) le 14 février 2007 je l ai retrouvé le lisp dyn-offset.lspbien pratique a+ (defun draw_pt (pt / pt1 pt2 pt3 pt4) (setq rap (/ (getvar "viewsize") 50) pt1 (list (+ (car pt) rap) (+ (cadr pt) rap)) pt2 (list (+ (car pt) rap) (- (cadr pt) rap)) pt3 (list (- (car pt) rap) (- (cadr pt) rap)) pt4 (list (- (car pt) rap) (+ (cadr pt) rap)) ) (grdraw pt pt1 -1) (grdraw pt pt2 -1) (grdraw pt pt3 -1) (grdraw pt pt4 -1))(defun c:dyn_offset ( / sel_ent pt_sel e_sel dxf_ent e_mark e_borne loop sav_osm dis_off key pt) (while (null (setq sel_ent (entsel "\nChoix de l'objet à décaler: ")))) (setq pt_sel (osnap (cadr sel_ent) "_near") e_sel (car sel_ent) dxf_ent (entget e_sel) e_mark e_sel e_borne (entlast) loop T sav_osm (getvar "osmode") ) (cond ((and (member (cdr (assoc 0 dxf_ent)) '("LWPOLYLINE" "POLYLINE" "LINE" "XLINE" "RAY" "ARC" "CIRCLE" "ELLIPSE" "SPLINE")) (if (cdr (assoc 70 dxf_ent)) (< (rem (cdr (assoc 70 dxf_ent)) 128) 8) T ) ) (if (< (getvar "offsetdist") 0.0) (initget 7) (initget 6)) (setq dis_off (getdist (strcat "\nDistance de décalage<" (rtos (getvar "offsetdist")) ">: "))) (if (not dis_off) (setq dis_off (getvar "offsetdist")) (setvar "offsetdist" dis_off)) (setvar "cmdecho" 0) (setvar "osmode" 0) (while (and (setq key (grread T 4 0)) (/= (car key) 3) loop) (cond ((eq (car key) 5) (setq pt (cadr key)) (draw_pt pt_sel) (cond ((>= (distance pt_sel pt) dis_off) (command "_.offset" "" e_sel pt "") (if (not (eq (entlast) e_sel)) (setq e_sel (entlast) dis_off (+ dis_off (getvar "offsetdist")) ) ) ) ((and (< (distance pt_sel pt) (- dis_off (getvar "offsetdist"))) (> (distance pt_sel pt) 0.0) (not (eq e_mark e_sel)) ) (entdel e_sel) (if (eq e_borne (entlast)) (setq e_sel (car sel_ent)) (setq e_sel (entlast)) ) (setq dis_off (- dis_off (getvar "offsetdist"))) ) ) ) ((or (member key '((2 13) (2 32))) (eq (car key) 25)) (setq loop nil)) ) ) (redraw) (setvar "osmode" sav_osm) (setvar "cmdecho" 1) ) (T (princ "\nL'objet ne peut pas être décalé.")) ) (prin1))
Invité Patrick Posté(e) le 14 février 2007 Posté(e) le 14 février 2007 Merci d'utiliser un seul fil de discussion pour le même sujet... :casstet:
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