Приложение "АВТОГРАФ" для автоматизации процесса формирования графического раздела архитектурно-строительной части проекта, страница 17

(command "слой" "С" "$POKR" "")

(initget 7)

(setq traz(getstring"\nРазрез ПРодольный/ПОперечный:"))

(if (eq traz "ПР") (setq r 1))

(if (eq traz "ПО") (setq r 0))

(initget 7)

(setq pbal(getint"\nПролет балки,м 12/18:"))

(setq mash(/ 100 (getvar "USERR5")))

(setq tvst(getpoint"\nТочка вставки:"))

(setq balka(cond

((and (= pbal 12) (= r 1)) "RBSR12")

((and (= pbal 12) (= r 0)) "RBS12")

((and (= pbal 18) (= r 1)) "RBSR18")

((and (= pbal 18) (= r 0)) "RBS18")

))

(command "вставь" balka tvst mash mash (dtr 0))

(setvar "BLIPMODE" bm)

(setvar "CMDECHO" ce)

(princ)

);============================КОНЕЦ=============================

7.3.2 diag.lsp

;========================ДИАФРАГМЫ ЖЕСТКОСТИ  АБК=====================

(defun C:ДЖ(/ ros rkol kolpr tprv nap ugol diag)

(setq ce (getvar "CMDECHO"))

(setq bm (getvar "BLIPMODE"))

(setvar "CMDECHO" 0)

(setvar "BLIPMODE" 0)

(defun dtr(a)

(* PI (/ a 180.0))

)

(defun rtd(a)

(/ (* a 180.0) PI)

)

;==========================ПРОГРАММА===================================

(command "слой" "С" "$STENI" "")

(setq mash(getvar "USERR5"))

(initget 6)

(setq ros(getint"\nРасстояние в осях 3/<6>:"))

(if (null ros) (setq ros 6))

(setq rkol(getint"\nКолонна 400/<300>:"))

(if (null rkol) (setq rkol 300))

(setq kolpr(getint"\nКол-во проемов 1/2/<0>:"))

(if (null kolpr) (setq kolpr 0))

(setq diag (cond   ((and (= ros 6) (= rkol 300) (= kolpr 0)) "diag630")

((and (= ros 6) (= rkol 300) (= kolpr 1)) "diag631")

((and (= ros 6) (= rkol 300) (= kolpr 2)) "diag632")

((and (= ros 6) (= rkol 400) (= kolpr 0)) "diag640")

((and (= ros 6) (= rkol 400) (= kolpr 1)) "diag641")

((and (= ros 6) (= rkol 400) (= kolpr 2)) "diag642")

((and (= ros 3) (= rkol 300) (= kolpr 0)) "diag330")

((and (= ros 3) (= rkol 300) (= kolpr 1)) "diag331")

((and (= ros 3) (= rkol 400) (= kolpr 0)) "diag340")

((and (= ros 3) (= rkol 400) (= kolpr 1)) "diag341")

))

(setq tprv(getpoint"\nТочка привязки:"))

(setq nap(getangle tprv "\nНаправление:"))

(setq ugol(rtd nap))

(command "Вставь" diag tprv (/ 100 mash) (/ 100 mash) ugol)

(setvar "BLIPMODE" bm)

(setvar "CMDECHO" ce)

(princ)

);===========================КОНЕЦ========================================

7.3.3 dus.lsp

;---------------*Душевые АБК*---------------------(defun C:ДУШ()

(setq ce (getvar "CMDECHO"))

(setq bm (getvar "BLIPMODE"))

(setvar "CMDECHO" 0)

(setvar "BLIPMODE" 0)

(defun dtr(a)

(* PI (/ a 180.0))

)

(command "СЛОЙ" "С" "$SANTEH" "")

(initget 7 "Душевая Умывальник")

(setq vibor(getkword"\Душевая/Умывальник:"))

(setq krds(getint"\nКол-во рядов 2/<1>:"))

(if (null krds) (setq krds 1))

(initget 7)

(setq kads(getint"\nКол-во ячеек в ряду:"))

(if (= vibor "Душевая")

(progn

(setq s1(getint"\nРазмер душевой сетки,мм 1000/<900>:"))

(if (null s1) (setq s1 900))

(setq s2 s1)

)

(setq s1 650 s2 400))

(cond  ((and (= vibor "Душевая") (= s1 900))  (setq dus "dush9"))

((and (= vibor "Душевая") (= s1 1000)) (setq dus "dush10"))

((= vibor "Умывальник") (setq dus "umival"))

)

(setq tvs(getpoint"\nТочка вставки:"))

(setq ugol(getangle tvs "\nУгол поворота:"))

(setq ug(dtr ugol))

(setq mas(getvar "USERR5") mk(/ 100 mas))

(command "вставь" dus tvs mk mk ug)

(command "массив" "П" "" "П" kads krds (/ s1 mas) (/ s2 mas))