Irneb,
I am trying something that will work for viewports that are not rotated or clipped but I can' t figure out how to translate paperspace coordinates to modelspace coordinates.
How do you use the TRANS function to translate points PS to MS?
Code:
(defun rtd (a) (* (/ a pi) 180.0))
(defun dtr (a) (* (/ a 180.0) pi))
(defun c:vp_overlap (/ vp)
(initerr)
(setq vp (entget (car (entsel "\nSelect Viewport: "))))
(setq vp_cp (cdr (assoc 10 vp)))
(setq vp_w (cdr (assoc 40 vp)))
(setq vp_h (cdr (assoc 41 vp)))
(setq pt1 (polar (polar vp_cp (dtr 90) (/ vp_h 2)) (dtr 180) (/ vp_w 2)))
(setq pt2 (polar (polar vp_cp (dtr 90) (/ vp_h 2)) (dtr 0) (/ vp_w 2)))
(setq pt3 (polar (polar vp_cp (dtr 270) (/ vp_h 2)) (dtr 0) (/ vp_w 2)))
(setq pt4 (polar (polar vp_cp (dtr 270) (/ vp_h 2)) (dtr 180) (/ vp_w 2)))
(setq pt1 (trans pt1 2 0))
(setq pt2 (trans pt2 2 0))
(setq pt3 (trans pt3 3 2))
(setq pt4 (trans pt4 3 2))
(reset)
(princ)
)
(princ)