Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УММК_САПР.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.52 Mб
Скачать

Тема 3. Использование программ, написанных на Autolispe

Цель: Приобрести навыки использование программ, написанных на Autolispe

Задание: В заданной точке нарисовать звезду Давида.

Методические рекомендации:

(DEFUN C:DAVID()

(SETQ a (GETPOINT “Введите центр фигуры:”))

(SETQ b (GETINT “ Укажите размер:”))

(SETQ r (\ b 2))

(COMMAND “POLIGON” “3” “C” a r)

(COMMAND “MIRROR” “L” a (LIST (+ (CAR a) 5) (CDR a)) “N”)

)

Тема 4. Использование программ, написанных на Autolispe

Цель: приобрести навыки использование программ, написанных на Autolispe

Задание: В указанной точке нарисовать прямоугольник со сторонами А и В. Вычислить площадь, ее значение вывести в середине прямоугольника.

Методические рекомендации:

(DEFUN C:SQUARE()

(setq BP (getpoint “\1 Укажите левый нижний угол прямоугольника:”))

(setq AL (getdist “\1 Укажите расстояние по оси X:”))

(setq BH (getdist “\1 Укажите расстояние по оси Y:”))

(setq C (list (car BP) (+ (last BP) BH))

(setq A (list (+ (car BP) AL) (cadr BP))

(setq B (list (+ (car BR) AL) (+ (last BP) BH))

(command “PLINE” BP A B C

“TEXT” “m” (list (+ (car bp) (/ al 2)) (+ (last bp) (/ bh 2)))

“5” “ ” (* al bh) “ ”

)

)

Тема 5. Использование программ, написанных на Autolispe

Цель: приобрести навыки создания программ на Autolispe

Задание: Необходимо нарисовать правильный пятиугольник, в его вершинах поместить окружности с заданным радиусом. Вершины пятиугольника гладко сопрячь в два раза меньшим радиусом. Прямоугольник поместить в базовую точку.

Методические рекомендации:

(defun C:FigurE

(setq C (getpoint “\n Укажите базовую точку”)

L (getreal “\n Укажите радиус окружности”)

)

(command “POLIGON” “5” C “C” L)

(setq T (getpoint (“\n Укажите первую вершину”)

R (getreal (“\n Укажите радиус окружности”)

)

(command “CIRCLE” T R

“ARRAY” “L” “p” c “5” “ “ “ ”

)

(setq r (/ R 2)

(command “FILLET” “R” r

“FILLET” “P” T

)

)

Тема 6. Использование программ, написанных на Autolispe

Цель: приобрести навыки создания программ, написанных на Autolispe

Задание: Необходимо с клавиатуры создать файл и записать в него числовые значения введенные с клавиатуры. По окончанию ввода (пустая строка) файл закрыть и распечатать на экран его содержимое.

Методические рекомендации:

(defun inpt(A)

(prompt “Задайте имя файла”)

(setq A (read-line)

f (open A “w”)

S “*”

)

(while (\ = S “ “)

(prompt “Введите число”)

(setq S (read-line))

(princ S f)

)

(close f)

)

(defun outpt(A)

(setq F (open A “r”)

S “*”

)

(while (\ = S “nil”)

(setq S (read-line F))

(prin1 S)

)

(close f)

)

(defun C:READF()

(inpt A)

(outpt A)

)

Тема 7. Использование программ, написанных на Autolispe

Цель: приобрести навыки создания программ, написанных на Autolispe

Задание: Написать команду ACAD, позволяющую любому студенту оформить обложку любого отчета.

Методические рекомендации:

(defun C:TITLE()

(setq A1

B (getstring A “\a Введите название отчета”)

P (getstring “\n Введите группу”)

S “*”

)

(while (\ = S “ “)

(setq S (getstring “\n Разработчики:”)

P (append (P S)

)

)

(setq G (getstring “\n Кто проверил:”))

(setq N1 (list...))

(command “PLINE” (list 0 0) “w” “0.3” “0.3”

(list 210 0) (list 210 297)

(list 0 297) “C”

“PLINE” (list 20 5) “W” “0.3” “0.3”

(list 205 5) (list 205 292)

(list 20 292) “C”

“STYLE” “CYRILE” “CYRILSTD” “5” “1” “15” “no” “no” “no”

“TEXT” N1 “3.5” “0” “ГКНО”

“TEXT” N2 “3.5” “0” “Кафедра АСУ”

“TEXT” N3 “3.5” “0” B

“TEXT” N4 “3.5” “0” “Выполнили:”

“TEXT” N5 “3.5” “0” S

)

(setq NN (length S)

I 0

RL 0

)

(while (< I NN)

(setq BB (nth I B))

(command “TEXT”

(list (+ (car N4) 30) (- (cadr N4) RL) “3.5” “0”

(BBB BB)

)

(setq I (+ I L)

RL (+ RL 30)

)

)

)

(defun BBB (BB)

(setq BB1 (strcat (strcase “nil” (substr BB 11)) (substr BB 2)))

)