Разработка средствами AutoCAD конструкторской документации сборочного чертежа узла пробкового крана

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Министерство образования и науки, молодежи и спорта Украины

Национальный аэрокосмический университет им. Н.Е. Жуковского

Харьковский авиационный институт

Кафедра «Информационных технологий проектирования»

Пояснительная записка к курсовой работе

по учебной дисциплине

Программное обеспечение информационных технологий проектирования

Тема:

Разработка средствами AutoCAD конструкторской документации сборочного чертежа узла пробкового крана

Выполнила: Шляга С. В.

студентка 126 ст. гр.

Проверил: доц. каф. 105

Ефремов А.Ю.

Харьков — 2014 г.

СОДЕРЖАНИЕ

Задание

1. Описание узла

2. Параметризация геометрии детали

3. Описание интерфейса программы

Выводы

Список использованной литературы

Приложения

ЗАДАНИЕ

Проанализировать функциональное назначение пробкового крана в целом и входящих в него деталей.

Создать в соответствии со стандартом средствами AutoCAD конструкторскую документацию в виде сборочного чертежа узла.

Вывести твердую копию созданного сборочного чертежа.

Проанализировать геометрию детали — гайка.

Провести полную параметризацию геометрии детали.

С помощью языка AutoLISP разработать программу вывода чертежа детали. Программа должна выполнять следующие функции:

· ввод в диалоговом режиме параметров детали;

· проверку корректности задания параметров;

· построение необходимых видов чертежа;

· вывод размерных блоков, соответствующих заданным значениям параметров;

· вывод рамки и углового штампа.

Вывести твердую копию чертежа детали.

1. ОПИСАНИЕ УЗЛА

Конусный кран -- разновидность трубопроводного крана, запирающий или регулирующий элемент которого (пробка) имеет форму конуса (усечённого). Также иногда называется пробковым краном, коническим краном. Конусные краны насчитывают большое количество конструктивных исполнений для различных условий эксплуатации, что связано с традиционностью этого типа арматуры.

В данном случае мы имеем пробковый кран, корпус которого монолитный, внутрь корпуса вставляется пробка. Корпус закрывается крышкой стандартными болтами (4 шт.). Крышка сальника крепится стандартными шпильками (2 шт.).

2. ПАРАМЕТРИЗАЦИЯ ГЕОМЕТРИИ ДЕТАЛИ

Выбранная деталь — одна из гаек, которая используется в болтовом соединении при креплении крышки крана. В приложениях приведен чертеж данной детали построенный при помощи программы написанной на языке AutoLISP. Выведенные размерные блоки соответствуют геометрическим параметрам, определяющим геометрию гайки. Значения этих параметров вводятся в диалоге как исходные данные.

Вводимые данные имеют следующие ограничения:

— Высота гайки определяется размером введённой переменной h. С учетом места для размерных линий, а также пропорциональности детали максимальное значение размера h — 16 единиц, а минимальное — 2.

— Наибольший размер под ключ измеряется по параллельным граням детали. С учетом места для размерных линий, а также пропорциональности детали максимальное значение размера r — 32 единицы, а минимальное — 16.

— Количество граней гайки возможно 4, 6, 8.

Остальные параметры определяются исходя из пропорции параметров диаметра и высоты детали по следующим формулам:

ddiam = r /2 — радиус вписанной в многоугольник окружности

ddn = r*0. 6/2

vn_rad = ddn*0. 66 — радиус внутренней окружности

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

3. ОПИСАНИЕ ИНТЕРФЕЙСА ПРОГРАММЫ

Для работы данной программы необходимо запустить на выполнение файл new. lsp (в командной строке ввести команду (load «путь к файлу с двойными слешами и название файла с расширением») и нажать Enter), написанный на языке AutoLisp.

После чего осуществляется диалог с пользователем, в процессе чего происходит ввод данных, необходимых для параметризации требуемой детали — гайки.

Программа осуществляет контроль вводимых значений. Сначала пользователю предлагается ввести Размер под ключ.

Пользователю необходимо ввести значение от 16 до 32 и нажать клавишу ENTER.

Затем необходимо ввести Высоту гайки.

Пользователю необходимо ввести Высоту гайки и нажать клавишу ENTER. Значения этого параметра лежат в диапазоне от 2 до 16.

Затем пользователь вводит Количество граней гайки: 4, 6 или 8.

В случае ввода некорректных данных программа выводит сообщение и повторяет запрос на ввод требуемых данных.

Некорректными данными являются: пустая строка, символы, не являющиеся числами, числа, выходящие за диапазон.

Для прерывания выполнения программы следует нажать Escape. После ввода значений осуществляется построения чертежа гайки по заданным параметрам.

ВЫВОДЫ

Курсовой проект полностью выполняет поставленную задачу. Реализован удобный интерфейс пользователя, который облегчает понимание и работу с программой. При вводе параметров детали производится проверка корректности введённых данных, что позволяет избежать ошибки в построении чертежа.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. Справочная система AutoCAD.

2. Конспект лекций по дисциплине «Программное обеспечение информационных технологий проектирования».

ПРИЛОЖЕНИЕ 1

Блок-схема программы

/

/

ПРИЛОЖЕНИЕ 2

Исходный текст программы

(Setq r (getint «Введите размер ключа {16. 32}> «))

(While (or (= r nil) (< r 16) (> r 32))

(Setq r (getint «Введите размер ключа {16. 32}> «))

)

(Setq h (getint «Введите высоту гайки {2. 16}> «))

(While (or (= h nil) (< h 2) (> h 16))

(Setq h (getint «Введите высоту гайки {2. 16}> «))

)

(Setq n (getint «Введите количество граней {4,6,8}> «))

(While (or (= n nil) (< n 0) (= n 0) (= n 1) (= n 2)(= n 3)(= n 5)(= n 7) (= n 9)

(> n 9)); не бейте меня

(Setq n (getint «Введите количество граней {4,6,8}> «))

)

; #############################################################

#######

(command «-linetype» «set» «Dashed2» ««)

(setq p1 (list 113 275))

(setq p2 (list 113 64))

(command «line» p1 p2 ««)

; #############################################################

#######

; constants

(setq ddiam (/ r 2)

ddn (/ (* r 0. 6) 2)

m_ra (* ddn 0. 66))

(setq my11 (* (sqrt 3) 2) my22 (* 3 ddiam) vp_rad (/ my22 my11))

(setq Lo (* vp_rad 0. 55))

(setq fX 113

fY 197

n_os (list fx fy)

v_os (list fx (+ fy vp_rad)))

; #############################################################

######

; coordinates

(setq mx (+(+ fx (/ (* r 0. 6) 2)) 2)

my (+ fy 2))

(setq my (+ my Lo))

(setq mx (- mx 2)

my (+ my 2))

(setq my (+ my 7))

(setq p1 (list fx fy))

(setq p2 (list (+ fx (/ (* r 0. 6) 2)) fy))

(setq p1 p2)

(setq p2 (list (+(+ fx (/ (* r 0. 6) 2)) 2) (+ fy 2)))

(setq p1 p2)

(setq p2 (list mx (+ my Lo)))

(setq p1 p2)

(setq p2 (list (- mx 2) (+ my 2)))

(setq p1 p2)

(setq p2 (list mx (+ my 2)))

(setq p2 (list fx (+ my 2)))

; #############################################################

#######

; рисование :)

(command «-linetype» «set» «ByLayer» ««)

; основной вид

(setq vn_rad (* ddn 0. 66))

; ===================нижняя часть крышки

(setq p1 p2)

(setq p2 (list (+ fx ddiam) (+ my 2)))

(setq my1 my)

(command «line» p1 p2 ««)

(Setq line1 (entlast))

; ========================высота крышки

(setq p1 p2)

(setq p2 (list (+ fx ddiam) (+ 2 (+ my h))))

(command «line» p1 p2 ««)

(Setq line3 (entlast))

; ==================верхняя часть крышки

(setq p1 p2)

(setq p2 (list fx (+ (+ my h) 2)))

(command «line» p1 p2 ««)

(Setq line5 (entlast))

; ========================фронтальная грань

(command «-linetype» «set» «Dashed2» ««)

(command «line» (list (+ fx vn_rad) (+ my 2)) (list (+ fx vn_rad) (+ my h 2))

««)

(Setq line9 (entlast))

(command «-linetype» «set» «ByLayer» ««)

(command «mirror» Line1 Line3 Line5 Line9″" n_os v_os «N»)

(if (= n 4)

(PROGN

(setq p1 (list (+ fx ddiam) (+ my h)))

(setq p3 (list (- fx ddiam) (+ my h)))

(command «arc» p1 p2 p3)

(setq arc101 (entlast))

(setq p2 (list fx (+ my 2)))

(setq p1 (list (+ fx ddiam) (+ my 4)))

(setq p3 (list (- fx ddiam) (+ my 4)))

(command «arc» p1 p2 p3)

(setq arc102 (entlast))

)

(if (= n 6)

(PROGN

(setq p1 (list fx (+ my h)))

(setq p2 (list (+ (/ ddiam 2) fx) (+ my h 2)))

(setq p3 (list (+ ddiam fx) (+ my h)))

(command «arc» p1 p2 p3)

(setq arc103 (entlast))

(setq p1 (list fx (+ my 4)))

(setq p2 (list (+ (/ ddiam 2) fx) (+ my 2)))

(setq p3 (list (+ ddiam fx) (+ my 4)))

(command «arc» p1 p2 p3)

(setq arc104 (entlast))

(setq p5 (list fx my))

(setq p6 (list fx (+ my h)))

(command «line» p5 p6 ««)

(Setq line10 (entlast))

(command «mirror» arc103 arc104 line10 «» n_os v_os «N»)

)

)

(if (= n 8)

(PROGN

(setq px (list (+ fx (* ddiam 0. 207 105 2)) (+ my h)))

(setq xx (+ (/ (- ddiam 0. 207 105) 2) 0. 207 105))

(setq p2 (list (+ fx xx) (+ my h 1. 5)))

(setq p3 (list (+ ddiam fx) (+ my h)))

(command «arc» px p2 p3)

(setq arc105 (entlast))

(setq p1 (list (- fx (* ddiam 0. 207 105 2)) (+ my h)))

(setq p2 (list fx (+ my h 2)))

(setq p3 (list (+ fx (* ddiam 0. 207 105 2)) (+ my h)))

(command «arc» p1 p2 p3)

(setq arc106 (entlast))

(setq px (list (+ fx (* ddiam 0. 207 105 2)) (+ my 4)))

(setq xx (+ (/ (- ddiam 0. 207 105) 2) 0. 207 105))

(setq p2 (list (+ fx xx) (+ my 2. 3)))

(setq p3 (list (+ ddiam fx) (+ my 4)))

(command «arc» px p2 p3)

(setq arc107 (entlast))

(setq p1 (list (- fx (* ddiam 0. 207 105 2)) (+ my 4)))

(setq p2 (list fx (+ my 2. 3)))

(setq p3 (list (+ fx (* ddiam 0. 207 105 2)) (+ my 4)))

(command «arc» p1 p2 p3)

(setq arc108 (entlast))

программа конструкторский сборочный кран

(setq p5 (list (+ fx (* ddiam 0. 207 105 2)) (+ my 2)))

(setq p6 (list (+ fx (* ddiam 0. 207 105 2)) (+ my h 2)))

(command «line» p5 p6 ««)

(Setq line11 (entlast))

(command «mirror» arc105 arc106 arc107 arc108 line11 «» n_os v_os «N»)

)

)

; отзеркаливание

; (command «mirror» Line1 Line2 Line3 Line4 Line5 «» n_os v_os «N»)

; вид сверху

; фиксированные координаты вида

(setq n_fx 113)

(setq n_fy 123)

; =====================внешняя окружность

(setq cen (list n_fx n_fy))

; (command «circle» cen r)

; (setq my11 (* (sqrt 3) 2) my22 (* 3 ddiam) vp_rad (/ my22 my11))

(command «circle» cen ddiam)

; ==========================шестигранник

; (command «polygon» n cen «C» ddiam)

(command «polygon» n cen «C» (list (+ ddiam n_fx) n_fy))

; ===================внутренняя окружность

; (setq vn_rad (* ddn 0. 66))

(command «circle» cen vn_rad)

(setq cir_m (entlast))

; #############################################################

#######

; образмеривание вида сверху

(setq ext1 (list (+ n_fx ddiam) n_fy))

(setq ext2 (list (- n_fx ddiam) n_fy))

(setq ext3 (list n_fx (- n_fy (* 2 ddiam))))

(command «dimlinear» ext1 ext2 ext3)

(setq p2 (list (+ 20 (+ n_fx ddiam)) (+ n_fy ddiam)))

(setq cp2 (list (+ n_fx m_ra) n_fy))

(command «dimdiameter» cp2 p2)

; образмеривание основного вида

(setq ext4 (list fx (+ my 2)))

(setq ext5 (list fx (+ my h 2)))

(setq ext6 (list (- fx (* 2 ddiam)) (+ my 2)))

; (setq ext4 (list (+ fx ddiam) (+ my 2)))

; (setq ext5 (list (+ fx ddiam) (+ my h 2)))

; (setq ext6 (list (+ ddiam 10) (+ my (/ h 2))))

(command «dimlinear» ext4 ext5 ext6)

(command «-linetype» «set» «Dashed2» ««)

(setq p1 (list 42 123))

(setq p2 (list 178 123))

(command «line» p1 p2 ««)

; #############################################################

#########

; РАМКА И ОСН. НАДПИСЬ

; *************************************************************

**********

(command «-linetype» «set» «ByLayer» ««)

(command «limits» '(0 0) '(210 297))

(setq ln_ygol '(0 0))

(setq pv_ygol '(210 297))

(command «rectangle» ln_ygol pv_ygol)

(command «zoom» «Extents»)

; *************************************************************

**********

; прорисовываем рамку

(setq ln_ramka '(20 5))

(setq pv_ramka '(205 292))

(command «rectangle» ln_ramka pv_ramka)

(setq X1 (nth 0 ln_ramka))

(setq Y1 (nth 1 ln_ramka))

(setq X2 (nth 0 pv_ramka))

(setq Y2 (nth 1 pv_ramka))

; *************************************************************

**********

; основная надпись

; *************************************************************

**********

; вертикальные линии

(Setq p1 (list X1 (+ Y1 273)))

(Setq p2 (list (+ X1 70) (+ Y1 273)))

; (command «line» p1 p2 ««)

; *************************************************************

**********

(Setq p1 (list (+ X1 70) (+ Y1 273)))

(Setq p2 (list (+ X1 70) (+ Y1 287)))

; (command «line» p1 p2 ««)

; *************************************************************

**********

(Setq p1 (list X1 (+ Y1 55)))

(Setq p2 (list X2 (+ Y1 55)))

(command «line» p1 p2 ««)

; *************************************************************

**********

(Setq p1 (list (+ X1 7) (+ Y1 55)))

(Setq p2 (list (+ X1 7) (+ Y1 30)))

(command «line» p1 p2 ««)

; *************************************************************

**********

(Setq p1 (list (+ X1 17) (+ Y1 55)))

(Setq p2 (list (+ X1 17) Y1))

(command «line» p1 p2 ««)

; *************************************************************

**********

(Setq p1 (list (+ X1 40) (+ Y1 55)))

(Setq p2 (list (+ X1 40) Y1))

(command «line» p1 p2 ««)

; *************************************************************

**********

(Setq p1 (list (+ X1 55) (+ Y1 55)))

(Setq p2 (list (+ X1 55) Y1))

(command «line» p1 p2 ««)

; ***********************************************************************

(Setq p1 (list (+ X1 65) (+ Y1 55)))

(Setq p2 (list (+ X1 65) Y1))

(command «line» p1 p2 ««)

; ***********************************************************************

(Setq p1 (list (- X2 50) (+ Y1 55)))

(Setq p2 (list (- X2 50) Y1))

(command «line» p1 p2 ««)

; ***********************************************************************

(Setq p1 (list (- X2 45) (+ Y1 20)))

(Setq p2 (list (- X2 45) (+ Y1 35)))

(command «line» p1 p2 ««)

; ***********************************************************************

(Setq p1 (list (- X2 40) (+ Y1 20)))

(Setq p2 (list (- X2 40) (+ Y1 35)))

(command «line» p1 p2 ««)

; ***********************************************************************

(Setq p1 (list (- X2 35) (+ Y1 20)))

(Setq p2 (list (- X2 35) (+ Y1 40)))

(command «line» p1 p2 ««)

; ***********************************************************************

(Setq p1 (list (- X2 30) (+ Y1 15)))

(Setq p2 (list (- X2 30) (+ Y1 20)))

(command «line» p1 p2 ««)

; ***********************************************************************

(Setq p1 (list (- X2 18) (+ Y1 20)))

(Setq p2 (list (- X2 18) (+ Y1 40)))

(command «line» p1 p2 ««)

; ***********************************************************************

; горизонтальные линии

(Setq i 1)

(while (< i 11)

(Setq p1 (list X1 (+ Y1 (* i 5))))

(Setq p2 (list (+ X1 65) (+ Y1 (* i 5))))

(command «line» p1 p2 ««)

(Setq i (+ i 1))

)

; ***********************************************************************

(Setq p1 (list (+ X1 65) (+ Y1 40)))

(Setq p2 (list X2 (+ Y1 40)))

(command «line» p1 p2 ««)

; ***********************************************************************

(Setq p1 (list (+ X1 65) (+ Y1 15)))

(Setq p2 (list X2 (+ Y1 15)))

(command «line» p1 p2 ««)

; ***********************************************************************

(Setq p1 (list (- X2 50) (+ Y1 35)))

(Setq p2 (list X2 (+ Y1 35)))

(command «line» p1 p2 ««)

; ***********************************************************************

(Setq p1 (list (- X2 50) (+ Y1 20)))

(Setq p2 (list X2 (+ Y1 20)))

(command «line» p1 p2 ««)

; ***********************************************************************

; настройка стиля шрифта

(command «-style» «J_STYLE» «» 0 0. 45 20 «N» «N» «N»)

; заполняем штамп надписями

(setq t1 (list (- X2 36) (+ Y1 4))) (command «text» t1 6 0 «ХАИ гр. 126ст»)

(Setq t1 (list (+ X1 2) (+ Y1 26))) (command «text» t1 3 0 «Разраб»)

(Setq t1 (list (+ X1 2) (+ Y1 21))) (command «text» t1 3 0 «Пров»)

(Setq t1 (list (+ X1 2) (+ Y1 16))) (command «text» t1 3 0 «Т. контр. «)

(Setq t1 (list (+ X1 2) (+ Y1 6))) (command «text» t1 3 0 «Н. контр. «)

(Setq t1 (list (+ X1 2) (+ Y1 1))) (command «text» t1 3 0 «Утв. «)

(Setq t1 (list (+ X1 18) (+ Y1 26))) (command «text» t1 3 0 «Шляга С. В. «)

(Setq t1 (list (+ X1 18) (+ Y1 21))) (command «text» t1 3 0 «Ефремов А. Ю. «)

(Setq t1 (list (+ X1 72) (+ Y1 21))) (command «text» t1 8 0 «Гайка»)

(Setq t1 (list (+ X1 2) (+ Y1 36))) (command «text» t1 3 0 «Изм. «)

(Setq t1 (list (+ X1 9) (+ Y1 36))) (command «text» t1 3 0 «Лист»)

(Setq t1 (list (+ X1 21) (+ Y1 36))) (command «text» t1 3 0 «N докум. «)

(Setq t1 (list (+ X1 43) (+ Y1 36))) (command «text» t1 3 0 «Подпись»)

(Setq t1 (list (+ X1 57) (+ Y1 36))) (command «text» t1 3 0 «Дата»)

(Setq t1 (list (- X2 46) (+ Y1 36))) (command «text» t1 3 0 «Лит. «)

(Setq t1 (list (- X2 32) (+ Y1 36))) (command «text» t1 3 0 «Масса»)

(Setq t1 (list (- X2 15) (+ Y1 36))) (command «text» t1 3 0 «Масштаб»)

(Setq t1 (list (- X2 46) (+ Y1 16))) (command «text» t1 3 0 «Лист»)

(Setq t1 (list (- X2 25) (+ Y1 16))) (command «text» t1 3 0 «Листов 1»)

ПРИЛОЖЕНИЕ 3

Твердая копия чертежа пробкового крана

ПРИЛОЖЕНИЕ 4

Твердая копия чертежа гайки

Тест 1

Введите размер под ключ (16. 32) > 16

Введите высоту гайки (2. 16) > 2

Введите количество граней (4, 6, 8) > 4

Результат:

Тест 2

Введите размер под ключ (16. 32) > 32

Введите высоту гайки (2. 16) > 16

Введите количество граней (4, 6, 8) > 6

Результат:

ПоказатьСвернуть
Заполнить форму текущей работой