Professional Documents
Culture Documents
Lisp Azim
Lisp Azim
(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)
" "