54256 发表于 2013-8-2 16:41:49

怎样获得选择集的坐标范围

我的程序中对于在屏幕外的选择集,操作错误

能不能在做完选择集的时候,返回整个选择集的坐标范围,我通过zoom把整个选择集都显示在屏幕上

不知道我说清楚了没有,谢谢

wowan1314 发表于 2013-8-2 16:43:39

;选择集包围盒2
(defun t11 (ss / a en enma enmi ll ur)
    (setq a -1)
    (while
      (setq en (ssname ss (setq a (1+ a))
            )
      )
      (vla-getboundingbox (vlax-ename->vla-object en) 'll 'ur)
      (setq enma (cons (vlax-safearray->list ll) enma)
            enmi (cons (vlax-safearray->list ur) enmi)
      )
    )
    (mapcar '(lambda(a b)(apply 'mapcar (cons a b))) '(max min) (list enma enmi))
)

Andyhon 发表于 2013-8-2 16:55:58

倘使已有 ET 支持,还可这样

(acet-geom-ss-extents ss T)

669423907 发表于 2013-8-2 22:01:31

(defun c:q1()
(setq ss (ssget))
(command "zoom" "o" ss "")
(princ))

669423907 发表于 2013-8-2 22:04:00

wowan1314 发表于 2013-8-2 16:43 static/image/common/back.gif


wowan1314大师,提示参数太少
页: [1]
查看完整版本: 怎样获得选择集的坐标范围