明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2061|回复: 18

[提问] 按层连接多段线

[复制链接]
发表于 2019-7-23 15:28:04 | 显示全部楼层 |阅读模式
CAD 低版本的没有为问题 怎么在2018  就提示无效的选项关键字呢 请高手给看一下  最好加一个容错 可以输入参数  带记忆功能,默认容错的数值为0

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2019-7-23 17:03:25 | 显示全部楼层
;************************************************按层连接多段线
(defun c:j7 ( / D N E SS SS2)
  (while (setq e (entsel "\n选择实体以确定图层:"))
    (setq ss (ssget "x" (list (assoc '8 (entget (car e)))))
          ss (ssget "p" '((0 . "POLYLINE,LWPOLYLINE,ARC,LINE")))
          d  (getdist "\n输入模糊距离<0.0>:"))
    (cond
      (ss
       (if (setq ss2 (ssget "p" '((0 . "ARC,LINE"))))
         (repeat (setq n (sslength ss2))
           (vl-cmdf "_.pedit" (ssname ss2 (setq n (1- n))) "y" "")
           (ssadd (entlast) ss)
         )
       )
       (if d
         (vl-cmdf "_.pedit" "m" ss "" "j" d "")
         (vl-cmdf "_.pedit" "m" ss "" "j" 0.0 "")
       )
      )
    )
  )
  (princ)
)
 楼主| 发表于 2019-7-24 15:50:12 | 显示全部楼层
satan421 发表于 2019-7-24 08:19
CAD2016正常,不知道你选了什么。

;****************************************************多段线并集
(defun c:w2 (/ ss s1 e)
(setvar "CMDECHO" 0)
(if (setq ss (ssget '((0 . "ARC,CIRCLE,LINE,*POLYLINE")))) (progn
  (setq e (entlast))
  (setq s1 (ssadd))
  (command ".region" ss "")
  (while (setq e (entnext e)) (ssadd e s1))
  (command ".union" s1 "")
      (setvar "QAFLAGS" 1)
  (command ".explode" "L" "")
  (setq ss2 (ssget "_p"))
      (if (= "REGION" (cdr ( assoc 0 (entget (ssname ss2 0)))))
   (command  ".EXPLODE" "P" "")
)
  (setvar "QAFLAGS" 0)
;  (setvar "PEDITACCEPT" 0)
(command "_.pedit" "_M" "P" "" "_J" "0" "")
;  (setvar "PEDITACCEPT" 1)
))
(setvar "CMDECHO" 1)
(princ)
)
 楼主| 发表于 2019-7-23 15:29:06 | 显示全部楼层
;************************************************按层连接多段线
(defun c:j7 ( / ss d)
  (while (setq e (entsel "\n选层上参照实体:"))
    (setq ss (ssget "x" (list (assoc 8 (entget (car e)))))
          ss (ssget "p" '((0 . "POLYLINE,LWPOLYLINE,ARC,LINE")))
          d  (if d d (getdist "\n断线容差:")))
    (cond
      (ss
       (if (setq ss2 (ssget "p" '((0 . "ARC,LINE"))))
         (repeat (setq n (sslength ss))
           (vl-cmdf ".pedit" (ssname ss (setq n (1- n))) "y" "")
           (ssadd (entlast) ss)
         )
       )
       (vl-cmdf ".pedit" "m" ss "" "y" "j" d "")
      )
    )
  )(princ)
)
 楼主| 发表于 2019-7-23 20:53:38 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2019-7-23 20:55:32 | 显示全部楼层

在2018里  提示 未选择有效对象    在2012以下的版本就能用
发表于 2019-7-24 08:19:16 | 显示全部楼层
孙玉坤 发表于 2019-7-23 20:55
在2018里  提示 未选择有效对象    在2012以下的版本就能用

CAD2016正常,不知道你选了什么。
 楼主| 发表于 2019-7-24 08:34:37 | 显示全部楼层
satan421 发表于 2019-7-24 08:19
CAD2016正常,不知道你选了什么。

感谢  ,估计和变量有关系吧 算啦 不弄啦
发表于 2019-7-24 09:48:14 | 显示全部楼层
孙玉坤 发表于 2019-7-24 08:34
感谢  ,估计和变量有关系吧 算啦 不弄啦

为啥不弄弄起来呀很好的东西
发表于 2019-7-24 09:54:53 | 显示全部楼层
satan421 发表于 2019-7-23 17:03
;************************************************按层连接多段线
(defun c:j7 ( / D N E SS SS2)
  (w ...

能否加一个范围选择
发表于 2019-7-24 10:11:33 | 显示全部楼层
664571221 发表于 2019-7-24 09:54
能否加一个范围选择

"X"改为":N"即可。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2026-1-19 04:05 , Processed in 0.197157 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表