DuanJinHui Posted September 7, 2015 Posted September 7, 2015 Hello friends This is a simple lead dimension, use "LWPOLYLINE" . Can use "leader" to do like this ? 2 point create a leader and with grread . (defun c:test (/ *error* dd dimtxt gr kd mode name1 name2 name3 p1 pt1 pt2 pt3 tbl txt ty val) (defun *error* (msg) (entdel name1) (entdel name2) (if name3 (entdel name3)) (princ "error: ") (princ msg) ) (setq ty (getvar "TEXTSTYLE")) (setq txt "t=") (setq val (getdist "\nSpecify the thickness: ")) (setq dimtxt (strcat txt (vl-princ-to-string val))) (setq tbl (caadr (textbox (list '(0 . "text")(cons 1 dimtxt)(cons 40 2.5)(cons 41 0.7)(cons 7 ty))))) ;;(setq pt1 (cadr (entsel "\nPick the obj:"))) ;;(setq pt1 (getpoint "\nEnter the base point:")) (if (not (setq pt1 (cadr (entsel "\nPick the obj:")))) (setq pt1 (cadr (grread t 15 0))) ) (setq dd t) (while dd (setq gr (grread t 4 1) mode (car gr) pt2 (cadr gr) ) (setq kd (+ tbl 2)) (if (and (listp pt2) (>= (car pt2) (car pt1))) (progn (setq pt3 (polar pt2 0 kd)) (setq p1 (polar pt2 0 (/ (- kd tbl) 2)) p1 (polar p1 (angtof "90") 1)) ) ) (if (and (listp pt2) (< (car pt2) (car pt1))) (progn (setq pt3 (polar pt2 pi kd)) (setq p1 (polar pt3 0 (/ (- kd tbl) 2)) p1 (polar p1 (angtof "90") 1)) ) ) (if (= mode 5) (progn (if name1 (entdel name1)) (entmake (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline") '(90 . 3) (cons 10 pt1) (cons 10 pt2) (cons 10 pt3) ) ) (setq name1 (entlast)) (if name2 (entdel name2)) (entmake (list '(0 . "text") (cons 1 dimtxt) (cons 40 2.5) (cons 41 0.7) (cons 10 p1) (cons 7 ty) ) ) (setq name2 (entlast)) (if name3 (entdel name3)) );_end_progn );_end_if (if (= mode 3) (setq dd nil) ) (if (or (= mode 2) (= mode 25)) (progn (setq dd nil) (entdel name1) (entdel name2) (if name3 (entdel name3)) ) ) );_end_while (princ) ) Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.