sandyvs 发表于 2025-11-10 16:09:47

继续画多段线,可撤销

本帖最后由 sandyvs 于 2025-11-10 16:10 编辑

;根据wzg356大佬的函数编写,函数见http://bbs.mjtd.com/forum.php?mo ... 8%2B%B6%E0%2B%CF%DF



[*];继续画多线,可撤销
[*](defun c:ContinuePL (/ e en f first index len ml numpt p pam ptn)
[*](setq en (entsel "\n 请选择LWPOLYLINE,POLYLINE多线段:"))
[*](if (and en (wcmatch (cdr (assoc 0 (entget (setq e (car en))))) "LWPOLYLINE,POLYLINE"))
[*]    (progn
[*]      (setq p (cadr en)
[*]            p (vlax-curve-getclosestpointto e p)
[*]            pam (vlax-curve-getparamatpoint e p)
[*]            len (vlax-curve-getdistatparam e (vlax-curve-getendparam e))
[*]            ml (vlax-curve-getdistatparam e pam))
[*]      (setq f (>ml (* len 0.5)))
[*]      (setq ptn t)
[*]      (while ptn
[*]      (setq index (fix pam));所击子段
[*]      (setq numpt (if (vlax-curve-isClosed e)(fix (vlax-curve-getendParam e))
[*]                      (1+ (fix (vlax-curve-getendParam e)))));顶点数量
[*]      (if first
[*]          (if f
[*]            (setq ptn (getpoint (vlax-curve-getendpoint e)"\n请输入下一点(R撤销):"))
[*]            (setq ptn (getpoint (vlax-curve-getstartpoint e) "\n请输入下一点(R撤销):"))
[*]          )
[*]          (if f
[*]            (setq ptn (getpoint (vlax-curve-getendpoint e)"\n请输入下一点:"))
[*]            (setq ptn (getpoint (vlax-curve-getstartpoint e) "\n请输入下一点:"))
[*]          )
[*]      )
[*]      (if ptn
[*]          (iff
[*]            (ContinuePoly e numpt ptn)
[*]            (ContinuePoly e 0 ptn)
[*]          )
[*]      )
[*]      (if (= "R" ptn)
[*]          (ContinuePoly e (1- numpt) nil);末尾删点
[*]      )
[*]      (initget "R")
[*]      (setq first t)
[*]      )
[*]    )
[*]    (princ "\n 选择的对象不是LWPOLYLINE,POLYLINE多线段!")
[*])
[*](princ)
[*])

tranque 发表于 2025-11-11 00:28:31

可以,很方便!!都是牛人,人家不错.实用,可以集成到Pline里面用了.可以,方便画线,谢谢分享.这个和南方CASS中B命令一样啊

中国梦 发表于 2025-11-12 06:47:52

本帖最后由 中国梦 于 2025-11-12 06:56 编辑

大佬。我这里不能使用,不知道什么原因



请选择LWPOLYLINE,POLYLINE多线段:
请输入下一点:;错误:no function definition:CONTINUEPOLY


lxl304712346 发表于 2025-11-10 16:46:47

可以,很方便!!

zsw23 发表于 2025-11-10 17:03:57


可以,很方便!!

张向华 发表于 2025-11-10 20:10:42

都是牛人,人家不错

forestgxc 发表于 2025-11-10 20:42:50

实用,可以集成到Pline里面用了

nzdog 发表于 2025-11-10 21:31:41

可以,方便画线,谢谢分享

zyx1029 发表于 2025-11-10 22:20:52

这个和南方CASS中B命令一样啊

zjy2999 发表于 2025-11-11 08:35:43

多谢分享!!!

lxl217114 发表于 2025-11-11 09:41:49

这个续接多段线功能挺好的
页: [1] 2
查看完整版本: 继续画多段线,可撤销