Hi Lions60,
Test this code
Code:
(defun dtr (a)
(* pi (/ a 180.0))
)
(defun C:Econo (/ ang bndry1 bndry2 coord cpnt cpnt1 el1 el2 old_osnap pnt1 pnt2 vevo1 vevo2)
(setq old_osnap(getvar "osmode"))
(setq pnt1 (getpoint "\nSelect the upper right hand corner of the Economizer Section: \n"))
; (4.26591 25.9316 0.0)
(setq pnt2 (getcorner pnt1 "\nSelect the lower left hand corner of the Economizer Section: \n"))
; (35.7619 3.30618 0.0)
(setvar "osmode" 0)
(setq ang (getreal "Enter angle of economizer <30 or 45>:\n"))
; 30.0
(setq cpnt (list(/ (+(car pnt1)(car pnt2))2)(/ (+(cadr pnt1)(cadr pnt2))2)))
; (20.0139 14.6189)
(setq cpnt1 (polar cpnt (dtr ang) 3))
; (22.612 16.1189)
(setq bndry1 (polar pnt2 (dtr 90) (-(cadr pnt1)(cadr pnt2))))
; (35.7619 25.9316 0.0)
(setq bndry2 (polar pnt1 (dtr 270) (-(cadr pnt1)(cadr pnt2))))
; (4.26591 3.30618 0.0)
(command "_line" cpnt cpnt1 "")
(setq el1 (entlast))
(setq vevo1 (vlax-ename->vla-object el1))
(command "_line" pnt1 bndry2 "")
(setq el2 (entlast))
(setq vevo2 (vlax-ename->vla-object el2))
(setq coord (vlax-invoke vevo1 'IntersectWith vevo2 1))
(alert (strcat "\nThis intersection at"
"\n"
"\n"
"(" (rtos (car coord))
","
(rtos (cadr coord))
","
(rtos (caddr coord))
")")))
;(command "_erase" el1 el2 "")
;(setq inters1 (inters cpnt cpnt1 pnt1 bndry2))
(setvar "osmode" old_osnap)
)