42561

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

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

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

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

Русский

2015-01-27

6.69 MB

26 чел.

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


 

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

9856. Эволюция промышленного производства в России 9-17 век 23.45 KB
  Эволюция промышленного производства в России 9-17 век. Ремесло первоначально зарождалось в патриархальных семьях как домашние промыслы для обслуживания себя и своих родственников. Эти изделия не выходили за рамки семьи и не поступали в продажу. В XI...
9857. Гражданская война в России: причины, этапы, характеристика противоборствующих сил 73 KB
  Местные государственные администрации – это звено исполнительной власти в областях, районах, городах Киеве и Севастополе. В границах своих полномочий они осуществляют исполнительную власть на территории соответствующей административно-территориальной единицы, а также реализуют полномочия, делегированные им соответствующими советами.
9858. Реформы политической системы в первой половине 19 века 38.19 KB
  Реформы политической системы в первой половине 19 века. Ограничение самодержавия являлось важнейшим условием перехода России к индустриальному обществу. Эта проблема была осознана верховной властью и передовой общественностью уже в начале ХГХ века. ...
9859. Мягкая модель сталинизма: власть и общество в 1964-1984гг. от стагнации к кризису 27.49 KB
  Мягкая модель сталинизма: власть и общество в 1964-1984гг. от стагнации к кризису. После смещения Н.С. Хрущева на октябрьском (1964) Пленуме ЦК КПСС Первым секретарем ЦК партии был избран Л.И. Брежнев. Новые веяния в политике начались сразу же после...
9860. Реформирование политической системы России во второй половине 19 века: земская, городская, судебная, военная реформы 60-70-х гг 38.44 KB
  Реформирование политической системы России во второй половине 19 века: земская, городская, судебная, военная реформы 60-70-х гг. Ограничение самодержавия являлось важнейшим условием перехода России к индустриальному обществу. Эта проблема была осозн...
9861. Становление рыночной экономики в постсоветской России (1992-2000 гг.) 27.92 KB
  Становление рыночной экономики в постсоветской России (1992-2000 гг.). Российская экономика требовала дальнейших преобразований. Были продолжены экономические мероприятия по переходу от командно-административных принципов к рыночной системе регулиро...
9862. Крестьянский вопрос в 19 веке: этапы его решения 28.91 KB
  Крестьянский вопрос в 19 веке: этапы его решения. Решение крестьянского вопроса являлось важнейшим условием перехода России к индустриальному обществу. Первым этот вопрос попытался решить император Павел I, издав указ о трехдневной барщине (1797). У...
9863. Становление новой российской государственности: тенденции политической жизни 1991-2000 гг 23.38 KB
  Становление новой российской государственности: тенденции политической жизни 1991-2000гг. После распада СССР начался новый период в истории России. Как суверенное государство она была образована на основании Декларации о государственном суверенитет...
9864. Общественная и духовная жизнь в России в 19 веке: русский консерватизм 33.85 KB
  Общественная и духовная жизнь в России в 19 веке: русский консерватизм. Понятие альтернатива (от латинского altemare - чередоваться) означает каждая из исключающих друг друга возможностей. Тем самым предполагается наличие различных точек зрения на о...