You are on page 1of 4

(Defun c:AZI ()

(SAVE_VAR)
(SET_VAR)
(if (= set_style nil)
(progn
(command "style" "standard" "")
(setq set_style (getstring "\nEnter Text Style Name to use: "))
)
)
(command "textstyle" set_style)
(METHOD)
(COLLECT_DATA)
(RESTORE_VAR)
(EXIT_OUT)
)
(Defun SAVE_VAR ()
(setq
c_aun (getvar "AUNITS")
c_blp (getvar "BLIPMODE")
c_col (getvar "CECOLOR")
c_lay (getvar "CLAYER")
c_cmd (getvar "CMDECHO")
c_scl (getvar "DIMSCALE")
c_unt (getvar "LUNITS")
c_txt (getvar "TEXTSTYLE")
c_txs (getvar "TEXTSIZE")
)
)
(Defun SET_VAR ()
(setvar "AUNITS" 4)
(setvar "BLIPMODE" 0)
(setvar "CECOLOR" "bylayer")
(setvar "CMDECHO" 0)
(setvar "LUNITS" 2)
(if (= (tblsearch "LAYER" "brgdst") nil)
(command "layer" "m" "brgdst" "c" "2" "" "")
(command "layer" "s" "brgdst" "")
)
(setvar "TEXTSIZE" (* 0.1 c_scl)) ; modify to use another height
(setq ang_p (getint "\nEnter number of places of precision for bearings: "))
(setq dist_p (getint "\nEnter number of places of precision for distance: "))
)
(Defun COLLECT_DATA ()
(prompt "\nSelect lines to label: ")
(setq get_lines (ssget))
(setq
ss_len (sslength get_lines)
ss_num (eval ss_len)
)
(repeat ss_num
(setq ss_ent (ssname get_lines 0))
(if (/= (cdr (assoc 0 (setq ss_eval (entget ss_ent)))) "LINE")
(ssdel ss_ent get_lines)
(EVAL_DATA)
)
)
)

(Defun RESTORE_VAR ()
(setvar "AUNITS" c_aun)
(setvar "BLIPMODE" c_blp)
(setvar "CECOLOR" c_col)
(setvar "CLAYER" c_lay)
(setvar "CMDECHO" c_cmd)
(setvar "DIMSCALE" c_scl)
(setvar "LUNITS" c_unt)
(setvar "TEXTSTYLE" c_txt)
(setvar "TEXTSIZE" c_txs)
)
(Defun EVAL_DATA ()
(setq
10code (cdr (assoc 10 ss_eval))
11code (cdr (assoc 11 ss_eval))
linang (angle 10code 11code)
linlen (distance 10code 11code)
)
(setq linang (RTD linang))
(EDIT_DATA)
)

;Line
;Line
;Line
;Line

begin point
end point
angle
length

(Defun EDIT_DATA ()
(if (= 1_to_4 "1")
(progn
(setq pt1 (polar 10code (DTR linang) (/ linlen 2.0)))
(setq txtlinang linang)
(cond
((and (>= linang 0) (<= linang 90)) (setq linang linang))
((and (> linang 90) (<= linang 270)) (setq linang (+ linang 180.0)))
((and (> linang 270) (< linang 360)) (setq linang linang))
)
(setq txtpt (polar pt1 (DTR (+ linang 90.0)) (* 0.1 c_scl)))
(command "text" "m" txtpt "" linang
(strcat
(angtos (DTR txtlinang) 4 ang_p)
" "
(rtos linlen 2 dist_p)
"\'"
)
)
)
)
(if (= 1_to_4 "2")
(progn
(setq pt1 (polar 10code (DTR linang) (/ linlen 2.0)))
(setq txtlinang linang)
(cond
((and (>= linang 0) (<= linang 90)) (setq linang linang))
((and (> linang 90) (<= linang 270)) (setq linang (+ linang 180.0)))
((and (> linang 270) (< linang 360)) (setq linang linang))
)
(setq txtpt (polar pt1 (DTR (+ linang 90.0)) (* 0.1 c_scl)))
(setq txtpt2 (polar txtpt (DTR (+ linang 270.0)) (* 0.2 c_scl)))
(command "text" "m" txtpt2 "" linang
(strcat
(angtos (DTR txtlinang) 4 ang_p)
" "

(rtos linlen 2 dist_p)


"\'"
)
)
)
)
(if (= 1_to_4 "3")
(progn
(setq pt1 (polar 10code (DTR linang) (/ linlen 2.0)))
(setq txtlinang linang)
(cond
((and (>= linang 0) (<= linang 90)) (setq linang linang))
((and (> linang 90) (<= linang 270)) (setq linang (+ linang 180.0)))
((and (> linang 270) (< linang 360)) (setq linang linang))
)
(setq txtpt (polar pt1 (DTR (+ linang 90.0)) (* 0.1 c_scl)))
(setq txtpt2 (polar txtpt (DTR (+ linang 270.0)) (* 0.2 c_scl)))
(command "text" "m" txtpt "" linang (angtos (DTR txtlinang) 4 ang_p))
(command "text" "m" txtpt2 "" linang (strcat
(rtos linlen 2 dist_p)
"\'"
)
)
)
)
(if (= 1_to_4 "4")
(progn
(setq pt1 (polar 10code (DTR linang) (/ linlen 2.0)))
(setq txtlinang linang)
(cond
((and (>= linang 0) (<= linang 90)) (setq linang linang))
((and (> linang 90) (<= linang 270)) (setq linang (+ linang 180.0)))
((and (> linang 270) (< linang 360)) (setq linang linang))
)
(setq txtpt (polar pt1 (DTR (+ linang 90.0)) (* 0.1 c_scl)))
(setq txtpt2 (polar txtpt (DTR (+ linang 270.0)) (* 0.2 c_scl)))
(command "text" "m" txtpt "" linang (strcat
(rtos linlen 2 dist_p)
"\'"
)
)
(command "text" "m" txtpt2 "" linang (angtos (DTR txtlinang) 4 ang_p))
)
)
(ssdel ss_ent get_lines)
)
(Defun METHOD ()
(textscr)
(prompt "\n<1> Bearing - Dist /")
(prompt "\n<2> / Bearing - Dist")
(prompt "\n<3> Bearing / Dist")
(prompt "\n<4> Dist / Bearing")
(initget 1 "1 2 3 4")
(setq 1_to_4 (getkword "\nEnter method: "))
)
(Defun DTR (a)
(* pi (/ a 180.0))
)

(Defun RTD (a)


(/ (* a 180.0) pi)
)
(Defun EXIT_OUT ()
(prompt "\n")
)
(prompt "\nCommand Name is BRGDST\n")

You might also like