- ;; LILO
- ;; Loop In Loop Out Cable
- (defun C:LILO (/ os block ins rot cable clyr lyr point line pt1 ang offset
- dist pt2 pt3)
- (command "ucs" "w")
- (setq os (getvar "osmode"))
- (setvar "osmode" 0)
- (setq block (entsel "\nSelect Lighting Column: "))
- (setq ins (cdr (assoc 10 (entget (car block)))))
- (setq rot (rtd (cdr (assoc 50 (entget (car block))))))
- (setq cable (entsel "\nSelect Cable Run: "))
- (setq clyr (getvar "clayer"))
- (setq lyr (cdr (assoc 8 (entget (car cable)))))
- (setq point (osnap (cadr cable) "near"))
- (command "_.line" ins "perp" point "")
- (setq line (ssget "L"))
- (setq pt1 (cdr (assoc 11 (entget (ssname line 0)))))
- (entdel (entlast))
- (setq ang (angle ins pt1))
- (setq offset (dtr 25))
- (setq dist (distance ins pt1))
- (command "_.zoom" "c" ins (* 5 dist))
- (setq pt2 (polar ins (- ang offset) dist))
- (command "_.line" ins pt2 "")
- (command "_.extend" cable "" pt2 "")
- (setq line (ssget "L"))
- (setq pt2 (cdr (assoc 11 (entget (ssname line 0)))))
- (entdel (entlast))
- (setq pt3 (polar ins (+ ang offset) dist))
- (command "_.line" ins pt3 "")
- (command "_.extend" cable "" pt3 "")
- (setq line (ssget "L"))
- (setq pt3 (cdr (assoc 11 (entget (ssname line 0)))))
- (entdel (entlast))
- (setvar "clayer" lyr)
- (command "_.pline" pt2 ins pt3 "")
- (setvar "clayer" clyr)
- (command "_.extend" cable "" pt2 pt3 "")
- (command "_.break" cable "F" pt2 pt3)
- (entupd (car block))
- (setvar "osmode" os)
- (command "_.zoom" "p")
- (command "ucs" "p")
- (princ)
- )
- ;; RTD
- ;; Converts Radians to Degrees
- (defun rtd (a)
- (if (= 0 a)
- (setq a 0.0)
- (/ (* a 180.0) pi)
- )
- )
|