19
124
105
初露锋芒
使用道具 举报
114
1万
中流砥柱
10
8258
8335
初来乍到
(defun c:tt (/ en en_data pt0 endpt1 endpt2 cjsl endpt1x endpt1y endpt2x endpt2y dinpt cl cl1 cl2 txt pt3 pt4 pt3x ang1 pt5 pt6 pt6x l pt7 ang2 l1 n l2 th pt8 pt9 pt10 ggg v2 v3 os) (setq olderr *error* *error* myerr )(vl-load-com) (setq os (getvar "osmode")) (setq v2 (getvar "dimstyle")) (setq v3 (getvar "blipmode")) (setvar "osmode" 0) (setvar "cmdecho" 0) (setvar "blipmode" 0) (graphscr) (setq en (entsel "\nChoose chamfer edge!")) (setq en_data (entget (car en))) (setq pt0 (list (car (cadr en)) (cadr (cadr en)))) (setq endpt1 (list (car (cdr (assoc 10 en_data))) (cadr (cdr (assoc 10 en_data))) ) ) (setq endpt2 (list (car (cdr (assoc 11 en_data))) (cadr (cdr (assoc 11 en_data))) ) ) (setq endpt1x (car (cdr (assoc 10 en_data)))) (setq endpt1y (cadr (cdr (assoc 10 en_data)))) (setq endpt2x (car (cdr (assoc 11 en_data)))) (setq endpt2y (cadr (cdr (assoc 11 en_data)))) (setq dinpt (list endpt1x endpt2y)) (setq cl (distance endpt1 dinpt)) (setq cl3 (distance endpt2 dinpt)) (setvar "dimdec" 2) (setvar "dimzin" (if (equal cl cl3 0.05) (progn (setvar "dimzin" (setq cjsl (getstring "\nInput Quantity!")) (setq cl2 (rtos cl )) (setq ggg "-") (if (or (= cjsl "") (= cjsl nil)) (setq ggg "") ) (setq txt (strcat cjsl ggg "C" cl2)) (setq pt3 (list (car (osnap pt0 "endpoint")) (cadr (osnap pt0 "endpoint")) ) ) (setq pt4 (list (car (osnap pt0 "midpoint")) (cadr (osnap pt0 "midpoint")) ) ) (setq pt3x (car pt3)) (setq ang1 (angle pt4 pt3)) (vl-cmdf "ortho" "off") (setq pt5 (getpoint pt3 "\nChoose placement")) ; (setq pt6 (list (car pt5) (cadr pt5))) ; (setq pt6x (car pt6)) ; (setq l (distance pt3 pt6)) ; (setq pt7 (polar pt3 ang1 l)) (setq ang2 (cond ((> pt6x pt3x) 0) ((< pt6x pt3x) pi) (t 0) ) ) (setq l1 (strlen txt)) (setq n (getvar 'dimscale)) (setq l2 (* l1 n 2)) (setq th (* 3 n)) (setq pt8 (polar pt7 ang2 l2)) (if (not (tblsearch "LAYER" "dim")) (vl-cmdf "layer" "m" "dim" "c" "7" "" "l" "continuous" "" "") ) (setvar "clayer" "dim") (vl-cmdf "pline" pt3 pt7 pt8 "") (setq pt9 (osnap pt8 "midpoint")) (setq pt10 (polar pt9 (/ pi 2) (/ th 2))) (if (not (tblsearch "style" "gb")) (vl-cmdf "style" "GB" "gbenor,gbcbig" "" "1" "" "" "") ) (vl-cmdf "text" "s" "gb" "j" "m" pt10 th 0 txt) ) (progn (setvar "dimzin" (setq cl2 (rtos cl)) (setq cl4(rtos cl3)) (setq ggg "x") (setq txt (strcat cl2 ggg cl4)) (setq pt3 (list (car (osnap pt0 "endpoint")) (cadr (osnap pt0 "endpoint")) ) ) ; (setq pt4 (list (car (osnap pt0 "midpoint")) (cadr (osnap pt0 "midpoint")) ) ) ; (setq pt3x (car pt3)) (setq ang1 (angle pt4 pt3)) ;(vl-cmdf "ortho" "off") (setq pt5 (getpoint pt3 "\nChoose placement")) ; (setq pt6 (list (car pt5) (cadr pt5))) ; (setq pt6x (car pt6)) ; (setq l (distance pt3 pt6)) ; (setq pt7 (polar pt3 ang1 l)) (setq ang2 (cond ((> pt6x pt3x) 0) ((< pt6x pt3x) pi) (t 0) ) ) (setq l1 (strlen txt)) (setq n (getvar 'dimscale)) (setq l2 (* l1 n 2)) (setq th (* 3 n))