倒角尺寸!如何做?
鼠标单击倒角线,自动标注倒角大小支撑线、线路、,
帮助谁能帮我?非常感谢。 到目前为止,您有哪些代码需要帮助? 我认为他没有任何密码。我还认为OP使用CADTutor在他参与的公告板上回答问题(即,他代表其他人提问)。
李,谢谢你的回复
(defun c:tt (/ en en_data pt0 endpt1 endpt2 cjsl
endpt1x endpt1y endpt2x endpt2y
dinptcl 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))
(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)
)
)
(vl-cmdf "-dimstyle" "r" v2)
(setvar "blipmode" v3);
(PRINT)
(prompt "Chamfer dimension")
(myerr)
(princ) ;
)
(defun myerr (msg)
(setvar "osmode" os)
(setq *error* olderr)
(princ)
) 我错了。他确实有一些密码。作者是谁?
帮助别人可以让自己快乐,Autolisp不是我擅长的,但我谦恭地问!
不幸的是,我认为你说得对:
http://bbs.mjtd.com/thread-99808-1-1.html
对于作者而言,该标题似乎已被删除:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; ;;;
;;;ShangHai zhiren Mould Industry Co. Ltd. ;;;
;;; xiangzanyang(aug,2012) ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 我想知道OP到底在帮谁?
卢卡斯:你有兴趣学习编写自己的lisp程序吗?
李,你说得对!我删除了多余的内容是为了更好的查看,原来的代码有一些中文,可能会造成乱码,所以我编辑!
页:
[1]
2