gdslqs 发表于 2011-11-16 16:04 
问下(vla-getboundingbox aaa)中aaa是什么类型的参数;我尝试获取第一个对象的外框,调试发现下面的代码在运 ...
希望对您有用 - ;; ! ***************************************************************************
- ;; ! xd_GetObjectBoundingBox
- ;; ! ***************************************************************************
- ;; ! 功 能 : 返回实体包围盒的对角点.
- ;; ! 参 数 : 'ename' - Any Drawing Object
- ;; ! 返回值 : 'Lst' - is a list of LL and UR
- ;; ! 说 明 : 适用 AutoCAD 2000+
- ;; ! e-mail : eachy@xdcad.net
- ;; ! Web : www.xdcad.net
- ;; ! ****************************************************************************
- (defun xd_GetObjectBoundingBox (ename / ll ur)
- (vla-GetBoundingBox (vlax-ename->vla-object ename) 'll 'ur)
- (list
- (vlax-safearray->list ll)
- (vlax-safearray->list ur)
- )
- )
- ;; ! ***************************************************************************
- ;; ! xd_GetSSBoundingBox
- ;; ! ***************************************************************************
- ;; ! 功 能 : 返回选择集实体包围盒的对角点.
- ;; ! 参 数 : 'ss' - Any Drawing Object Selection
- ;; ! 返回值 : 'Lst' - is a list of LL and UR
- ;; ! 说 明 : 适用 AutoCAD 2000+
- ;; ! e-mail : eachy@xdcad.net
- ;; ! Web : www.xdcad.net
- ;; ! ****************************************************************************
- (defun xd_getSSBoundingbox (ss / ssl i ptl)
- (setq ssl (sslength ss)
- i -1
- )
- (repeat ssl
- (setq
- ptl (cons (xd_getObjectboundingbox (ssname ss (setq i (1+ i))))
- ptl
- )
- )
- )
- ;;; (xd-points_box (apply 'append ptl))
- )
|