42561

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

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

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

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

Русский

2015-01-27

6.69 MB

25 чел.

ЛАБОРАТОРНАЯ РАБОТА №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


 

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

2553. Расчет настройки зубофрезерного станка для обработки цилиндрического косозубого колеса 333.29 KB
  Зубофрезерный полуавтомат предназначен для фрезерования зубьев цилиндрических прямозубых и косозубых колес, а также червячных колес в условиях среднею и крупносерийного производства.
2554. Наноматериалы и нанотехнология 412.69 KB
  К наноматериалам условно относят дисперсные и массивные материалы, содержащие структурные элементы (зерна, кристаллиты, блоки, кластеры и т.п.), геометрические размеры которых хотя бы в одном измерении не превышают 100 нм, и обладающие качественно новыми функциональными и эксплуатационными характеристиками.
2555. Вигодовування грудної дитини та харчування дітей старше року 74.78 KB
  Основні принципи вигодовування дітей раннього віку. Техніка прикладання дитини до груді. Правила грудного вигодовування. Протипоказання і утруднення при грудному вигодовуванні. Дієта і режим жінки, яка годує.
2556. Совершенствованию бюджетного финансирования жилищно-коммунального комплекса города Донецка 328.76 KB
  Определение социально-экономического значения жилищно-коммунального хозяйства в современных условиях; определение основных направлений деятельности жилищно-коммунального хозяйства; проведение анализа деятельности жилищно-коммунального комплекса города Донецка; выявление проблемных сторон финансирования данной сферы муниципального образования.
2557. Определение плотности вещества тел правильной геометрической формы 179.5 KB
  Цель работы: ознакомиться с простейшими методами измерения длины и массы, входящих в число основных величин, на которых основана система единиц СИ и связанной с ними производной величины - плотности вещества.
2558. Измерение плотности твердых тел пикнометрическим методом 74.5 KB
  Цель работы: ознакомление с устройством аналитических весов и методами точного взвешивания, определение плотности образцов неправильной формы при помощи метода пикнометра.
2559. Измерения угловой скорости 153.5 KB
  Цель работы: ознакомиться со способами измерения угловой скорости, измерить угловую скорость вращения электромотора в зависимости от приложенного напряжения.
2560. Спектр атома водорода 82.38 KB
  Цель работы: измерить длины волн трех линий в спектре атома водорода и вычислить значение постоянной Ридберга.
2561. Измерение моментов инерции тел 69.86 KB
  Цель работы: измерить величину момента инерции осесимметричных тела (коаксиального цилиндра) методом крутильных колебаний, провести сравнение измеренных значений с теоретическими предсказанными значениями момента инерции.