1. ;;说明:判断图元是中心点是否在两点构成的矩形框内
    2. ;;参数:ent:图元图元名
    3. ;;参数:pt1:矩形框第一点
    4. ;;参数:pt2:矩形框第一点
    5. ;;返回:如果图元中心点在两点构成的矩形框内,则返回【图元的中心点】,否则返回【nil
    6. (defun EntIsInRectang(ent pt1 pt2 / box isptinrectang pt tmp)
    7. ;;;判断p点是否在P1P2构成的矩形框内
    8. ;;;(IsPtInRectang (getpoint) (getpoint) (getpoint))
    9. (defun IsPtInRectang(p p1 p2) (vl-every '>= (mapcar '* (mapcar '- p p1) (mapcar '- p2 p)) '(0 0)))
    10. (defun box(e / ll ur)
    11. (vla-getboundingbox (vlax-ename->vla-object e) 'll 'ur)
    12. (mapcar 'vlax-safearray->list (list ll ur))
    13. )
    14. (setq tmp (box ent) pt (mapcar '* (mapcar '+ (car tmp) (cadr tmp)) '(0.5 0.5 0.5)))
    15. (if (IsPtInRectang pt pt1 pt2)
    16. pt
    17. nil
    18. )
    19. )