;;说明:判断图元是中心点是否在两点构成的矩形框内
;;参数:ent:图元图元名
;;参数:pt1:矩形框第一点
;;参数:pt2:矩形框第一点
;;返回:如果图元中心点在两点构成的矩形框内,则返回【图元的中心点】,否则返回【nil】
(defun EntIsInRectang(ent pt1 pt2 / box isptinrectang pt tmp)
;;;判断p点是否在P1,P2构成的矩形框内
;;;(IsPtInRectang (getpoint) (getpoint) (getpoint))
(defun IsPtInRectang(p p1 p2) (vl-every '>= (mapcar '* (mapcar '- p p1) (mapcar '- p2 p)) '(0 0)))
(defun box(e / ll ur)
(vla-getboundingbox (vlax-ename->vla-object e) 'll 'ur)
(mapcar 'vlax-safearray->list (list ll ur))
)
(setq tmp (box ent) pt (mapcar '* (mapcar '+ (car tmp) (cadr tmp)) '(0.5 0.5 0.5)))
(if (IsPtInRectang pt pt1 pt2)
pt
nil
)
)