Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

тематики и кибернетики Расчетнографическая работа по дисциплине Системы автомати

Работа добавлена на сайт samzan.net: 2016-06-09

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 20.5.2024

Государственное образовательное учреждение высшего профессионального образования

Уфимский государственный авиационный технический университет

Кафедра вычислительной математики и кибернетики

Расчетно-графическая работа

по дисциплине

«Системы автоматизированного проектирования»

Выполнил:

студент группы:  ПРО-301

Юлыев И.З.

Проверила: к.т.н., доцент

Верхотурова Г.Н.

Уфа – 2013

Цель расчетно-графической работы

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

Задание:

Написать программу на языке AutoLISP, которая описывает в параметрическом виде  разрез заданной детали и позволяет:

  1.  создавать различные слои и выполнять на них построение отдельных частей чертежа;
  2.  в интерактивном режиме  задавать и менять параметры чертежа;
  3.  по введенным параметрам генерировать различные варианты исходного чертежа детали;
  4.  автоматически проставлять на чертеже введенные размеры;
  5.  осуществлять штриховку.

Основные теоретические положения

Жесткая параметризация – режим параметрического конструирования, при котором конструктор полностью задает все необходимые связи, однозначно определяя форму геометрической модели изделия. В этом случае изменение какого-либо параметра или переопределение связей влечет за собой автоматическое изменение геометрической модели и не требует от конструктора выполнения каких-либо действий по модификации геометрической модели.

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

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

Решение поставленной задачи

  1.  переменные, через которые соответствующие размеры задаются в программе (Рис.1);
  2.  точки, которые рассчитываются в процессе программирования и через которые идет построение (Рис. 2).

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

Рисунок 1

Рисунок 2

Описание переменных

p0-p9, l0-l3, o1-o4 – точки контура разреза;

os1-os6, – точки для осевых линии;

sht1,sht2– точки для нанесения штриховки;

s0-s9 – точки контура второго чертежа.


Логистика расчета параметров и связей между этими параметрами.

Начальная точка р0, выбранная пользователем:

(setq p0 (list x y))

Расчет точек

(setq p1 (list x (+ y a1)))

(setq p2 (list (- x b1) (cadr p1)))

(setq p3 (list (car p2) (+ (cadr p2) a2)))

(setq p4 (list (+ (car p3) b2) (cadr p3)))

(setq p5 (list (car p4) (- (cadr p4) d1)))

(setq p6 (list (- (car p5) (- b2 d1)) (cadr p5)))

(setq p7 (list (car p6) (- (cadr p4) (- a2 d1))))

(setq p8 (list (+ (car p7) b1) (cadr p7)))

(setq p9 (list (car p8) (- (cadr p8) (+ a1 d1))))

(setq l0 (list  (car p2) (+ (cadr p2)

(- (/ (- (cadr p3) (cadr p2)) 2.0) (/ a3 2.0)))))

(setq l1 (list (- (car l0) d2) (cadr l0)))

(setq l2 (list (car l1) (+ (cadr l1) a3)))

(setq l3 (list (+ (car l2) d2) (cadr l2)))

(setq o1 (list (car l1) (+ (cadr p2) (- (/ (- (cadr p3) (cadr p2)) 2.0) (/ r 2.0)))))

(setq o2(list (+ (car o1) (+ d1 d2)) (cadr o1)))

(setq o3 (list (car o1) (+ (cadr o1) r)))

(setq o4 (list (car o2) (cadr o3)))

(setq sht1(list (+ (car p1) 1) (+ (cadr p1) 1)))

(setq sht2(list (- (car p5) 1) (+ (cadr p5) 1)))

(setq s0 (list (+ x 50.0) y))

(setq s1 (list (car s0) (cadr p3)))

(setq s2 (list (+ (car s1) e) (cadr s1)))

(setq s3 (list (car s2) (cadr s0)))

(setq s4 (list (car s0) (cadr p1)))

(setq s5 (list (car s3) (cadr s4)))

(setq s6 (list (+(car s4)(/(- e c)2.0)) (cadr l1)))

(setq s7 (list (-(car s3)(/(- e c)2.0)) (cadr s6)))

(setq s8 (list (car s6) (cadr l2)))

(setq s9 (list (car s7) (cadr s8)))

(setq f0 (list

     (+(car s0) (/(-(car s3)(car s0)) 2.0))

     (+(cadr s6) (/(-(cadr s8)(cadr s6)) 2.0))

     ))

(setq os1 (list (car o1)(cadr f0)))

(setq os2 (list (car o4)(cadr f0)))

(setq os3 (list (car f0)(cadr s1)))

(setq os4 (list (car f0)(cadr s0)))

(setq os5 (list (car s0)(cadr f0)))

(setq os6 (list (car s3)(cadr f0)))

Прорисовка

Линия (p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p0)

Линия (l0 l1 l2 l3)

Линия (01 04)

Линия (02 03)

Линия (S0 S1 S2 S3 S0)

Линия (S4 S5)

Линия (S6 S8 S9 S7 S7)

Линия (OS1 OS2)

Линия (OS3 OS4)

Линия (OS5 OS6)

Окружность (fo,r)

Исходный текст

(defun c:q ()

   (new)  ;загрузка слоев

  (param);получение размеров

  (command "_erase" "В" "")

   (setq p0 (list x y))

   (setq p1 (list x (+ y a1)))

   (setq p2 (list (- x b1) (cadr p1)))

   (setq p3 (list (car p2) (+ (cadr p2) a2)))

   (setq p4 (list (+ (car p3) b2) (cadr p3)))

   (setq p5 (list (car p4) (- (cadr p4) d1)))

   (setq p6 (list (- (car p5) (- b2 d1)) (cadr p5)))

   (setq p7 (list (car p6) (- (cadr p4) (- a2 d1))))

   (setq p8 (list (+ (car p7) b1) (cadr p7)))

   (setq p9 (list (car p8) (- (cadr p8) (+ a1 d1))))

   (command "_layer" "У" "Контур" "") (command ) (command )

  ;башенка

   (setq l0

   (list

     (car p2)

     (+ (cadr p2) (- (/ (- (cadr p3) (cadr p2)) 2.0) (/ a3 2.0)))

   )

   )

   (setq l1 (list (- (car l0) d2) (cadr l0)))

   (setq l2 (list (car l1) (+ (cadr l1) a3)))

   (setq l3 (list (+ (car l2) d2) (cadr l2)))

   (command "_Line" p0 p1 p2 l0 "" "_Line" l3 p3 p4 p5 p6 p7 p8 p9 p0 "")

   (command "_Line" l0 l1 l2 l3 "")

  (setq o1 (list (car l1) (+ (cadr p2) (- (/ (- (cadr p3) (cadr p2)) 2.0) (/ r 2.0)))))

  (setq o2(list (+ (car o1) (+ d1 d2)) (cadr o1)))

  (setq o3 (list (car o1) (+ (cadr o1) r)))

  (setq o4 (list (car o2) (cadr o3)))

  (if (< 0 r)

  (command "_Line" o1 o2 "" "_Line" o3 o4 ""))

  ;штиховка

  (setq sht1(list (+ (car p1) 1) (+ (cadr p1) 1)))

  (setq sht2(list (- (car p5) 1) (+ (cadr p5) 1)))

  (command "_layer" "У" "Штриховка" "") (command ) (command )

  (command "-штрих" "С" "ANSI31" "1" "0" sht1 "")

         (command "-штрих" "С" "ANSI31" "1" "0" sht2 "")

 ;второй вид

 (command "_layer" "У" "Контур" "") (command ) (command )

 (setq s0 (list (+ x 50.0) y))

 (setq s1 (list (car s0) (cadr p3)))

 (setq s2 (list (+ (car s1) e) (cadr s1)))

 (setq s3 (list (car s2) (cadr s0)))

 (setq s4 (list (car s0) (cadr p1)))

 (setq s5 (list (car s3) (cadr s4)))

 (setq s6 (list (+(car s4)(/(- e c)2.0)) (cadr l1)))

 (setq s7 (list (-(car s3)(/(- e c)2.0)) (cadr s6)))

 (setq s8 (list (car s6) (cadr l2)))

 (setq s9 (list (car s7) (cadr s8)))

 (command "_Line" s0 s1 s2 s3 s0 "" "_Line" s4 s5 "" "_Line" s6 s7 "" "_Line" s8 s9 "" "_Line" s6 s8 "" "_Line" s7 s9 "")

 (setq f0 (list

     (+(car s0) (/(-(car s3)(car s0)) 2.0))

     (+(cadr s6) (/(-(cadr s8)(cadr s6)) 2.0))

     ))

 (if (< 0 r)

 (command "_circle" f0 (/ r 2.0) ""))

  ;оси

  (command "_layer" "У" "Оси" "") (command ) (command)

  (setq os1 (list (car o1)(cadr f0)))

  (setq os2 (list (car o4)(cadr f0)))

  (setq os3 (list (car f0)(cadr s1)))

  (setq os4 (list (car f0)(cadr s0)))

  (setq os5 (list (car s0)(cadr f0)))

  (setq os6 (list (car s3)(cadr f0)))

     (if (< 0 r)

  (command "_Line" os1 os2 "" "_Line" os5 os6 ""))

 (command "_Line" os3 os4 "" )

 ;размеры

 (command "_layer" "У" "Размеры" "") (command ) (command )

 (if (<= d1 0)

 (command "РЗМЛИНЕЙНЫЙ" p4 p5 "v" (list (+(car p4) 10) (+ (cadr p5) (/ d1 2.0)) )))

 (if(> a3 0)

 (command "РЗМЛИНЕЙНЫЙ" l1 l2 "v" (list (-(car l1) 10) (+ (cadr l1) (/ a3 2.0)) )))

 (if (> b2 0)

 (command "РЗМЛИНЕЙНЫЙ" p3 p4 "h" (list (+(car p3) (/ b2 2.0)) (+ (cadr p3) 10) )))

 (if (> b1 0)

 (command "РЗМЛИНЕЙНЫЙ" p3 p8 "h" (list (+(car p3) (/ b1 2.0)) (+ (cadr p3) 20) )))

 (if (> a1 0)

 (command "РЗМЛИНЕЙНЫЙ" s0 s4 "v" (list (-(car s0) 10) (+ (cadr s0) (/ a1 2.0)) )))

 (if (> a3 0)

 (command "РЗМЛИНЕЙНЫЙ" s6 s8 "v" (list (-(car s6) 10) (+ (cadr s6) (/ a3 2.0)) )))

 (if (> e 0)

 (command "РЗМЛИНЕЙНЫЙ" s0 s3 "h" (list (+(car s0) (/ e 2.0)) (- (cadr s0) 10) )))

 (if (> r 0)

   (progn

     (command "РЗМЛИНЕЙНЫЙ" (list (car f0) (- (cadr f0) (/ r 2.0))) (list (car f0)(+ (cadr f0) (/ r 2.0))) "v" "_mtext" "%%c<>" (list (+ (car s3) 10) (cadr f0) ))

   )

 )

 

)

(defun param ()

     ; ПОЛУЧЕНИЕ РАЗМЕРОВ ДЕТАЛИ от пользователя, если размеры невведены, то беруться по умолчанию

 (setq x   (GetReal "\nВведите начальные координаты X(110): ")) (if (= x nil) (progn (setq x 110.0) ))

 (setq y   (GetReal "\nВведите начальные координаты Y(50): "))  (if (= y nil) (progn (setq y 50.0) ))

 (setq e   (GetReal "\nВведите e  -  ширина (30): ")) (if (= e nil) (progn (setq e 30.0)))

 (setq a1  (GetReal "\nВведите a1  - толщина нижнего основания (20): ")) (if (= a1 nil) (progn (setq a1 20.0)))

 (setq b1  (GetReal "\nВведите b1  - высота 1 (58): ")) (if (= b1 nil) (progn (setq b1 58.0) ))

 (setq b2  (GetReal "\nВведите b2  - высота 2 (44): ")) (if (= b2 nil) (progn (setq b2 44.0) ))

 (setq a2  (GetReal "\nВведите a2  - толщина верхнего основания (42): ")) (if (= a2 nil) (progn (setq a2 42.0)))

 (setq d1  (GetReal "\nВведите d1  - толщина стенки (8): ")) (if (= d1 nil) (progn (setq d1 8.0)))

 (setq a3  (GetReal "\nВведите a3  - ширина башенки (26): ")) (if (or (= a3 nil)(> a3 a2) )(progn (setq a3 26.0)))

 (setq c   (GetReal "\nВведите c  -  толщина башенки (22): ")) (if (= c nil)(progn (setq c 22.0))(if (> c e)(progn (setq c e ))))

 (setq d2  (GetReal "\nВведите d2  - высота башенки (8): ")) (if (= d2 nil) (progn (setq d2 8.0)))

 (setq r   (GetReal "\nВведите d  - диаметр (14): ")) (if (or(= r nil) (> r a3) (> r c)) (progn (setq r 14.0)))

)

(defun new()

 (command "_linetype" "З" " ACAD_ISO10W100" "")

 (command)

 (command)

 (command "_linetype" "З" "JS_02_2.0" "")

 (command)

 (command)

 (command "_linetype" "З" "Continuous" "")

 (command)

 (command)

 (command "_layer" "С" "КОНТУР" "")

 (command)

 (command)

 (command "_layer" "Т" "Continuous" " Контур " "")

 (command)

 (command)

 (command "_layer" "Е" 0.8 " Контур " "")

 (command)

 (command)

 (command "_layer" "С" "Оси" "")

 (command)

 (command)

 (command "_layer" "Т" "ACAD_ISO10W100" " Оси " "")

 (command)

 (command)

 (command "_layer" "Е" 0.1 " Оси " "")

 (command)

 (command)

 (command "_layer" "С" "Размеры" "")

 (command)

 (command)

 (command "_layer" "Т" "Continuous" " Размеры " "")

 (command)

 (command)

 (command "_layer" "Е" 0.3 " Размеры " "")

 (command)

 (command)

 (command "_layer" "С" "Штриховка" "")

 (command)

 (command)

 (command "_layer" "Т" "Continuous" " Штриховка " "")

 (command)

 (command)

 (command "_layer" "Е" 0.3 " Штриховка " "")

 (command)

 (command)

 )




1.  Развитие эмбриона 2
2. тема работала сложено все подсистемы должны быть взаимосвязаны между собой
3. Вариант 1 Задача 1
4. БУХсо101 1я неделя вторник 2 ЛК
5.  Расходы предприятия от торговой деятельности и внереализационных операций
6. 4 Примерные вопросы к экзамену по Экологическому праву Компоненты окружающей среды как объекты природ
7. Русская эмиграция во Франции (на русском языке)
8.  Географічне розташування
9. Дионисий
10. Беспроводные локальные сети Wln (wi-fi)
11. Тема 12- Особливості мовлення у дітей при порушеннях слуху Загальна характеристика мовлення слабочуючих
12. наметившиеся к концу 19в
13. III ступенів з поглибленим вивченням економіки та права 380936539111 Навіщо мені
14. Эффективность производства, анализ эффективности производства
15. Розрахунок економічного ефекту від виробництва і використання нової машини.html
16. Реферат на тему- Деловой этикет Выполнил- студент группы 9ПО31 Одореско Олег
17. з курсу МАРКЕТИНГ ЕНЕРГІЇ Розробив- доцент Доценко С
18. государственного организма даны и обоснованы в нашей статье в 1м томе настоящего издания
19. Монтаж- одно из важнейших средств кинематографа
20. Происхождение и эволюция органического мира