马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 newer 于 2020-6-29 22:59 编辑
 - (defun xd::get:union (ents mode / a b c ents1 x)
- (if (= (type ents) 'PICKSET)
- (setq ents (xdrx-pickset->ents ents))
- )
- (setq ents1 ents)
- (while (cdr ents)
- (setq a (car ents)
- b (cdr ents)
- )
- (setq ents (cdr ents))
- (while (car b)
- (setq c (car b))
- (if (xdrx-get-union a c)
- (progn
- (setq ents (cons a ents)
- b (vl-remove c b)
- ents (vl-remove c ents)
- )
- )
- )
- (setq b (cdr b))
- )
- )
- (cond
- ((xdrx-object-iskindof a "region,hatch,mpolygon")
- (if mode
- (list a)
- (xdrx-getpropertyvalue a "detach")
- )
- )
- ((xdrx-object-iskindof a "curve")
- (vl-remove nil (mapcar
- '(lambda (x)
- (if (entget x)
- x
- )
- )
- ents1
- )
- )
- )
- )
- )
|