Разделы презентаций


Программирование в AutoCAD 2 презентация, доклад

Содержание

Функция связи с AutoCADФункция выполняет команды AutoCAD(command [аргум1]… [аргумN]) → nilАргументыИмена команд и опций – STRКоординаты точек – LISTДлины, расстояния – REAL“” - PAUSE

Слайды и текст этой презентации

Слайд 1Программирование в AutoCAD
Лекция 2

Программирование в AutoCADЛекция 2

Слайд 2Функция связи с AutoCAD
Функция выполняет команды AutoCAD
(command [аргум1]… [аргумN]) →

nil
Аргументы
Имена команд и опций – STR
Координаты точек – LIST
Длины, расстояния

– REAL
“” -
PAUSE

Функция связи с AutoCADФункция выполняет команды AutoCAD(command [аргум1]… [аргумN]) → nilАргументыИмена команд и опций – STRКоординаты точек

Слайд 3Функция связи с AutoCAD
(setq y "0,0")
(command "_line" "10,10" y '(10

15) "")

(command “_break” pause “_f” pause “@”)

(command “_rectang” pause “@15,25”)

(setq

x 10.0 y 3)
(command “_circle” pause (* x y))
Функция связи с AutoCAD(setq y

Слайд 4Функция связи с AutoCAD
В функцию Command не могут быть вложены

функции семейства Get, предназначенные для интерактивного ввода данных, так как

результат операции не предсказуем.
Функция связи с AutoCADВ функцию Command не могут быть вложены функции семейства Get, предназначенные для интерактивного ввода

Слайд 5Функции обработки списков
(Car список) → первый элемент списка
(Car ‘(x y

z)) → x
(Car ‘(a (a1 a2))) → a
(Car ‘((a1 a2)

a)) → (a1 a2)
(Car ()) → nil
(Car nil) → nil
(Car 10.3) →
Функции обработки списков(Car список) → первый элемент списка(Car ‘(x y z)) → x(Car ‘(a (a1 a2))) →

Слайд 6Функции обработки списков
(Cdr список) → список без первого элемента
(Cdr ‘(10

20 30)) → (20 30)
(Cdr ‘((a1 a2) a)) →

(a)
(Cdr ‘(a (a1 a2))) → ((a1 a2))
(Cdr ‘(a)) → nil
(Cdr ()) → nil

Функции обработки списков(Cdr список) → список без первого элемента(Cdr ‘(10 20 30)) → (20 30) (Cdr ‘((a1

Слайд 7Функции обработки списков
(C…R список) - композиция функций Car и Cdr
Порядок

применения функций: справа налево
a – Car, d – Cdr

(Cadr ‘(x

y z)) → y (Car (Cdr ‘(x y z)))
(Cadr ‘(a (a1 a2))) → (a1 a2)
(Caddr ‘(x y z)) → z


Функции обработки списков(C…R список) - композиция функций Car и CdrПорядок применения функций: справа налевоa – Car, d

Слайд 8Функции обработки списков
(Cons НПЭ список) → список, дополненный новым первым

элементом
(Cons (a1 b1) (a2 b2)) → ((a1 b1) a2 b2)
(Setq

a 5) (Cons a ‘(+ 7)) → (5 + 7)
(Setq a 5.0) (Cons a (+ 7.0 2.0)) →
(5.0 . 9.0) – точечная пара
(Сar ‘(a . b)) → a (Сdr ‘(a . b)) → b





Функции обработки списков(Cons НПЭ список) → список, дополненный новым первым элементом(Cons (a1 b1) (a2 b2)) → ((a1

Слайд 9Функции обработки списков
(Nth n-1 список) → n–ный элемент списка
(Nth

0 ‘(x y z)) → x
(Nth 1 ‘(x y z))

→ y
(Nth 2 ‘(x y z)) → z
(Setq pt ‘(10 20 30))
(Nth 0 pt) → 10





Функции обработки списков(Nth n-1 список) → n–ный элемент списка (Nth 0 ‘(x y z)) → x(Nth 1

Слайд 10Формирование списков
(List S-выраж1… S-выражN) → список
(Setq x 10.0 y 20.0

z 30.0)
(List x y z)

→ (10.0 20.0 30.0)
(Setq a ‘(a1 a2) b (b1 b2))
(List a b) → ((a1 a2) (b1 b2))
(List ‘a b) → (a (b1 b2))
(List (Car a) (Cadr b)) → (a1 b2)






Формирование списков(List S-выраж1… S-выражN) → список(Setq x 10.0 y 20.0 z 30.0)(List x y z)

Слайд 11Функции обработки списков
(Append список1… списокN) → объединение нескольких списков в

один
(Last список) → выделение последнего элемента списка
(Revers список) →

запись списка в обратном порядке
(Length список) → определение количества элементов списка






Функции обработки списков(Append список1… списокN) → объединение нескольких списков в один (Last список) → выделение последнего элемента

Слайд 12Функция Atom
(Atom S-выраж) → t или nil
(Setq a ‘(x y

z) a – список, b – ссылка на a

b ‘a)
(Atom a) → nil
(Atom b) → t
(Atom ‘a) → t
(Atom ‘b) → t




Функция Atom(Atom S-выраж) → t или nil(Setq a ‘(x y z)  a – список, b –

Слайд 13Функция Eq-физическое равенство
(Eq S-выраж S-выраж) → t или nil
Проверяет равенство

указателей на S-выраж
(Setq f1 ‘(x y z)

f2 ‘(x y z)
f3 f2)
(Eq f1 f2) → nil
(Eq f2 f3) → t



Функция Eq-физическое равенство(Eq S-выраж S-выраж) → t или nilПроверяет равенство указателей на S-выраж(Setq f1 ‘(x y z)

Слайд 14Функции ввода данных
Создают паузу для интерактивного ввода информации
Подсказка – текст

в командной строке
Point – координата точки, от которой тянется резиновая

нить
(Getdist [point] [подсказка]) – ввод расстояния (Real)
(Setq rad1 (getdist ‘(0.0 10.0 15.0) “\nВведите значение радиуса”))



Функции ввода данныхСоздают паузу для интерактивного ввода информацииПодсказка – текст в командной строкеPoint – координата точки, от

Слайд 15Функции ввода данных
(Getangle [point] [подсказка]) ввод значения угла в радианах

(Real)
Point – двухмерная точка в рабочей плоскости
(Getcorner point

[подсказка]) ввод двухмерной координаты точки (List)
Point – двухмерная точка в рабочей плоскости
(Getint [подсказка]) ввод целого числа (Int)
(Setq num (getint “\nВведите число отверстий”))



Функции ввода данных(Getangle [point] [подсказка]) ввод значения угла в радианах (Real)  Point – двухмерная точка в

Слайд 16Функции ввода данных
(Getpoint [point] [подсказка]) ввод координаты точки (List)
(Getreal [подсказка])

ввод действительного числа (Real)
(Getstring [F] [подсказка]) ввод строки текста (Str)

F – возможность разделить слова пробелами




Функции ввода данных(Getpoint [point] [подсказка]) ввод координаты точки (List)(Getreal [подсказка]) ввод действительного числа (Real)(Getstring [F] [подсказка]) ввод

Слайд 17Геометрические функции
(Distance point1 point2) – расстояние между двумя точками (Real)
(Distance

‘(1.0 2.5 3.0) ‘(7.7 2.5 3.0)) → 6.7
(Angle point1 point2])

- угол поворота отрезка или его проекции на плоскость XY относительно оси OX в радианах (Real)
(Inters point1 point2 point3 point4) - точка пересечения двух отрезков (List)





Геометрические функции(Distance point1 point2) – расстояние между двумя точками (Real)(Distance ‘(1.0 2.5 3.0) ‘(7.7 2.5 3.0)) →

Слайд 18Геометрические функции
(Polar pt a d) – координата конца вектора, который

выходит из точки pt, имеет длину d и составляет угол

а (в радианах) с осью OX (LIST).
(Setq pt1 (polar ‘(1.0 1.0 3.5) 0.79 1.414)) → (2.0 2.0 3.5)





Геометрические функции(Polar pt a d) – координата конца вектора, который выходит из точки pt, имеет длину d

Слайд 19Функция для определения пользовательской функции
(Defun Имя ([fp1…fpn] [ / lp1…lpm])

Тело функции)
Имя- название функции
с:имя- новая команда AutoCAD
fp1…fpn – формальные параметры
lp1…lpm

– локальные параметры
Тело функции – блок S-выражений
Функция для определения пользовательской функции(Defun Имя ([fp1…fpn] [ / lp1…lpm])  Тело функции)Имя- название функции	с:имя- новая команда

Слайд 20Функция для определения пользовательской функции
(defun c:breakat () (command “_break” pause “f”

“@”)
Расширение файла с LISP – программой - .lsp
(Load “имя файла”)

– загрузка файла (Load “test1”)
Результат – имя последней функции или имя файла (при ошибке ввода)
Функция для определения пользовательской функции(defun c:breakat () (command “_break” pause “f” “@”)Расширение файла с LISP – программой

Слайд 21Ввод комментария
;;; - выравнивание комментария по левому краю
;; - уровень

вторых скобок
; - сдвиг на 40 символов
;|

|; - внутренний комментарий
Ввод комментария;;; - выравнивание комментария по левому краю;; - уровень вторых скобок; - сдвиг на 40 символов;|

Слайд 22Функции работы с примитивами
(Entlast) → имя последнего созданного примитива
(Setq E

(entlast))
(Entnext) → имя первого неудаленного примитива
(Entnext ИП) → имя примитива,

следующего за примитивом с именем ИП, в базе данных

Функции работы с примитивами(Entlast) → имя последнего созданного примитива	(Setq E (entlast))(Entnext) → имя первого неудаленного примитива(Entnext ИП)

Слайд 23Функции работы с примитивами
(Entsel [подсказка]) - служит для указания примитива
Если

нет подсказки, выводится запрос Select object:
Возвращает список (A Pt)
A –

имя указанного примитива в базе данных (ENAME)
Pt – координата точки указания (LIST)
(Setq E (entsel “укажите объект”)
NameP (nth 0 E)
Pt (nth 1 E))
Функции работы с примитивами(Entsel [подсказка]) - служит для указания примитиваЕсли нет подсказки, выводится запрос Select object:Возвращает список

Слайд 24Логические функции
=
/=
=
And
Or
Not
Null

Логические функции= /==AndOrNotNull

Слайд 25Функции организации циклов
(Repeat K S-выр1… S-вырN)
Выполняется каждое S-выражение K раз
K

имеет тип INT
Результат – значение последнего S-выражения
(Setq n 5 r

10.0) (Repeat n (Command “_circle” “10,20” (Setq r (+ r 10.0)))) → nil

Функции организации циклов(Repeat K S-выр1… S-вырN)Выполняется каждое S-выражение K разK имеет тип INTРезультат – значение последнего S-выражения(Setq

Слайд 26Функции организации циклов
(While условие S-выр1… S-вырN)
Выполняется каждое S-выражение пока условие

истинно (= t)
Результат – значение последнего S-выражения
(Setq k 0 m

4) (While (<= k m) (* (setq k (1+ k)) m)) → 20
(Setq i 1 factorial 1) (While (< i n) (setq i (1+ i) factorial (* factorial i)))

Функции организации циклов(While условие S-выр1… S-вырN) Выполняется каждое S-выражение пока условие истинно (= t)Результат – значение последнего

Слайд 27Функции организации разветвлений
(If условие S-выр-тогда S-выр-иначе)
Результат – значение последнего

S-выражения
(If (> a 0) (Command “_circle” “0,0” a) (Prin1 “Неверное

значение радиуса”))
(Setq a (Getdist “Введите радиус”)) (If (> a 0) (Progn (setq co (Getpoint)) (Command “_circle” co a)) (Prin1 “Неверное значение радиуса”))

Функции организации разветвлений(If условие S-выр-тогда S-выр-иначе) Результат – значение последнего S-выражения(If (> a 0) (Command “_circle” “0,0”

Слайд 28Программа моделирования основы (1)
(defun c:osnova ( / h1 h2 bt

bt1 c1 c2 v1 r1 r2 d1 d2 x1 y1

z1)
(setq bt (getpoint "\nВведите базовую точку")
r1 (getdist bt "\nВведите радиус фланца")
h1 (getdist bt "\nВведите высоту фланца"))
(command "cylinder" bt r1 h1)
Программа моделирования основы (1)(defun c:osnova ( / h1 h2 bt bt1 c1 c2 v1 r1 r2 d1

Слайд 29Программа моделирования основы (2)
(setq c1 (entlast)
x1 (nth

0 bt)
y1 (nth 1 bt)


z1 (nth 2 bt)
bt1 (list x1 y1 (+ z1 h1))
r2 (getdist bt1 "\nВведите радиус цилиндра")
h2 (getdist bt1 "\nВведите высоту цилиндра")
d1 (/ r2 10.0)
d2 (- h2 d1)
bt2 (list x1 y1 (+ z1 h1 d2)))
Программа моделирования основы (2)(setq c1 (entlast)   x1 (nth 0 bt)   y1 (nth 1

Слайд 30Программа моделирования основы (3)
(command "cylinder" bt1 r2 d2 )
(setq c2

(entlast))
(command "circle" bt2 r2 "extrude" (entlast) "" d1 45 "union"

c1 c2 (entlast) ""))
Программа моделирования основы (3)(command

Слайд 31
( defun c:masotv ( / rotv hotv rmas bt n

n1 k x1 y1 z1 e1)
(while (null (setq e1 (entsel

"\nУкажите обрабатываемую деталь"))))
(setq bt (getpoint "\nВведите базовую точку")
e1 (nth 0 e1)
n (getint "\nВведите количество отверстий")
rmas (getdist bt "\nВведите радиус массива")
n1 (1- n)
x1 (nth 0 bt)
y1 (nth 1 bt)
z1 (nth 2 bt)
bt1 (list x1 (+ y1 rmas) z1)
rotv (getdist bt1 "\nВведите радиус отверстия")
hotv (getdist "\nВведите высоту отверстия")
k -1)
(while (< k n1 ) (command "cylinder" (polar bt
(* (/ (* 2.0 pi) n) (setq k (1+ k))) rmas) rotv hotv
"subtract" e1 "" (entlast) "")))





( defun c:masotv ( / rotv hotv rmas bt n n1 k x1 y1 z1 e1)(while (null

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика