(defun C:ОСИЗ (/ lnpo to slto skol sprol dko rkro us i opro dlzd shzd
sskol ssprol)
; : Длина здания :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")
(setvar "USERR5" (setq us(getint"\nМасштаб 50/200/100:")))
; (if (null us) (setq us 100))
(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)))
)
)
(setq ug(dtr 180) to lnpo shzd 0 sprol 0 stop 0)
(while (= stop 0)
(progn
(setq opro(getstring"\nОбозначение продольной оси:"))
(setq cko(polar to ug (+ rkro (/ dko 2))))
(setq tkpro(polar to ug rkro))
; Рисует ось
(command "ОТРЕЗОК" to tkpro "")
; Рисует кружок
(command "КРУГ" cko "Д" dko )
(if (= (getvar "USERI2") 1) (command "КРУГ" cko "Д" (- dko 2)))
; Рисует текст
(command "ТЕКСТ" "С" cko "0" opro)
(setq sprol(getint"\nРасстояние до следующей оси,мм:"))
(if (null sprol) (setq stop 1 sprol 0))
(setq ssprol(cons (/ sprol us) ssprol))
(setq slto(polar to (dtr 90) (/ sprol us)) trl(polar to ug (/ rkro 2)))
(if (and (= (getvar "USERI1") 0) (= stop 0))
(progn
(command "слой" "С" "$RAZM" "")
(command "размер" "вер" to slto trl sprol "ВЫХ")
(command "слой" "С" "$OSIZ" "")
))
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.