当前提取的边界框
你好我需要获得当前图形的边界框(即最小值和最大值)。
我的代码,
(defun bboxdims (/ ent obj minpt maxpt pt1 pt2)
(vl-load-com)
(if (setq ent (car (entsel)))
(progn
(vlax-invoke-method (vlax-ename->vla-object ent) 'getboundingbox 'minpt 'maxpt)
(setq pt1 (trans (vlax-safearray->list minpt) 0 ent))
(setq pt2 (trans (vlax-safearray->list maxpt) 0 ent))
(list (- (car pt2)(car pt1))(- (cadr pt2)(cadr pt1)))
)
)
)
使用这个,我只能选择单个对象。但我希望选择当前图形中的所有对象,并获得图形的边界框。
帮助我 这可能有用。。。。。
(vla-zoomextents (vlax-get-acad-object))
(setq MinP (getvar 'vsmin))
(setq MaxP (getvar 'vsmax))
塔瓦特 谢谢Tharwat,很好用 不客气,卡莱。 这将返回所提供选择集的边界框:
这里有一个函数来测试它:
这里是另一个变体。
页:
[1]