hehoubin 发表于 2013-10-15 17:56:55

RE: 已解决区域并集分解成多段线的程序,

本帖最后由 hehoubin 于 2013-10-21 15:40 编辑

(defun c:bj(/ ss lastent lastent2 s1 s2 e f) 并集
(setq ss (ssget))               
(setq lastent (entlast))         
(setq s1 (ssadd))               
(command ".region" ss "")         
(while (setq e (entnext lastent))
(ssadd e s1)                     
(setq lastent e))               
(command ".union" s1 "")         
(setq lastent2 (entlast))
(command ".explode" lastent2 )
(setq s2 (ssadd))
(while (setq f (entnext lastent2))
(ssadd f s2)
(setq lastent2 f)
)
(setvar "PEDITACCEPT" 0)
(command "_.pedit" "_m" s2 "" "_y" "_j""0" "c" "" ))这个程序只能比较成一个区域并并分解
希望能改成并集成多个区域并分解

多谢大侠们的帮忙。。

fsafaffa 发表于 2017-10-22 13:36:52

这是并集,有交集或差集吗

孙玉坤 发表于 2017-9-4 07:20:04

顶ddddddddddddddddddd

SYTDD 发表于 2018-2-14 21:02:46

谢谢分享,学习

自贡黄明儒 发表于 2013-10-15 18:00:16

explode面欲

hehoubin 发表于 2013-10-15 18:49:09

分解的对象有为问题么

hehoubin 发表于 2013-10-15 18:50:04

请老师帮忙改下。谢谢

emk 发表于 2013-10-15 20:29:32

呵呵,选择集求外接矩形对角点,reg图元,uni对角点区域,x炸开,pe下

Andyhon 发表于 2013-10-15 21:38:22

实务上的情况或许没这么单纯...

若果真单纯到没有其他对象的干扰
用一个稍大的包围框,框住如图示的三组叠合矩形
然后借用 BOUNDARY 即可

hehoubin 发表于 2013-10-15 23:15:42

回复6楼
就是有其他物体的干扰
我是了用BOUNDARY 行不通。所以才想到这个


回复5楼,窗选也会选到替他物体吧

xyp1964 发表于 2013-10-15 23:23:54


Andyhon 发表于 2013-10-16 07:46:35

本帖最后由 Andyhon 于 2013-10-16 08:23 编辑

回复7楼

那么就得先行隐藏包围框内的不相干物件
事后再行还原...

ZZXXQQ 发表于 2013-10-16 08:30:49

本帖最后由 ZZXXQQ 于 2013-10-16 22:36 编辑

(defun c:bj(/ 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" "")
(if (setq ss (ssget "P" '((0 . "REGION")))) (command ".EXPLODE" ss ""))
(setvar "QAFLAGS" 0)
;(setvar "PEDITACCEPT" 0)
(command "_.pedit" "_M" "P" "" "Y" "_J" "0" "")
;(setvar "PEDITACCEPT" 1)
))
(setvar "CMDECHO" 1)
(princ)
)
页: [1] 2 3
查看完整版本: RE: 已解决区域并集分解成多段线的程序,