似水无痕 ,你好,你能帮我写个范例吗?因本人愚昧,很喜欢这个.
代码:加宽直线(defun c:lw()
(progn(write-line"\n 选择实体:")
(setq selet (ssget))
)
(setq pw (getreal "\n输入线宽:"))
(setq n 0)
(if(/= selet nil)
(repeat(sslength selet)
(setq entname(ssname selet n))
(setq ent (entget entname))
(setq name (cdr(assoc 0 ent)))
(if(or(= name "LINE")(= name "ARC"))
(command"pedit"entname"y""w" pw \r)
)
(if(= name "LWPOLYLINE")
(command "pedit" entname "w" pw \r)
)
(setq n (1+ n))
)
)
(princ)
)
弧长标注
(defun C:hu (/ obj sel el e r ang angs ange larc pnt multi)
(setvar "CMDECHO" 0)
(setq multi (getvar 'dimlfac));;;add 2002.5.15 can remove
(setq obj (entsel "\nSelect ARC: "))
(setq sel (car obj))
(setq pnt (getpoint "point"))
(terpri)
(if (/= sel nil)
(progn
(setq el (entget sel))
(setq e (assoc 0 el))
(if (= "ARC" (cdr e))
(progn
(setq r (assoc 40 el))
(setq r (cdr r))
(setq angs (assoc 50 el))
(setq angs (cdr angs))
(setq ange (assoc 51 el))
(setq ange (cdr ange))
(setq ang (- ange angs))
(if (< ang 0)
(setq ang (- (* 2 pi) (abs ang)))
)
(setq larc (* r ang))
(setq larc (* larc multi));;;add 2002.2.20 can remove
;;;add muti as multiple
;;;(princ "Angle = ")
;;;(prin1 (* (/ ang pi) 180))
;;;(princ " , Radius = ")
;;;(prin1 r)
;;;(princ "\nLength of ARC is : ")
;;;(prin1 larc)
)
(princ "Object is not a ARC !")
)
)
)
(setq larc (rtos larc 2 1) )
(command "dimangular" obj "t" larc pnt )
(princ)
)
期待佳音,非常感谢!
摸索了好几天一直搞不懂,万般无奈只有向你讨教了.
哈哈,见笑
附我想要的面板: