lisp的vla函数画矩形_lisp求最大外形矩形 ,如何才能将选择集内所有对象进行循环单独绘制最大外形矩形??谢谢...

该LISP函数`try-getbox`旨在获取选择集中每个对象的边界框,并绘制出覆盖所有对象的最大外形矩形。通过递归处理`VLA-object`、`ENAME`和`LIST`或`PICKSET`类型的数据,函数计算并返回包围所有对象的最小边界矩形坐标。
摘要由CSDN通过智能技术生成

(defun try-getbox (e / en i l max1 min1 pt1 pt2 sn tx1 tx2 ty1 ty2 tye x1 x2 y1 y2)

(setq tye(type e))

(cond

((= 'VLA-object tye)

(vla-GetBoundingBox e 'p1 'p2)

(setq min1 (vlax-safearray->list p1))

(setq max1 (vlax-safearray->list p2))

(list min1 max1)

)

((= 'ENAME tye)

(try-GetBox (vlax-ename->vla-object e))

)

((or(= 'LIST tye)(= 'PICKSET tye))

(if (= 'PICKSET tye)(setq e (repeat (sslength ss)

(setq l(cons (vlax-ename->vla-object(ssname ss(setq i(1+ i)))) l))

)))

(if (= ENAME(type(car e)))(setq e(mapcar 'vlax-ename->vla-object e)))

(vla-getboundingbox (car e) 'pt1 'pt2)

(setq

pt1(vlax-safearray->list pt1)

pt2 (vlax-safearray->list pt2)

tx1 (car pt1)

ty1 (cadr pt1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值