修改线宽怎么没有起作用呢
(defun c:xs()(setq lw_new (getint "输入新的线宽"))
(setq l_list (entget (car (entsel "选择图元"))))
(setq lw_new (cons 370 lw_new))
(setq l_list (cons lw_new l_list))
(entmod l_list)
(princ)
) ;;;修改线宽
(defun C:xgxk (/ p l n nw chm en ow enm e1)
(setq p (ssget))
(if p (progn
(setq l 0 n (sslength p) chm 0)
(while (< l n)
(setq enm (cdr (assoc 0 (setq en (entget (ssname p l))))))
(if(or (= enm "LWPOLYLINE") (= enm "POLYLINE") (= enm "LINE") (= enm "ARC")(= enm "CIRCLE"))
(progn
(if (zerop chm) (progn
(if (and (/= enm "LINE") (/= enm "ARC")) (setq ow (cdr (assoc 40 en)))
(setq ow 0))
(princ "\n新线宽<")
(princ (rtos (/ ow 1) 2 2))
(setq nw (getreal "mm>:"))
(if (null nw) (setq nw ow))
))
(if (= enm "CIRCLE")
(progn
;(setq angle1 (/ pi 2))
(setq pt1 (polar (CDR(ASSOC 10 EN)) 0 (CDR(ASSOC 40 EN))))
(setq pt2 (polar (CDR(ASSOC 10 EN)) pi (CDR(ASSOC 40 EN))))
(command ".BREAK" pt1 pt2)
(command "pedit" (ssname p l) "y" "w" nw "c" "")
))
(if (or (= enm "LINE") (= enm "ARC"))
(command "pedit" (ssname p l) "y" "w" nw "")
(if (or(= enm "LWPOLYLINE") (= enm "POLYLINE"))
(command "pedit" (ssname p l) "w" nw "")
)
)
(setqchm (1+ chm))
))
(setq l (1+ l))
)
))
(princ "改了") (princ chm) (princ "条线.")
(PRINC)
) 这是显示线宽,想显示出来需要设置系统变量LWDISPLAY为“on”。
页:
[1]