liminnet 发表于 2008-6-21 16:48:00

caoyin 发表于 2008-6-21 17:31:00

这个问题别人不好回答,找程序作者吧

yxp 发表于 2008-6-21 21:54:00

我也有一个,明天再贴过来,睡觉了。

yxp 发表于 2008-6-22 21:48:00

;;看看这个,可以批量加粗直线,多义线,圆弧,圆。

(defun c:JCX( / s ss ww ssn)
   (setvar "cmdecho" 0)
   (if (= jcxw_0 Nil) (setq jcxw_0 1))
   (setq ww (getdist (strcat "\n 请输入线宽 <" (rtos jcxw_0 2) ">: ")))
   (if (= ww nil) (setq ww jcxw_0))(setq jcxw_0 ww)
   (setq ss (ssget '((-4 . "<or")(0 . "LINE")(0 . "CIRCLE")(0 . "ARC")
                        (0 . "POLYLINE")(0 . "LWPOLYLINE")(-4 . "or>"))))
   (setq s 0) (command "undo" "be")
   (repeat (if ss (sslength ss) (progn (princ "\n 未选择对象。") 0))
      (setq ssn (ssname ss s) entyp (cdr (assoc 0 (entget ssn))))
      (cond ((= entyp "CIRCLE") (progn
          (setq rr (cdr (assoc 40 (entget ssn)))
               cen (cdr (assoc 10 (entget ssn))))
          (command "donut" (* 2 (- rr (/ ww 2))) (* 2 (+ rr (/ ww 2))) cen "")
          (command "erase" ssn "")))
          ((= entyp "LINE") (command "pedit" ssn "y" "w" ww ""))
   ((= entyp "ARC") (command "pedit" ssn "y" "w" ww ""))
          ((= entyp "LWPOLYLINE") (command "pedit" ssn "w" ww ""))
   ((= entyp "POLYLINE") (command "pedit" ssn "w" ww ""))
      )(setq s (1+ s))
    )(command "undo" "e")(princ)
)
(princ "\n 线段加粗程序,命令jcx")(princ)

liminnet 发表于 2008-6-23 13:06:00

liminnet 发表于 2008-6-23 14:08:00

yxp 发表于 2008-6-23 16:23:00

本帖最后由 作者 于 2008-6-23 20:35:01 编辑 <br /><br /> <p>对,这个系统变量是R16版本才加进去的。2000和2002版本还没有这个系统变量。</p><p>主要是控制line到pline的变化的 Y 的响应提示。</p><p>谢谢提醒。</p>

xd-xdcad 发表于 2008-6-23 16:53:00

<p>还有一个问题,2002对圆加粗时,不能直接变粗,需要经过一个过程</p><p>圆——多段线——加粗的圆,执行两次命令后,圆才能加粗</p><p>可能还有别的系统变量的问题</p><p></p>

liminnet 发表于 2008-6-23 17:10:00

页: [1]
查看完整版本: 万能加粗怎么不行呀,各位,看看好呗