风流少年时 发表于 2011-1-9 00:27:13

如何实现本程序连接两条PL线?

(defun c:ab(/ kst sset i pp d1 yn f1)
    (setvar "cmdecho" 0)
    (princ "\n选择欲连接的所有二维多义线、圆弧、直线:")(setq sset (ssget '((-4 . "<OR") (0 . "LWPOLYLINE")(0 . "LINE")(0 . "ARC") (-4 . "OR>"))) i 0)
    (while (< i (sslength sset))
         (if (entget (setq ent (ssname sset i)))
               (if (= (cdr (assoc 0 (entget ent))) "LWPOLYLINE") (vl-cmdf "_PEDIT" ent "J" ent "" "") (vl-cmdf "_PEDIT" ent "Y" "J" sset "" ""))
         )
          (setq i (1+ i))
    )
    (princ)
)

本程序可以连接L与L,L与PL、PL与ARC、L与ARC,但不能连接PL与PL,请各位高手帮忙啊。让它能连接PL与PL。

461045462 发表于 2011-1-11 06:57:57

路过
先收下来看看,学习学习
谢谢楼主

yoyoho 发表于 2011-1-15 21:55:35

;;;如何实现本程序连接两条PL线?
;;;autocad2008 测试 o.k.
;;;可连接L与L,L与PL、PL与ARC、L与ARC、PL与PL
(defun c:abb(/ kst sset i pp d1 yn f1)
    (setvar "cmdecho" 0)
    (princ "\n选择欲连接的所有二维多义线、圆弧、直线:")
    (setq sset (ssget '((-4 . "<OR") (0 . "LWPOLYLINE")(0 . "LINE")(0 . "ARC") (-4 . "OR>")))
         i    1
          entt (ssname sset 0)
    )
    (while (< i (sslength sset))
         (if (entget (setq ent (ssname sset i)))
               (if (= (cdr (assoc 0 (entget ent))) "LWPOLYLINE") (vl-cmdf "_PEDIT" entt "J" ent "" "") (vl-cmdf "_PEDIT" entt "J" sset "" ""))
         )
          (setq i (1+ i))
    )
    (princ)
)

风流少年时 发表于 2011-1-16 13:56:37

谢谢yoyoho,原来如此。

doro 发表于 2011-9-9 14:37:10

学习学习啊

328302216 发表于 2011-11-14 15:48:31

请问一下楼主,这程序加载后要怎么用啊,能不能整个动画看看啊!

jxcaixiaomeng 发表于 2011-11-14 19:04:41

学习了啊,谢谢   

vladimir 发表于 2012-12-29 19:02:10

谢谢楼主分享啊。

编程小白 发表于 2013-3-8 09:58:30

两位大侠的程序都很好,试过并收藏了,

jhkdyhl1 发表于 2013-4-10 01:29:51

先占位待用
页: [1] 2
查看完整版本: 如何实现本程序连接两条PL线?