Каждый раз новый результат - Lisp
Формулировка задачи:
Приветствую Написал такое:
Не знаю почему, но при каждой загрузке рисуется что-то новое, причём не то, что запрограммировано, в чём проблема? Спасибо.
Листинг программы
- (defun layers()
- (command "_linetype" "_load" "осевая" "" "" "")
- (command "_linetype" "_load" "штриховая" "" "" "")
- (command "_LAYER" "_New" "Main lines" "_LWeight" 0.7 "Main lines" "_Ltype" "CONTINUOUS" "Main lines" "_Color" "_white" "Main lines" "")
- (command "_LAYER" "_New" "Dim lines" "_LWeight" 0.35 "Dim lines" "_Ltype" "CONTINUOUS" "Dim lines" "_Color" "_white" "Dim lines" "")
- (command "_LAYER" "_New" "Axis lines" "_LWeight" 0.35 "Axis lines" "_Ltype" "осевая" "Axis lines" "_Color" "_white" "Axis lines" "")
- (command "_LAYER" "_New" "NonVis lines" "_LWeight" 0.35 "NonVis lines" "_Ltype" "штриховая" "NonVis lines" "_Color" "_white" "NonVis lines" "")
- )
- (defun bottomPart()
- ;нижний куб
- (command "Ящик"
- (list 0 0 0)
- (list s23 s20 0)
- s2
- "")
- ;кубы для вычитания
- ;;;;;;;;;;;;;;;;;;;;;;;;
- (command "Ящик"
- (list -1 (+ (/ s20 2) (/ s11 2)) s3)
- (list s14 (- (/ s20 2) (/ s11 2)) s3)
- (- s2 s3) "")
- (command "Вычитание"
- (list 0 0 0)
- ""
- (list -1 (+ (/ s20 2) (/ s11 2)) s3)
- "")
- ;;;;;;;;;;;;;;;;;;;;;;;;
- (command "Ящик"
- (list -2 (+ (/ s20 2) (/ s12 2)) s3)
- (list (- s23 s24) (- (/ s20 2) (/ s12 2)) s3)
- (- s2 s3) "")
- (command "Вычитание"
- (list 0 0 0)
- ""
- (list -2 (+ (/ s20 2) (/ s12 2)) s3)
- "")
- ;;;;;;;;;;;;;;;;;;;;;;;
- (command "Цилиндр"
- (list (- s23 s24) (/ s20 2) s3)
- s18
- (+ (- s2 s3) 1) "")
- (command "Вычитание"
- (list 0 0 0)
- ""
- (list (- s23 s24) (/ s20 2) s3)
- "")
- ;;;;;;;;;;;;;;;;;;;;;;;;
- (command "Ящик"
- (list -2 (+ (/ s20 2) (/ s13 2)) 0)
- (list s22 (- (/ s20 2) (/ s13 2)) 0)
- s2 "")
- (command "Вычитание"
- (list 0 0 0)
- ""
- (list -2 (+ (/ s20 2) (/ s13 2)) 0)
- "")
- ;;;;;;;;;;;;;;;;;;;;;;;
- (command "Цилиндр"
- (list (- s23 s24) (/ s20 2) -1)
- (/ s10 2)
- s9 "")
- (command "Вычитание"
- (list 0 0 0)
- ""
- (list (- s23 s24) (/ s20 2) s9)
- "")
- ;;;;;;;;;;;;;;;;;;;;;;;
- (command "Цилиндр"
- (list s21 (- (/ s20 2) (/ s12 2)) -1)
- (/ s1 2)
- s9 "")
- (command "Вычитание"
- (list 0 0 0)
- ""
- (list s21 (- (/ s20 2) (/ s12 2)) s9)
- "")
- ;;;;;;;;;;;;;;;;;;;;;;;
- (command "Цилиндр"
- (list s21 (+ (/ s20 2) (/ s12 2)) -1)
- (/ s1 2)
- s9 "")
- (command "Вычитание"
- (list 0 0 0)
- ""
- (list s21 (+ (/ s20 2) (/ s12 2)) s9)
- "")
- )
- (defun topPart()
- ;Верхний;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (command "Цилиндр"
- (list (- s23 s24) (/ s20 2) s2)
- s17
- (- s9 s2)
- "")
- ;Кубы для вычитания
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (command "Ящик"
- (list (- s23 s24) (+ (/ s20 2) s17) s2)
- (list (- (- s23 s24) s15) (- (/ s20 2) s17) s2)
- (- s9 s2)
- "")
- (command "Вычитание"
- (list (+ (- s23 s24) s17) (/ s20 2) s2)
- ""
- (list (- (- s23 s24) s15) (- (/ s20 2) s17) s9)
- "")
- (command "Цилиндр"
- (list (- s23 s24) (/ s20 2) s2)
- s18
- (+ (- s9 s2) 10) "")
- (command "Вычитание"
- (list (+ (- s23 s24) s17) (/ s20 2) s2)
- ""
- (list (- (- s23 s24) s18) (/ s20 2) (+ s9 10))
- "")
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (command "Ящик"
- (list (- s23 s24) (+ (/ s20 2) s17) s2)
- (list (- (- s23 s24) s15) (+ (/ s20 2) s18) s2)
- (- s9 s2) "")
- (command "Ящик"
- (list (- s23 s24) (- (/ s20 2) s17) s2)
- (list (- (- s23 s24) s15) (- (/ s20 2) s18) s2)
- (- s9 s2) "")
- ;Кубы для вычитания
- (command "Цилиндр"
- (list (- (- s23 s24) s7) s20 s2)
- s6
- (/ s20 2)
- "")
- )
- (defun c:view3D()
- (layers)
- (command "_shademode" "4")
- (command "_.osnap" "_none")
- (command "_layer" "_make" "Main lines" "")
- (setvar "cmdecho" 0) ;отключение эха
- (setvar "osmode" 0) ;отключение объектной привязки
- ;///////////////////////////////
- (setq s1 10)
- (setq s2 30)
- (setq s3 20)
- (setq s4 15)
- (setq s5 20)
- (setq s6 10)
- (setq s7 15)
- (setq s8 25)
- (setq s9 60)
- (setq s10 20)
- (setq s11 50 )
- (setq s12 30)
- (setq s13 10)
- (setq s14 30)
- (setq s15 30)
- (setq s16 35)
- (setq s17 20)
- (setq s18 15)
- (setq s19 10)
- (setq s20 60)
- (setq s21 10)
- (setq s22 50)
- (setq s23 110)
- (setq s24 40)
- (bottomPart)
- (topPart)
- )
Решение задачи: «Каждый раз новый результат»
textual
Листинг программы
- (command "Вычитание"
- (list 0 0 0)
- ""
- (list -1 (+ (/ s20 2) (/ s11 2)) s3)
- "")
Объяснение кода листинга программы
В представленном коде:
- Название команды:
Вычитание
. - Список с тремя нулями: (list 0 0 0).
- Пустая строка: ``.
- Список с одним элементом, которым является результат вычисления выражения (-1 (+ (/ s20 2) (/ s11 2))), и строкой
s3
. - Еще одна пустая строка: ``
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д