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

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

7.3.17 sanuz.lsp

;=====================САНТЕХУЗЛЫ===========================

(defun C:САНУЗ(/ tip sanuz mash tvst)

(setq ce (getvar "CMDECHO"))

(setq bm (getvar "BLIPMODE"))

(setvar "CMDECHO" 0)

(setvar "BLIPMODE" 0)

;========================Программа==========================

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

(setq tip(getint"\nТип санузла 1/2:"))

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

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

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

(setq ug(rtd ugol))

(setq ferma(cond

((= tip 1)) "SANUZ1")

((= tip 2)) "SANUZ2")

))

(command "вставь" sanuz tvs mas mas ug)

(setvar "BLIPMODE" bm)

(setvar "CMDECHO" ce)

(princ)

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

7.3.18 skaf.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" "")

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

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

(initget 7)

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

(setq skaf "schkaf")

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

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

(setq ugol(dtr ug))

(setq mas(getvar "USERR5") mk(/ 100 mas) sv(/ 1000 mas) sg(/ 500 mas))

(command "ВСТАВЬ" skaf tvs mk mk ugol)

(command "МАССИВ" "П" "" "П" kas krs sv sg)

(setvar "BLIPMODE" 0)

(setvar "BLIPMODE" bm)

(setvar "CMDECHO" ce)

(princ)

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

7.3.19 stena.lsp

;==========================СТЕНОВОЕ ОГРАЖДЕНИЕ========================

(defun C:СТЕНА (/tst vst ngu prv levpr asc stok verst)

(setq ce (getvar "CMDECHO"))

(setq bm (getvar "BLIPMODE"))

(setvar "CMDECHO" 0)

(setvar "BLIPMODE" 0)

(defun dtr(a)

(* PI (/ a 180.0))

)

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

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

(setq mash(getvar "USERR5"))

(setq tst(getint"\nТолщина стены,мм 300/240/200/120/<70>:"))

(if (null tst) (setq tst 70))

(initget 7)

(setq ngu(getpoint"\nУкажите точку пересечения оси с горизонтом:"))

(setq prv(getreal"\nПривязка внутренней грани стены к оси,мм:"))

(initget 7 "ВПраво ВЛево")

(setq levpr(getkword"\nВПраво/ВЛево:"))

(setq asc(cond ((= levpr "ВПраво") 1)

((= levpr "ВЛево") -1)

)        )

(setq stop T tvst (polar ngu (dtr(- 90(* 90 asc))) (/ prv mash)))

(while stop

(progn (initget 7)

(setq stok(getstring"\nСтена/Окно:"))

(if (eq stok "С")

(progn (initget 7)

(setq vst(getreal"\nВысота панели,мм 1800/1200/900:"))

))

(if (eq stok "О")

(progn (initget 7)

(setq vst(getreal"\nВысота окна,мм 1800/1200:"))

))

(setq verst(cond

((and(= stok "С")(= vst 1200)(= tst 200)) "PT6B2R1")

((and (= stok "С") (= vst 1800) (= tst 200)) "PT6B2R7")

((and (= stok "С") (= vst 1200) (= tst 240)) "PT6B24R1")

((and (= stok "С") (= vst 1800) (= tst 240)) "PT6B24R7")

((and (= stok "С") (= vst 1200) (= tst 300)) "PT6B3R1")

((and (= stok "С") (= vst 1800) (= tst 300)) "PT6B3R7")

((and (= stok "С") (= vst 900)  (= tst 120)) "PSRR69")