雨的节奏 发表于 2019-6-20 11:17:15

刀路连接,源码 有需要的朋友拿去随便改,随便用

刀路连接
(defun c:WW (/ os olddix pt1 pt2 ptlist angx ptlistx ptlists enx ss ss2)
(setvar "cmdecho" 0)
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(if (null DIX)
(setq DIX (getdist "\n请输入要连接的距离:"))
(progn
      (setq OLDDIX DIX
            DIX (getreal (strcat "输入要连接的距离<"(rtos OLDDIX 2 4)">")))
            (if (null DIX) (setq DIX OLDDIX))
   )
)
(while (setq pt1 (getpoint "\n输入第一点"))
         (setq pt2 (getpoint pt1 "\n输入下一点"))
(command "._undo" "begin")
(setq ptlist (list pt1 pt2)
      angx (angle pt1 pt2))
(setq ptlistx
      (mapcar '(lambda (x) (polar x (+ (/ pi 2) angx) DIX)) ptlist))
(setq ptlistx (reverse ptlistx))
(setq ptlists (append ptlist ptlistx))
(command "pline") (mapcar 'command ptlists) (command "c")
(setq enx (entlast))
(setq ss (ssget "f" ptlistx))
(setq ss (ssadd enx ss))
(command "region" ss "")
(setq ss (ssget "f" ptlistx))
(command "union" ss "")
(setq eny (entlast))
(command "explode" eny)
(setq ss2 (ssget "p"))
(setvar "PEDITACCEPT" 1)
(command "PEDIT" ss2"j" "all" "" "")
(setvar "PEDITACCEPT" 0)
(command "._undo" "end")
);end while
(setvar "osmode" os)
(princ "\n完成连线操作")
(prin1)
)



前生 发表于 2019-7-15 01:43:22

纵横八方 发表于 2019-6-21 22:05
断开 的线 能连起来就牛逼了面域的方法有漏洞

断开的线,用pedit连接有时候都会出问题。加上现在有很多同志出的图纸,不敢恭维。
有些图用3D软件画完后,在转成2D档,就更让人崩溃了。
一直想重新写个LISP版的pedit ,选择线,弧,通过计算,点列表,用entmake的方法生成pline.

纵横八方 发表于 2019-7-15 09:19:26

我们水刀行业的插件 就 能把断开的 连接起来,只支持两个图元直接的连接,基本上没有bug

水仙的错 发表于 2019-9-8 19:50:42

Application Error: 0 :- 输入中的点位置不正确ADS 请求错误、
这个怎么回事??

yoyoho 发表于 2019-6-20 12:49:11

谢谢! 雨的节奏 分享程序!!!!!

ynhh 发表于 2019-6-21 08:53:19

看上很牛啊
不知是用来干什么的

心中的梦想 发表于 2019-6-21 11:22:00

虽然用不上,但还是谢谢分享

纵横八方 发表于 2019-6-21 22:00:33

漂亮,水刀正需要

纵横八方 发表于 2019-6-21 22:05:32

断开 的线 能连起来就牛逼了面域的方法有漏洞

ysq101 发表于 2019-6-25 23:22:57

哇。还是原码。。
收下了,谢谢楼主无私分享

石井鱼 发表于 2019-6-26 18:12:57

平时好像用不到,还是感谢楼主无私

烟盒迷唇 发表于 2019-6-27 10:25:16

还是不知道是做什么的
页: [1] 2
查看完整版本: 刀路连接,源码 有需要的朋友拿去随便改,随便用