Работа с графическими объектами AutoCAD с использованием языка AutoLISP. Учебно-методическое пособие
.pdfМинистерство транспорта Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования «Российский университет транспорта (МИИТ)»
___________________________________________________
Институт пути, строительства и сооружений
Кафедра «Системы автоматизированного проектирования»
.
М.А. ГУРКОВА, И.В.НЕСТЕРОВ, Е.С.ШЕПИТЬКО
Работа с графическими объектами AutoCAD с использованием языка AutoLISP
Учебно-методическое пособие для студентов направлений
«Информатика и вычислительная техника» и «Строительство железных дорог, мостов и тоннелей»
Москва – 2017
УДК 004
Г 95
Гуркова М.А. Нестеров И.В. Работа с графическими объектами AutoCAD с использованием языка AutoLISP. Учебно-методическое пособие. - М.: РУТ(МИИТ), 2017. -
80с.
Вучебно-методическом пособии содержатся рекомендации по выполнению лабораторных заданий по курсам «Геометрическое моделирование», «Компьютерное моделирование». Подробно, с пошаговым изложением, разбираются примеры заданий.
Приводятся варианты заданий, выполняемых студентами в рамках дисциплин «Геометрическое моделирование» и «Компьютерное моделирование».
Учебно-методическое пособие предназначено для студентов направлений - 09.03.01 Информатика и вычислительная техника, профиль - Системы автоматизированного проектирования. и 23.05.06 «Строительство железных дорог, мостов и тоннелей»
Учебно-методическое пособие может быть полезно для желающих изучить начала программирование на языке
AutoLISP в среде VisualLISP
Рецензент Доцент института ИПСС РУТ (МИИТ),
кандидат технических наук А.Н.Сонин,
© РУТ (МИИТ), 2017
Введение
Лисп (LISP, от англ. LISt Processing — «обработка списков») — семейство языков программирования, основанных на представлении программы системой линейных списков символов, которые являются основной структурой данных языка. Лисп считается вторым после Fortran старейшим высокоуровневым языком программирования.
Большим достоинством Лиспа является его функциональная направленность, т. е. программирование ведется с помощью функций. Это позволяет относительно легко писать и отлаживать большие программные комплексы. Ясность программ, четкое разграничение их функций, отсутствие побочных эффектов при их выполнении является обязательными требованиями к программированию логически сложных задач, каковыми являются задачи автоматизации черчения. Язык программирования Лисп предназначен в первую очередь для обработки символьной информации. Поэтому естественно, что в мире Лиспа числа играют далеко не главную роль. Основные типы данных в Лиспе называются “атом” и “точечная пара”.
Язык AutoLisp – это интерпретатор, программа выполняется отдельными строками. Программа работает медленнее, но это удобно с точки зрения отладки. Любой набор команд AutoLisp можно выполнить в командной строке. Если во время сеанса активизирована программа, написанная с ошибками, AutoLisp прекращает ее обработку, сообщает об ошибке и производит обратную трассировку программы, указывая то место, где она совершена.
3
Лабораторная работа № 1 Программирование сложных математических выражений
Задание: Написать программу вычисления выражения: Переменные a и b ввести, используя функцию getreal, результат напечатать, используя функцию princ. Полученный результат проверить с помощью команды
AutoCADa _CAL(КАЛЬК).
Математические функции языка AutoLisp
Наименование операции |
|
|
Функция |
|||||||
Сложение |
|
|
|
|
(+ <p1> <p2> ….) |
|||||
Вычитание |
|
|
|
(- <p1> <p2> ….) |
||||||
Умножение |
|
|
|
(* <p1> <p2> ….) |
||||||
Деление |
|
|
|
|
(/ <p1> <p2> ….) |
|||||
Модуль числа |
|
|
(abs <p1>) |
|||||||
Корень квадратный |
|
|
(sqrt <p1>) |
|||||||
Возведение в степень аb |
(expt <a> <b>) |
|||||||||
еа |
|
|
|
|
(exp <p1>) |
|||||
Натуральный логарифм |
(log <p1>) |
|||||||||
Тригонометрические |
|
|
(sin <p1>) угол в радианах |
|||||||
функции (углы задается |
(cos <p1>) угол в радианах |
|||||||||
в радианах) |
|
|
|
(atan <p1> [<p2>]) |
||||||
|
|
|
|
|
При наличии аргумента р2 |
|||||
|
|
|
|
|
вычисляется atan(p1/p2) |
|||||
Логические функции |
|
|
(max <p1> <p2> <p3> ….) |
|||||||
|
|
|
|
|
(min <p1> <p2> <p3> ….) |
|||||
Пример |
|
|
|
|
|
|
|
|
|
|
|
(0.17a b(0.1 ) ) |
|
|
|
|
|
|
|||
y |
|
|
0.17b cos(0.4a ) |
|
, |
|||||
|
|
|||||||||
|
0.8 2b |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
(setq a |
|
(getreal |
"\na= |
") |
|
|
|
|||
b |
|
(getreal |
"\nb= |
") |
|
|
|
|||
|
|
|
|
|
4 |
|
|
|
|
|
rez_lisp (+ (/ (- (* 0.17 a) (expt b (+ 0.1 pi)) ) (+ 0.8 (* 2.0 b))
)
(sqrt (abs (+ (* 0.17 b)
(cos (+ (* 0.4 a) pi ) )
)
)
)
)
)
(command "_CAL" "rez_calc=(0.17*a-b^(0.1+pi))/ (0.8+2.0*b) + sqrt(abs(0.17*b+cos(r2d(0.4*b)+0)))") (princ "\nrez_lisp=") (princ rez_lisp)
(princ "\nrez_calc=") (princ rez_calc) (princ)
Задания к лабораторной работе № 1
№ |
|
|
|
|
|
|
Функция |
а |
b |
Результат |
|||||||||||||
в-та |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a b |
(a b 1)sin a |
|
|
|
||||||||||||||||
1 |
|
|
|
|
|
|
-3.2 |
0.03 |
-0.120007 |
||||||||||||||
|
|
2a b |
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
a 2b |
(b 4)tg (a b) |
|
|
4.31007 |
|||||||||||||||||
|
|
|
|
|
|||||||||||||||||||
2 |
|
|
|
|
|
-4.6 |
3.84 |
-120.401 |
|||||||||||||||
|
|
a b |
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
a 4sin b |
|
|
|
|
|
|
|
|
|
|
||||||||
3 |
|
|
|
|
|
a b |
6.8 |
2.3 |
-18.15818 |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
cos(a2 ) |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
a2 b |
ln(4.3 a2 / 3 ) |
10.5 |
3.257 |
2.174875 |
|||||||||||||||
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
5 |
|
|
(a sin b) |
2 (a 4b3 ) |
1.23 |
6.79 |
-11970.86 |
||||||||||||||||
|
|
|
|
0.25 |
|
a |
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||||||||||||||
6 |
(a b) |
3 / 2 (sin2 a cos2 b) |
-2.56 |
3.284 |
1.09053 |
||||||||||||||||||
|
|
|
|
|
|
|
|
a b |
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
7 |
e0.1(a b) |
|
|
|
(2a sin b) |
7.4 |
2.1 |
3.04636 |
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
4.75ab |
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
e a |
ea |
|
sin 23 (a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
8 |
|
|
|
|
|
|
|
|
b) |
3.0 |
12.8 |
4.413779 |
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
9 |
a 3b 1.254 4 |
e |
0.1b |
23.0 |
4.83 |
196.3733 |
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
2b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
a b |
sin(2a2 18) |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3.83 |
21.98 |
-3.174057 |
||||||||||||||||||||||||
|
|
|
|
|
|
2a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
2ab |
|
|
|
|
|
7.02 |
|
sin(2a) |
|
|
|
||||||||||||||||||||||||||||
11 |
|
|
|
|
|
|
|
|
|
|
|
|
3.0 |
0.63 |
3.741635 |
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
(a |
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(a 2 ) sin(a |
b) |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
12 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.609 |
0.33 |
4.987962 |
||||||||
|
|
|
|
|
|
(a b) |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
21.3b |
|
|
|
sin(cos a) |
|
|
|
||||||||||||||||||||||||||||
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5.8 |
-65.0 |
-91.98582 |
|||||||||||||||||||||
|
|
|
|
|
|
|
a 2b |
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
arctg (1.15 a) |
a |
3 |
|
|
|
||||||||||||||||||||||||||||||||||
14 |
|
|
|
|
|
|
|
|
|
|
5.95 |
347 |
-0.65602 |
||||||||||||||||||||||||||||||
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
e 0.25a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a b |
|
|
|
|
|
3.69 |
7.04 |
0.548728 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
ln(a b) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
3a b |
|
|
|
|
|
|
|
|
sin a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-0.3 |
8.6 |
9122.0049 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
cos(a |
|
b) |
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
a |
|
|
sin(2a2 / 5 |
1.5) |
|
|
|
||||||||||||||||||||||||||||||||
17 |
|
|
|
|
|
|
|
|
|
0.356 |
-1.33 |
-0.54143 |
|||||||||||||||||||||||||||||||
|
a b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
|
|
|
|
|
|
|
a2 b |
ln(4.3 b2 ) |
10.2 |
-4.0 |
3.06795 |
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
e a |
|
ea |
sin 2 (a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
19 |
|
|
|
|
|
|
|
b ) |
-7.77 |
3.45 |
155.339 |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
20 |
|
|
|
arctg (11.3 a) |
|
|
a 17.2b |
11.1 |
22.2 |
1.802654 |
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
b |
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
|
|
|
|
|
sin(2a2 |
1.5) |
|
|
|
||||||||||||||||||||||
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.356 |
-1.33 |
-1.208122 |
|||||||||||||||||||||||
|
|
|
|
|
|
|
(a b) |
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
a 2b1/ 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(b 4)tg (a b) |
1.2 |
0.403 |
23.642305 |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
a b |
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
21.3 b |
sin(cos a) |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.876 |
4.1 |
-3.413752 |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
a b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
b a sin(2a) |
cos(a b2 ) |
|
|
|
|||||||||||||||||||||||||||||||||
24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2.3 |
6.371 |
-2.249068 |
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
2a b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a 4b |
3 |
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
(a sin b) cos |
|
|
|
5.78 |
-39.5 |
-0.142947 |
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
0.25 |
|
a |
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
a 3b 1.254 |
|
|
|
|
|
0.3b a |
|
|
|
||||||||||||||||||||||||||
26 |
sin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e |
|
|
|
|
|
|
-1.11 |
6.2 |
-1.150982 |
||||||||||||
|
|
|
|
|
|
|
|
2b |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
27 |
|
|
|
|
|
|
|
|
sin(1.15b a) |
|
a b2 |
|
|
|
|
0.609 |
0.33 |
-0.284296 |
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
b |
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
e 0.25a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3a b |
|
|
|
|
|
|
12.3 |
7.04 |
0.238001 |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
lg( a b) |
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
b sin(2a) |
ln(a b2 ) |
|
|
|
|
|
|
|
||||||||||||||||||||||||||
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.59 |
1.006 |
0.160984 |
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
2a b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
a |
|
|
|
|
|
sin(2a 2 / 5 |
cos b) |
|
|
|
||||||||||||||||||||||||
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.6 |
3.84 |
-0.906085 |
|||||||||||||||||||||||||
|
|
|
(a b) |
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
2a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
|
|
|
3b a cos(2a) |
sin(a b2 ) |
2.43 |
5.37 |
0.158368 |
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
2a b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
7
|
e 0.25a |
|
|
|
|
||
32 |
a 2 |
b |
12.6 |
3.4 -1.895386 |
|||
|
|
||||||
|
sin(a b) |
|
|
|
|||
33 |
|
|
|
|
|
2.13 a 2 b |
sin(ab) |
1.87 |
14.1 |
-12.73322 |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
a b |
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
|
|
|
ea b |
|
|
|
(2b sin a 3 ) |
|
3.75 |
1.41 |
11.594254 |
||||||||||||||||||
|
|
|
|
|
|
|
|
a b |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a 2b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
35 |
|
|
sin 2 (a b) a b |
13.5 |
100.4 |
9.34972 |
||||||||||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||||||
e2a 0.15 |
|
|||||||||||||||||||||||||||||
|
|
|
2ab |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
36 |
|
|
|
|
|
|
|
|
e2 (a b) 3.16 |
3.5 |
1.84 |
27.232279 |
||||||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
cos(a 2 b) |
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e0.4b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
sin(a) 2 / 6 b |
13.3 |
10.8 |
48.821951 |
|||||||||||||
|
|
ln(a b) |
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
38 |
|
|
(a 3b) |
5 / 2 (sin2 a cos b) |
3.35 |
6.8 |
1082.0245 |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
ln(a b) |
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
|
|
|
|
3a 2 |
ab |
ln(1/ 5 a 3b ) |
11.35 |
1.8 |
-267.6033 |
||||||||||||||||||||
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
sin(a) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
|
|
|
|
|
2(b2 ) |
cos(a b) |
|
4.35 |
2.8 |
-1703.334 |
|||||||||||||||||||
|
|
|
|
|
|
(a 1.6b) |
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
8
|
|
Лабораторная работа №2 |
|
|
Создание простой параметрической модели |
|
|||
|
|
конструкции |
|
|
Задание: |
На |
языке AutoLISP написать |
программу |
|
рисования конструкции (см. рис.) в соответствии |
c |
|||
набором |
параметров. Набор параметров, |
необходимых |
||
для отрисовки, |
определить самостоятельно. В программе |
|||
предусмотреть |
автоматическую простановку |
трёх |
||
произвольных размеров |
|
|
||
Пример |
|
|
|
|
(command "_VSLIDE" "fas") |
|
|
|||
(setq pt_ins (getpoint |
"\nУкажите точку вставки : ") |
||||
a |
(getdist |
pt_ins "\na = |
: ") |
|
|
b |
(getdist |
pt_ins "\nb = |
: ") |
|
|
lf |
(getdist |
pt_ins "\nlf= |
: ") |
|
|
hf |
(getdist |
pt_ins "\nhf= |
: ") |
|
|
x_ins |
(car pt_ins) |
|
|
|
|
y_ins |
(cadr pt_ins) |
|
|
|
|
pt1 |
(list (+ x_ins |
a) |
y_ins) |
|
|
pt2 |
(list (+ x_ins |
a) (+ y_ins (- b hf)) ) |
|||
pt3 |
(list (+ x_ins (- a lf)) (+ y_ins b) |
) |
|||
|
|
|
9 |
|
|
pt4 (list x_ins |
(+ y_ins b) |
) |
osmode_old (getvar "OSMODE")
)
(command "_REDRAW")
(command "_PLINE" pt_ins pt1 pt2 pt3 pt4 "_C") ; размеры
(command "_DIMLINEAR"
pt_ins pt1 (list x_ins (- y_ins (* b 0.3)))
)
(command "_DIMLINEAR"
pt_ins pt4 (list (- x_ins (* b 0.3)) y_ins )
)
(setvar "OSMODE" osmode_old) (princ)
Создание |
простой |
параметрической |
модели |
с |
||
использованием калькулятора |
|
|
|
|||
(command "_VSLIDE" "fas") |
|
|
|
|||
(setq pt_ins |
(getpoint |
"\nУкажите точку вставки : ") |
||||
a |
(getdist |
pt_ins "\na = |
: ") |
|
|
|
b |
(getdist |
pt_ins "\nb = |
: ") |
|
|
|
lf |
(getdist |
pt_ins "\nlf= |
: ") |
|
|
|
hf |
(getdist |
pt_ins "\nhf= |
: ") |
|
|
|
x_ins (car pt_ins) y_ins (cadr pt_ins)
osmode_old (getvar "OSMODE")
)
(command "_REDRAW")
(command "_CAL" "pt1=[x_ins+a,y_ins]") (command "_CAL" "pt2=[x_ins+a,y_ins+(b-hf)]") (command "_CAL" "pt3=[x_ins+(a-lf),y_ins+b]") (command "_CAL" "pt4=[x_ins,y_ins+b]")
10
