42561

Создание параметрических чертежей в AutoCAD с применением Visual LISP

Лабораторная работа

Информатика, кибернетика и программирование

Определить исходя из задания исходные параметры, которые необходимо задать для параметрического построения объекта. Если количество этих параметров велико, необходимо в программе считывать их из файла.

Русский

2015-01-27

6.69 MB

29 чел.

ЛАБОРАТОРНАЯ РАБОТА №4
Создание параметрических чертежей в
AutoCAD
с применением
Visual LISP

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ:

  1.  Получить задание (чертеж) у преподавателя в индивидуальном порядке.
  2.  Определить исходя из задания исходные параметры, которые необходимо задать для параметрического построения объекта. Если количество этих параметров велико, необходимо в программе считывать их из файла.
  3.  Ниже приведен пример параметрического макроса, работой которого является построение рамки со штампом практически любого формата.

; определение функции как пользовательской команды

(defun c:ramka ()

(command "_.erase" "_all" "")

(setq L0 (getreal "Укажите длину рамки в мм:"))

(setq H0 (getreal "Укажите высоту рамки в мм:"))

    ; точки внешней рамки

(setq p0 (getpoint "Укажите точку вставки рамки (левый нижний угол):") )

(setq p1 (list (car p0) (+ (cadr p0) H0)))

(setq p2 (list (+ (car p0) L0) (+ (cadr p0) H0)))

(setq p3 (list (+ (car p0) L0) (cadr p0)))

    ; точки внутренней рамки

(setq pv0 (list (+ (car p0) 20) (+ (cadr p0) 5)))

(setq pv1 (list (+ (car p1) 20) (- (cadr p1) 5)))

(setq pv2 (list (- (car p2) 5) (- (cadr p2) 5)))

(setq pv3 (list (- (car p3) 5) (+ (cadr p3) 5)))

(command "_.pline" p0 "_w" 0 0 p1 p2 p3 "_c")

(command "_.pline" pv0 "_w" 1 1 pv1 pv2 pv3 "_c")

    ;отрисовка штампа от правой нижней точки pv3

    ; внешние точки

(setq _p1 (list (- (car pv3) 185) (cadr pv3)))

(setq _p2 (list (car _p1) (+ (cadr _p1) 55)))

(setq _p3 (list (+ (car _p2) 185) (cadr _p2)))

    ; внутренние точки

(setq _p4 (list (car _p1) (+ (cadr _p1) 30)))

(setq _p5 (list (car _p1) (+ (cadr _p1) 35)))

(setq _p4_1 (list (+ (car _p4) 65) (cadr _p4)))

(setq _p5_1 (list (+ (car _p5) 65) (cadr _p5)))

(setq _p6 (list (+ (car _p2) 7) (cadr _p2)))

(setq _p7 (list (car _p6) (- (cadr _p6) 25)))

(setq _p8 (list (+ (car _p2) 17) (cadr _p2)))

(setq _p9 (list (+ (car _p1) 17) (cadr _p1)))

(setq _p10 (list (+ (car _p2) 40) (cadr _p2)))

(setq _p11 (list (+ (car _p1) 40) (cadr _p1)))

(setq _p12 (list (+ (car _p2) 55) (cadr _p2)))

(setq _p13 (list (+ (car _p1) 55) (cadr _p1)))

(setq _p14 (list (+ (car _p2) 65) (cadr _p2)))

(setq _p15 (list (+ (car _p1) 65) (cadr _p1)))

(setq _p16 (list (+ (car _p2) 65) (- (cadr _p2) 15)))

(setq _p17 (list (+ (car _p2) 185) (- (cadr _p2) 15)))

(setq _p18 (list (+ (car _p2) 65) (- (cadr _p2) 40)))

(setq _p19 (list (+ (car _p2) 185) (- (cadr _p2) 40)))

(setq _p20 (list (- (car _p3) 50) (- (cadr _p3) 15)))

(setq _p21 (list (- (car _p3) 50) (- (cadr _p3) 55)))

(setq _p22 (list (car _p20) (- (cadr _p20) 5)))

(setq _p23 (list (+ (car _p20) 50) (- (cadr _p20) 5)))

(setq _p24 (list (car _p20) (- (cadr _p20) 20)))

(setq _p25 (list (+ (car _p20) 50) (- (cadr _p20) 20)))

(setq _p26 (list (+ (car _p20) 15) (cadr _p20)))

(setq _p27 (list (+ (car _p20) 15) (- (cadr _p20) 20)))

(setq _p28 (list (+ (car _p20) 32) (cadr _p20)))

(setq _p29 (list (+ (car _p20) 32) (- (cadr _p20) 20)))

(setq _p30 (list (+ (car _p24) 20) (cadr _p24)))

(setq _p31 (list (+ (car _p24) 20) (- (cadr _p24) 5)))

    ; рисование жирных линий штампа

(command "_.pline" _p1 _p2 _p3 "")

(command "_.pline" _p4 _p4_1 "")

(command "_.pline" _p5 _p5_1 "")

(command "_.pline" _p6 _p7 "")

(command "_.pline" _p8 _p9 "")

(command "_.pline" _p10 _p11 "")

(command "_.pline" _p12 _p13 "")

(command "_.pline" _p14 _p15 "")

(command "_.pline" _p16 _p17 "")

(command "_.pline" _p18 _p19 "")

(command "_.pline" _p20 _p21 "")

(command "_.pline" _p22 _p23 "")

(command "_.pline" _p24 _p25 "")

(command "_.pline" _p26 _p27 "")

(command "_.pline" _p28 _p29 "")

(command "_.pline" _p30 _p31 "")

    ; рисование тонких линий строчек в штампе

(command "_.pline"

 (list (car _p2) (- (cadr _p2) 5))

 "_w"

 0

 0

 (list (+ (car _p2) 65) (- (cadr _p2) 5))

 ""

)

(command "_.pline"

 (list (car _p2) (- (cadr _p2) 10))

 (list (+ (car _p2) 65) (- (cadr _p2) 10))

 ""

)

(command "_.pline"

 (list (car _p2) (- (cadr _p2) 15))

 (list (+ (car _p2) 65) (- (cadr _p2) 15))

 ""

)

(command "_.pline"

 (list (car _p2) (- (cadr _p2) 10))

 (list (+ (car _p2) 65) (- (cadr _p2) 10))

 ""

)

(command "_.pline"

 (list (car _p2) (- (cadr _p2) 15))

 (list (+ (car _p2) 65) (- (cadr _p2) 15))

 ""

)

(command "_.pline"

 (list (car _p2) (- (cadr _p2) 30))

 (list (+ (car _p2) 65) (- (cadr _p2) 30))

 ""

)

(command "_.pline"

 (list (car _p2) (- (cadr _p2) 35))

 (list (+ (car _p2) 65) (- (cadr _p2) 35))

 ""

)

(command "_.pline"

 (list (car _p2) (- (cadr _p2) 40))

 (list (+ (car _p2) 65) (- (cadr _p2) 40))

 ""

)

(command "_.pline"

 (list (car _p2) (- (cadr _p2) 45))

 (list (+ (car _p2) 65) (- (cadr _p2) 45))

 ""

)

(command "_.pline"

 (list (car _p2) (- (cadr _p2) 50))

 (list (+ (car _p2) 65) (- (cadr _p2) 50))

 ""

)

    ; задание лимитов и обзора

(command "_.zoom" "_a")

(command "_.limits" p0 p2)

) ; конец программы



  1.  Создать новый файл чертежа File (Файл)  New (Создать) на базе файла шаблона acadiso.dwt. Запустить Tools (Инструменты)  AutoLISP (АвтоЛИСП)  Visual LISP Editor (Редактор ЛИСП).
  2.  В Visual LISP Editor (редакторе ЛИСПа) написать программу по вычерчиванию заданного преподавателем элемента и выполнить ее.
  3.  Подобрать исходные данные для параметрического чертежа, при использовании которых построенный чертеж выглядит наиболее точно (по сравнению с заданным).
  4.  В программе ввести ограничения, при учете которых невозможно искажение графического объекта.
  5.  Оформить отчет по работе.


Варианты заданий
(свой вариант уточнить у преподавателя)

Вариант 1


Вариант 2


Вариант 3


Вариант 4


Вариант 5


Вариант 6


Вариант 7


Вариант 8


Вариант 9


Вариант 10


Вариант 11


Вариант 12


Вариант 13


Вариант 14


Вариант 15


Вариант 16


Вариант 17


Вариант 18


Вариант 19


Вариант
20


Вариант
21

Примечание. Соединение с гайкой допускается упростить.


Вариант
22


Вариант
23


Вариант
24


Вариант
25


Вариант
26


Вариант
27


Вариант 28


Вариант 29


Вариант
30


Вариант
31


Вариант
32


Вариант
33


Вариант
34


Вариант
35


Вариант
36


Вариант 37


Вариант 38


Вариант 39


Вариант
40


Вариант
41


Вариант
42

PAGE 3


 

А также другие работы, которые могут Вас заинтересовать

22978. Переривання 5.91 MB
  Організація переривань Все починається з того що ЗП виставляє сигнал високого рівня логічну одиницю на вхід INT мікропроцесора. Ці дані будуть оброблятися мікропроцесором за підпрограмою обробки переривань яка повинна бути заздалегідь закладена у пам’ять мікропроцесора . Замість цього в лічильник команд заноситься адреса команди з якої починається підпрограма обробки переривань. Лише після цього стає можливим введення даних з ЗП і старт підпрограми обробки переривань цих даних.
22979. Прямий доступ до пам’яті (ПДП) 3.8 MB
  Контролер ПДП Забезпечити роботу в режимі захоплення шин можна за допомогою логічних схем та тригерів саме так це зроблено наприклад у €œМікролабі€ але зручніше скористатися спеціальною ВІС контролером прямого доступу до пам’яті КПДП. Працює КПДП в двох сильно відмінних один від одного режимах: в режимі програмування коли мікропроцесор €œзакладає€ в нього необхідні інструкції і в режимі обміну даними між зовнішнім пристроєм і ОЗП. Схематичне зображення ІМС КПДП типу КР580ВТ57 подано на рис. В режимі програмування вони...
22980. Клавіатура і індикація 5.36 MB
  ОЗП індикації являє собою область операційної пам’яті в якій стільки комірок скільки знаків може бути розміщено на екрані. Побудова знаків Знаки на екрані дисплею будуються за мозаїчним принципом. Знакоформувач Знакоформувач являє собою ПЗП в якому закладена інформація про структуру утворюваних ним знаків. Таким чином ці три ІМС можуть створювати 96 різних знаків символів.
22981. Робота зі співпроцесором 3.19 MB
  Обгрунтування необхідності співпроцесора Хоча мікропроцесор К1810ВМ86 оперує з 16розрядними числами відносна точність його обчислень не дуже висока. Такий допоміжний процесор має назву співпроцесора. Включення співпроцесора Для спільної роботи зі співпроцесором мікропроцесор МП86 слід включити у максимальний режим = 0.
22982. Тенденції у розвитку мікропроцесорної техніки 1011.5 KB
  Другий шлях полягає навпаки у роздрібненні секціонуванні мікропроцесора на окремі функціональні блоки і модулі кожний з яких виконує свої операції: операційний блок блок мікрокомандного керування блок пам’яті мікрокоманд та інше. Його система команд майже цілком співпадає з системою команд МП80 і відрізняється від неї лише декількома додатковими командами про які мова йтиме далі. У апаратному відношенні МП85 містить всі ті ж блоки що і МП80 але має крім того: блок керування перериваннями котрий розширює можливість звернення до...
22983. Система команд та методи адресації в мікропроцесорі КР1810ВМ86 1.05 MB
  Серед цього списку можна виявити що деякі команди не змінили ані форми ані змісту наприклад HLT NOP STC IN OUT JMPCALL тощо. Деякі команди зберегли свій зміст але мають дещо іншу мнемоніку: для МП80 INR DCR ANA ORA XRA JZ JNZ JC JNC для МП86 INC DEC AND OR XOR JE JNE JB JNB З’явилися принципово нові команди пoв’язані з новими можливостями МП86: MUL множення; DIV ділення; NEG утворення доповняльного коду; NOTінверсія; TEST операція І без фіксації результату тільки заради...
22984. Мультипроцесорні системи 4.79 MB
  Дійсно звернення до пам’яті або до зовнішніх пристроїв та захоплення системної шини дозволяється одночасно лише одному з процесорів тоді як останні повинні в цей час переробляти раніш одержані дані або знаходитись в режимі очікування. Такий часовий розподіл загальних ресурсів системи має назву арбітражу системної шини і виконується групою пристроїв спеціальних ІМС так званих арбітрів шини. Арбітр шини дозволяє захоплення системної шини лише одному з процесорів що виставили запит тому котрий посідає найвищого пріоритету і...
22985. Мікропроцесори 80386 і 80486 4.79 MB
  Це дозволяє йому здійснювати обмін з пам’яттю зі швидкістю до 32 Мбайт сек і виконувати до 5 мільйонів операцій у секунду MIPS. Отже під час виконання одної команди відбувається декодування другої а третя видобувається з пам’яті. Усі можливості МП386 мультипрограмність віртуальна пам’ять захист пріоритети зповна відкриваються лише в захищеному режимі. У порівнянні з МП286 у МП386 існують істотні відміни в організації віртуальної пам’яті.
22986. Поняття про RISC-процесори. Процесори п’ятого та шостого поколінь 6.22 MB
  Процесори п’ятого та шостого поколінь Поняття про RISCпроцесори Якісний стрибок у розвитку мікропроцесорних систем відбувся з появою мікропроцесора 8086. Такі процесори і комп’ютери дістали назву RISC процесорів та RISC комп’ютерів на відміну від процесорів та комп’ютерів зі складною системою команд Complex Instruction Set Computer CISC комп’ютер. Перший €œсправжній€ RISC комп’ютер було створено наприкінці 70х років в університеті Берклі.