guosheyang 发表于 2022-6-4 13:20:22

分享一种未完全闭合多段线生成面域的方法(容差面域)

本帖最后由 guosheyang 于 2022-6-4 13:57 编辑

前面看见朋友用填充的方法生成未完全封闭线面域,但发觉有时候有点小问题,这里提供另一种方法,即pe命令合并多段线的方法,请大家测试并反馈,谢谢!

(未加出错处理部分 需要的自己加上)

;; 注意该自定义命令仅适用于直线、多段线、圆弧, 对于椭圆弧,样条线则需先转为多段线才能适用;2017测试通过,其他版本微测试


(defun c:rr( / FUZ FUZ_D SS X)
(setvar 'cmdecho 0)
(setq ss(ssget))
(if(null fuz_d )
   (setq fuz_d 15)
)
(if(setq fuz(getdist(strcat"\n请指定容差值<输入或鼠标点取><"(rtos fuz_d)">:")))
   (setq fuz_d fuz)
   (setq fuz fuz_d)
)
(if(ssget "P" '((0 . "LINE,ARC")))
   (command "pedit" "M" ss "" "Y" "J" "J" "B" 20 "c" ""
            "REGION" (SETQ X(ENTLAST))""
            "ERASE" X "")
(COMMAND "pedit" "M" ss """J" "J" "B" 20 "c" ""
                  "REGION" (SETQ X(ENTLAST)) ""
                  "ERASE" X "")
)
)

magicheno 发表于 2022-6-5 03:06:42

感谢大佬分享

一张单程票 发表于 2022-6-5 11:07:48

对于多个共边的区域就不行了

guosheyang 发表于 2022-6-5 19:35:57

一张单程票 发表于 2022-6-5 11:07
对于多个共边的区域就不行了

对多个共边的区域 都不好弄即使用填充办法也会出错的
页: [1]
查看完整版本: 分享一种未完全闭合多段线生成面域的方法(容差面域)