zyy_kety 发表于 2009-9-12 14:23:00

怎样把样条曲线加粗!

<p><font size="4">我想把样条曲线加粗,用pe不行,需加载一个小程序,以前我见有人发过,可我找不到了,请各位谁有,能不能给发一下?谢谢!</font></p>

yxp 发表于 2009-9-13 20:18:00

先用PLINE画线,再用PE拟合成的样条曲线可以加粗。
(defun c:JCX( / s ss ww ssn)
   (setvar "cmdecho" 0)
   (setvar "peditaccept" 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 "LINE") (command "pedit" ssn"w" ww ""))
   ((= entyp "ARC") (command "pedit" ssn"w" ww ""))
          ((= entyp "LWPOLYLINE") (command "pedit" ssn "w" ww ""))
   ((= entyp "POLYLINE") (command "pedit" ssn "w" ww ""))
      )(setq s (1+ s))
    )(command "undo" "e")(princ)
)

CADghost 发表于 2009-9-16 23:01:00

<p>要那么麻烦吗?直接把笔宽设置成粗线不就行了吗?</p>
页: [1]
查看完整版本: 怎样把样条曲线加粗!