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

((and (= kolpr 2) (= shpr 1.5)) "prost215")

((and (= kolpr 2) (= shpr 1.8)) "prost218")

((and (= kolpr 2) (= shpr 2.1)) "prost221")

((and (= kolpr 3) (= shpr 1.2)) "prost312")

((and (= kolpr 3) (= shpr 1.5)) "prost312s")

((and (= kolpr 4) (= shpr 0.9)) "prost49")

)

)

(setq tprv(getpoint"\nНачало/<конец предыдущей>:"))

(if (null tprv) (setq tprv ptprv))

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

(setq ugol(rtd nap) mash(/ 100 (getvar "USERR5")))

(command "Вставь" stena tprv mash mash ugol)

(setq ptprv(polar tprv nap dl))

(setvar "BLIPMODE" bm)

(setvar "CMDECHO" ce)

(princ)

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

7.3.16 rosi.lsp

(defun C:РОСИ (/ lnpo to slto skol sprol dko rkro us i opro dlzd shzd)

; : Длина здания                   :dlzd

; : Ширина здания                  :shzd

; : Текущий угол в градусах        :ug

; : Счетчик цикла                  :i

; Сохранение значений системных переменных

(setq ce (getvar "CMDECHO"))

(setq bm (getvar "BLIPMODE"))

(setvar "CMDECHO" 0)

(setvar "BLIPMODE" 0)

;---------------*ТЕЛО ПРОГРАММЫ*---------------------------------(defun dtr(a)

(* PI (/ a 180.0))

)

(command "слой" "С" "$OSI" "Т" "center" "$OSI" "Ц" "4" "$OSI"

"С" "$OSIZ" "Т" "continuous" "$OSIZ" "Ц" "3" "$OSIZ" "" "РЕГЕН")

(command "СТИЛЬ" "gost" "gost" "5" "1.0" "0" "н" "н" "н")

(command "размер" "рзмтнрл" "вкл" "рзмвлзас" "2" "рзмтекст" "5"

"рзмрлмв" "вкл" "ВЫХ")

(setq USERI1 0 USERI2 0)

(menucmd "S=X") (menucmd "S=PVM")

(setq us(getint"\nМасштаб 50/200/<100>:"))

(if (null us) (setq us 100))

(setvar "USERR5" us)

(menucmd "S=X") (menucmd "S=OSETIN")

(setq lnpo(getpoint"\nЛевый нижний угол разреза:"))

(setq to lnpo skol 0)

(setq dko(getreal"\nДиаметр кружка обозначения оси 8/12/<10>:"))

(if (null dko) (setq dko 10))

(setq rkro(getreal"\nРасстояние до кружков осей <30>:"))

(if (null rkro) (setq rkro 30))

(setq i 1 ug(dtr 270) dlzd 0 stop 0)

(while (= stop 0)

(progn

(setq opro(getint(strcat"\nОбозначение оси<" (itoa i) ">:")))

(if (null opro) (setq opro(itoa i)))

(setq cko(polar to ug (+ rkro (/ dko 2))))

(setq tkpro(polar to ug rkro))

; Рисует ось

(command "ОТРЕЗОК" to tkpro "")

; Рисует кружок

(if (= (getvar "USERI2") 0) (command "КРУГ" cko "Д" dko )

(progn

(command "КРУГ" cko "Д" dko )

(command "КРУГ" cko "Д" (- dko 2))

))

; Рисует текст

(command "ТЕКСТ" "С" cko "0" opro)

(setq skol(getint"\nРасстояние до следующей оси,мм:"))

(if (null skol) (setq stop 1 skol 0))

(setq sskol(cons (/ skol us) sskol))

(setq slto(polar to 0 (/ skol us)) trl(polar to (dtr 270) (/ rkro 2)))

(if (and (= (getvar "USERI1") 0) (= stop 0))

(progn

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

(command "размер" "гор" to slto trl skol "ВЫХ")

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

))

(setq i(1+ i))

(setq to slto dlzd(+ dlzd (/ skol us)))

)

)

(command "слой" "С" "0" "")

(command "отрезок" (polar lnpo (dtr 180) 5) (polar slto (dtr 0) 5) "")

(setvar "BLIPMODE" bm)

(setvar "CMDECHO" ce)

(princ)