Розробка об’єктно-орієнтованої надбудови в середовищі AutoCAD

Підстава для створення, найменування та область застосування програмного забезпечення. Дослідження теоретичних аспектів процесу проектування систем автоматизації розробки конструкторської документації. Інструкція по інсталяції програмного продукту.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 26.10.2012
Размер файла 2,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Показник приміщення рівний:

fi=40/2,2 (8+5)=1,3986

По довіднику визначаємо значення коефіцієнта n1 (для значень Рс=0,5, Рп=0,3): n1=0,7. Значення коефіцієнта нерівномірного освітлення приймаємо рівним 1,1, а коефіцієнта запасу - 1,5. При загальному типі освітлення значення Emin=400 лк.

Знаючи значення світлового потоку кожної лампи, можемо визначити необхідну кількість світильників:

N=400· 8· 5 ·1,5· 1,1/5220· 0,7· 2=3(штук)

Загальна потужність освітлювальної установки рівна:

Р=2· 80 · 3=480(Вт)

По результатах проведених розрахунків можна зробити висновок про те, що небезпечні і шкідливі виробничі чинники, діючи в робочій зоні, знаходяться в межах допустимих норм і їхній вплив на організм працюючих не приносить істотної шкоди здоров'ю.

6.4 Пожежна безпека

6.4.1 Пожежна і вибухова безпека в робочій зоні технічного обслуговування в приміщеннях з ПЕОМ

В системі заходів, направлених на охорону державної і особистої власності громадян, відвертання впливу на людей небезпечних чинників пожежі і вибуху, питання пожежної і вибухової безпеки займають важливе місце.

По класифікації приміщень з ПЕОМ по пожежній небезпеці відносяться до категорії В, що характеризуються наявністю твердих горючих і тяжко горючих речовин і матеріалів, а також легкозаймистих матеріалів.

В зв'язку з цим можна виділити ряд заходів для пожежебезпеки:

Ї не палити і не використовувати нагрівальні прилади в приміщеннях з ПЕОМ;

Ї не від'єднувати і не приєднувати кабелі, усувати несправності за наявності напруги в мережі;

Ї не визначати наявність напруги в ланцюзі, замиканням клем.

В електронно-обчислювальній техніці пожежну небезпеку створюють прилади, що нагріваються, електро- і радіотехнічні елементи. Вони нагрівають навколишнє повітря і близько розташовані деталі і провідники. Все це може призвести до займання означених елементів, руйнування ізоляції і короткого замикання.

Для виявлення пожеж в приміщенні встановлені датчики, що спрацьовують при появі диму, підвищенні температури і відкритого вогню.

Технологічні об'ємні підлоги виконуються з негорючих або тяжко горючих матеріалів з межею вогнестійкості не менше 0,5 г. Підпільні простори під об'ємними підлогами відділяють негорючими перегородками з межею вогнестійкості не менше 0,75 г на ділянки площею не більш 250 м2.

В кожній кімнаті знаходяться вогнегасники. Вони діляться на хімічні, пінні, повітряно-пінні, СО2 - вогнегасники і порошкові.

Вогнегасники допускаються до експлуатації якщо їхні технічні характеристики відповідають нормативним значенням, встановленим експлуатаційно-технічною документацією. Зменшення змісту вогнегасячої речовини і тиску у вогнегасниках не повинне перевищувати 10 % від встановленого номінального значення.

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

Первинні засоби пожежегасіння: ручні вогнегасники в кількості 2 шт.

Засоби гасіння загорання й пожежі, які можуть бути ефективно використані в початковій стадії пожежі: внутрішні пожежні крани, вогнегасники, кошми, пісок.

Для успішного гасіння пожежі велике значення має швидке виявлення пожежі та своєчасний виклик пожежних підрозділів до місця пожежі. Пожежний зв'язок і сигналізація можуть бути спеціального або загального призначення, радіозв'язком, електричною пожежною сигналізацією (ЕПС), сиренами. ЕПС є найбільш швидким та надійним засобом сповіщення про виникнену пожежу. В залежності від схеми з'єднання розрізнюють променеві (радіальні) та шлейфні (кільцеві) системи ЕПС.

ЕПС складаються з таких основних частин: сповіщувачів, встановлених в приміщеннях; приймальної станції, яка знаходиться в черговій кімнаті пожежної команди; блока поживи від сіті та від акумулятора (резервний); системи переключення з одної поживи на іншу; електропровідній сіті, яка з'єднує сповіщувачі з приймальною станцією.

В кімнаті з ПЕОМ розміщений сповіщувач (датчик) тепловий легкоплавкий. При збільшенні температури легкоплавкий сплав розплавляється і пружинячі пластинки, розмикаючись, вмикають ланцюг сигналізації.

ВИСНОВКИ

Поява на початку 80-х роках графічних редакторів привело до переходу від кульманів до комп'ютера. Така робота практично копіювала прийоми роботи з олівцем і гумкою. Об'єкти на полі креслення були тими ж лініями і написами без всякої їх структуризації. Тільки уява конструктора дозволяла осмислити зображення і представити об'єкт в цілому. Різні частини різних креслень стали доступними для комбінування, що забезпечило можливість швидко і безпомилково будувати нові креслення. Саме таким чином виконується приблизно 98% всіх проектних робіт. Чим зручніше графічний редактор, ніж майстернішим є конструктор, ніж розвиненіша база креслень, тим ефективніше процес проектування на підприємстві. Тепер використання AUTOCAD вже не зводиться до відтворення роботи на креслярській дошці. Відносини і зв'язки між окремими тілами в тривимірному просторі можуть задаватися в структурі самих елементів конструкцій. Внутрішня форма опису кожного елементу геометричній моделі в AUTOCAD передбачається можливість запису практично будь-якої супутньої інформації.

Одним з достоїнств AUTOCAD виявляється можливість внесення до нього додавань. Найбільш могутнім засобом розширення AUTOCAD є мова програмування Auto LISP. Ця мова дозволяє використовувати могутні засоби розробки і удосконалення команд AUTOCAD.

В ході виконання дипломної роботи була розроблена об'єктно-орієнтована надбудова, призначена для креслення різьбових кріпильних деталей, що дозволяє перейти на вищий рівень роботи і максимально автоматизувати процес створення проектів.

СПИСОК ЛІТЕРАТУРИ

1. David M. Stein, The Visual LISP Developers Bible - 2003 Edition. Электронное издание, 2003. vww.dsxcad.com. - 183 с

2. Бугрименко Г. А., Лямке В. Н., Шейбоксне Э.-К. С. Автоматизация конструирования на ПЭВМ с использованием системы AutoCAD. - М.: Машиностроение, 1993. - 336 с.

3. Джамп Д. AutoCAD. Программирование. Пер. с англ. - М.: Радио и связь, 1992. - 336 с.

4. Долин П.А. Основы техники безопасности в электроустановках. - М.: Энергоатомиздат, 1984.

5. Жирков С.В. Shareware: профессиональная разработка и продвижение программ. - СПб.: БХВ-Петсрбург, 2003. - 320 с.

6. Кречко Ю. A. AutoCAD: программирование и адаптация, - М. ДИАЛОГ-МИФИ, 1995.- 240 с.

7. Орлов И.А. Эксплуатация и ремонт ЭВМ, организация работы ВЦ. Москва -1989г.

8. Погорелов В.И. AutoCAD 2005 для начинающих. - СПб.:БХВ-Петербург, 2004.

9. Полещук Н.Н. Visual LISP и секреты адаптации AutoCAD, - СПб.: БХВ-Петербург, 2004,- 576 с

10. Полещук Н.Н. AutoCAD 2004: разработка приложений и адаптация. СПб.: БХВ-Петербург, 2004. - 624 с.

11. . Попова Г. Н., Алексеев С. Ю. Машиностроительное черчение: Справочник. -СПб.: Политехника, 1994.

12. Романычева Э. Т., Соколова Т. Ю. Компьютерные технологии инженерной графики в среде AutoCAD 2000. AutoLISP. Учебное пособие. - М.: ДМК, 2000.

13. Романычева Э. Т., Соколова Т. Ю., Шандурина Г. Ф. Инженерная и компьютерная графика. - 2-е изд., перераб. - М. ДМК Пресс, 2001. - 592 с, ил. (Серия «Проектирование»).

14. Романычева Э. Т., Трошина Т. Ю. AutoCAD 2000. - М.: ДМК, 1999.

15. Свет В.Л, AutoCAD: язык макрокоманд и создание кнопок, - СПб.: БХВ-Петербург, 2004. - 320 с.

16. Хейфенц А.Л. Инженерная компьютерная графика. AutoCAD. - СПб.: БХВ-Петербург, 2005.

17. Хейфенц А.Л., Логиновский А.Н., Буторина И.В. 3D-технологии построения чертежа. AutoCAD. - СПб.: БХВ-Петербург, 2005.

18. Хювёнен Э., Сеппянен Й. Мир Лиспа. В 2-х т. Т. 1: Введение в язык Лисп и функциональное программирование. Пер. с финск. М.: Мир, 1990, 447 с.

19. Хювёнен Э., Сеппянен Й. Мир Лиспа. В 2-х т. Т. 2: Методы и системы программирования. Пер. с финск. -- М.: Мир, 1990. -- 319 с.

20. Чуприн А.И. AutoCAD 2005. Лекции и упражнения. - М.:ООО «ДиаСофтЮП», 2005.

21. http://www.sprut.ru/public/stat/sapr0001.html

22. http://www.csoft.ru

23. http://www.solidlab.hoha.ru/lab/intro.htm

24. http://www.ad.cctpu.edu.ru/SAPR/SAPR_03/obzor1.htm

25. http://www.dwg.ru

26. http://www.autodesk.ru

27. http://www.cad.dp.ua

28. http://www.autocad.ru

29. http://cadhouse.nm.ru

http://www.afralisp.com

ДОДАТОК А

Вихідний текст файлів надбудови

krpz.lsp - головний модуль надбудови

;;;Рисование крепежных изделий

(defun c:krpg (/ dvt1 dvt2 dvt3 dvt4 krcl basd

bas1d bas2d bas3d bas4d bas5d bas6d bas7d

bas8d bas9d bas10d bas11d bas12d bas13d bas14d

bas15d bas16 bas17d bas18d bas19d bas20d bas21

bas22d bas23d bas24d bas25d bas26d bas27d name1

orx aby fil glv1 vsb1 vsv1 pr_fl

vk_rp rr rl rs spr x a

aa a1 a2 a3 a4 b bb msg

b0 b1 b2 b12 acnl acnlr lcn nlt

mcS mcA filcolASO mclS mcASO nstr o_si

cmd blpm apsz osmd clay cltp ccol ltsc cltsc dop mshtb

)

(setq cmd (getvar "cmdecho"))

(setq blpm (getvar "blipmode"))

(setq apsz (getvar "aperture"))

(setq osmd (getvar "osmode"))

(setq clay (getvar "clayer"))

(setq cltp (getvar "celtype"))

(setq ccol (getvar "cecolor"))

(setq ltsc (getvar "ltscale"))

(setq cltsc (getvar "celtscale"))

(setvar "cmdecho" 0)

(setvar "blipmode" 0)

(defun *error* (msg)

(setvar "cmdecho" cmd)

(setvar "blipmode" blpm)

(setvar "celtype" cltp)

(setvar "cecolor" ccol)

(setvar "celtscale" cltsc)

(setvar "aperture" apsz)

(setvar "osmode" osmd)

(setq msg "")

(princ msg)

(terpri)

(princ)

)

(setq acln (findfile "acad.lin")

aclnr (open acln "r")

lcn (read-line aclnr)

lcn (substr lcn 2 6)

)

(while (and (/= "CENTER" lcn) (/= lcn nil))

(setq lcn (read-line aclnr))

(if (/= lcn nil) (setq lcn (substr lcn 2 6)))

)

(close aclnr)

(if (eq lcn "CENTER")

(setq nlt "center")

(setq nlt "осевая")

)

(if (eq (tblsearch "LTYPE" nlt) nil)

(command "_linetype" "_l" nlt acln "")

)

(if (< (cdr (assoc 40 (tblsearch "LTYPE" nlt))) 3.0)

(setq dop 1.5)

(setq dop 0.04)

)

(setqdvt1 (findfile "support/blts/blts.lsp")

dvt2 (findfile "support/blts/vint.lsp")

dvt3 (findfile "support/blts/gks.lsp")

dvt4 (findfile "support/blts/shb.lsp")

krcl (findfile "support/blts/krpz.dcl")

basd (findfile "support/blts/b7805.dat")

bas1d (findfile "support/blts/b7808.dat")

bas2d (findfile "support/blts/b7798.dat")

bas3d (findfile "support/blts/b7796.dat")

bas4d (findfile "support/blts/v1491.dat")

bas5d (findfile "support/blts/v17473.dat")

bas6d (findfile "support/blts/v17474.dat")

bas7d (findfile "support/blts/v17475.dat")

bas8d (findfile "support/blts/v11738.dat")

bas9d (findfile "support/blts/v1488.dat")

bas10d (findfile "support/blts/g5915.dat")

bas11d (findfile "support/blts/g5916.dat")

bas12d (findfile "support/blts/g15521.dat")

bas13d (findfile "support/blts/g15522.dat")

bas14d (findfile "support/blts/g5927.dat")

bas15d (findfile "support/blts/g5929.dat")

bas16d (findfile "support/blts/g2524.dat")

bas17d (findfile "support/blts/g2526.dat")

bas18d (findfile "support/blts/g15524.dat")

bas19d (findfile "support/blts/g5931.dat")

bas20d (findfile "support/blts/s11371.dat")

bas21d (findfile "support/blts/s6958.dat")

bas22d (findfile "support/blts/s10450.dat")

bas23d (findfile "support/blts/s6402n.dat")

bas24d (findfile "support/blts/s6402l.dat")

bas25d (findfile "support/blts/s6402t.dat")

bas26d (findfile "support/blts/s6402ot.dat")

bas27d (findfile "support/blts/s10906.dat")

) ;_ end of setq

(setq filcolASO (findfile "support/blts/sbrk.ini")

dlz (strlen dvt1) dlz (substr dvt1 1 (- dlz 8)) dlz (strcat dlz "sbrk.ini")

)

(if(/= filcolASO nil)

(progn

(setq mclS (open filcolASO "r")

mcASO (read-line mclS))

(setq nstr (strlen mcASO))

(setq nstr (substr mcASO nstr))

(if (and (/= mcASO nil) (eq nstr ")"))

(progn (setq mcASO (read mcASO))

(if (/= (type mcASO) 'INT)

(setq mcA (nth 0 mcASO)

mcS (nth 1 mcASO)

o_si (nth 2 mcASO)

) ;_ end of setq

(setq mcA 4 mcS 3 o_si 0)

);_end of if

);_end of progn

);_end of if

(close mclS)

(if (or (> mcA 255) (> mcS 255) (eq mcA 0) (eq mcS 0) (/= nstr ")"))

(alert "\tФайл Support/blts/sbrk.ini поврежден!!! \nУдалите поврежденный файл и запустите приложение вновь")

)

(if (eq mcA nil) (setq mcA "4") (setq mcA (itoa mcA)))

(if (eq mcS nil) (setq mcS "3") (setq mcS (itoa mcS)))

(if (eq o_si nil) (setq o_si "0") (setq o_si (itoa o_si)))

) ;_end of progn

(setq mcA "4" mcS "3" o_si "0")

) ;_end of if

(defun lay_o ()

(command "_'layer" "_s" "0" "")

) ;_ end of defun

(defun osn ()

(command "_linetype" "_s" "_bylayer" "")

(command "_color" "_byl")

)

(defun ton ()

(command "_linetype" "_s" "_bylayer" "")

(command "_color" mcS)

)

(defun axs ()

(if (eq lcn "CENTER")

(command "_linetype" "_s" "center" "")

(command "_linetype" "_s" "осевая" "")

)

(command "_color" mcA)

)

(load dvt1)

(load dvt2)

(load dvt3)

(load dvt4)

(defun show_im2 (name1)

(setq orx (dimx_tile "image")

aby (dimy_tile "image")

) ;_ end of setq

(start_image "image")

(fill_image 0 0 orx aby 444)

(slide_image 0 0 orx aby name1)

(end_image)

) ;_ end of defun

(defun name ()

(cond

((and (eq vk_rp "0")

(eq glv1 "1")

(eq vsb1 "0")

(eq vsv1 "0")

(or(eq pr_fl nil)

(eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

) ;_ end of or

) ;_ end of and

(setq name1

"support/blts/vnt(1).slb"

) ;_ end of setq

)

((and (eq vk_rp "1")

(eq glv1 "1")

(eq vsv1 "0")

(or(eq pr_fl nil)

(eq pr_fl "0")

) ;_ end of or

) ;_ end of and

(setq name1

"support/blts/vnt(4).slb"

) ;_ end of setq

)

((and (or (eq vk_rp "1") (eq vk_rp "3"))

(eq glv1 "0")

(eq vsb1 "1")

(eq vsv1 "0")

(or(eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

(eq pr_fl "6")

(eq pr_fl "7")

) ;_ end of or

) ;_ end of and

(setq name1

"support/blts/vnt(17).slb"

) ;_ end of setq

)

((and (eq vk_rp "1")

(eq glv1 "1")

(eq vsv1 "0")

(eq pr_fl "1")

) ;_ end of and

(setq name1

"support/blts/vnt(6).slb"

) ;_ end of setq

)

((and (eq vk_rp "1")

(eq glv1 "1")

(eq vsv1 "0")

(eq pr_fl "2")

) ;_ end of and

(setq name1

"support/blts/vnt(8).slb"

) ;_ end of setq

)

((and (eq vk_rp "1")

(eq glv1 "1")

(eq vsv1 "0")

(eq pr_fl "3")

) ;_ end of and

(setq name1

"support/blts/vnt(9).slb"

) ;_ end of setq

)

((and (eq vk_rp "1")

(eq glv1 "1")

(eq vsv1 "0")

(eq pr_fl "4")

) ;_ end of and

(setq name1

"support/blts/vnt(10).slb"

) ;_ end of setq

)

((and (eq vk_rp "1")

(eq glv1 "1")

(eq vsv1 "0")

(eq pr_fl "5")

) ;_ end of and

(setq name1

"support/blts/vnt(11).slb"

) ;_ end of setq

)

((and (eq vk_rp "1")

(eq glv1 "0")

(eq vsv1 "1")

(eq pr_fl "4")

) ;_ end of and

(setq name1

"support/blts/vnt(12).slb"

) ;_ end of setq

)

((and (eq vk_rp "1")

(eq glv1 "0")

(eq vsv1 "1")

(eq pr_fl "5")

) ;_ end of and

(setq name1

"support/blts/vnt(13).slb"

) ;_ end of setq

)

((and (eq vk_rp "1")

(eq glv1 "0")

(eq vsv1 "1")

(or (eq pr_fl "0") (eq pr_fl "2") (eq pr_fl "3"))

) ;_ end of and

(setq name1

"support/blts/vnt(5).slb"

) ;_ end of setq

)

((and (eq vk_rp "1")

(eq glv1 "0")

(eq vsv1 "1")

(eq pr_fl "1")

) ;_ end of and

(setq name1

"support/blts/vnt(7).slb"

) ;_ end of setq

)

((and (eq vk_rp "0")

(eq glv1 "0")

(eq vsb1 "1")

(eq vsv1 "0")

(or(eq pr_fl nil)

(eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

) ;_ end of or

) ;_ end of and

(setq name1

"support/blts/vnt(2).slb"

) ;_ end of setq

)

((and (eq vk_rp "0")

(eq glv1 "0")

(eq vsb1 "0")

(eq vsv1 "1")

(or(eq pr_fl nil)

(eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

) ;_ end of or

) ;_ end of and

(setq name1

"support/blts/vnt(3).slb"

) ;_ end of setq

)

((and (eq vk_rp "2")

(eq glv1 "1")

(eq vsb1 "0")

(eq vsv1 "0")

(or(eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

(eq pr_fl "6")

(eq pr_fl "7")

(eq pr_fl "8")

(eq pr_fl "9")

) ;_end of or

) ;_ end of and

(setq name1

"support/blts/vnt(14).slb"

) ;_ end of setq

)

((and (eq vk_rp "2")

(eq glv1 "0")

(eq vsb1 "1")

(eq vsv1 "0")

(or(eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

(eq pr_fl "6")

(eq pr_fl "7")

(eq pr_fl "8")

(eq pr_fl "9")

) ;_end of or

) ;_ end of and

(setq name1

"support/blts/vnt(15).slb"

) ;_ end of setq

)

((and (eq vk_rp "2")

(eq glv1 "0")

(eq vsb1 "0")

(eq vsv1 "1")

(or(eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

(eq pr_fl "6")

(eq pr_fl "7")

(eq pr_fl "8")

(eq pr_fl "9")

) ;_end of or

) ;_ end of and

(setq name1

"support/blts/vnt(16).slb"

) ;_ end of setq

)

((and (eq vk_rp "3")

(eq glv1 "1")

(eq vsv1 "0")

(or(eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

) ;_end of or

) ;_ end of and

(setq name1

"support/blts/vnt(18).sld"

) ;_ end of setq

)

((and (eq vk_rp "3")

(eq glv1 "1")

(eq vsv1 "0")

(or(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

(eq pr_fl "6")

) ;_end of or

) ;_ end of and

(setq name1

"support/blts/vnt(20).sld"

) ;_ end of setq

)

((and (eq vk_rp "3")

(eq glv1 "0")

(eq vsv1 "1")

(or(eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

(eq pr_fl "6")

) ;_end of or

) ;_ end of and

(setq name1

"support/blts/vnt(19).sld"

) ;_ end of setq

)

((and (eq vk_rp "3")

(eq glv1 "1")

(eq vsv1 "0")

(eq pr_fl "7")

) ;_ end of and

(setq name1

"support/blts/vnt(21).sld"

) ;_ end of setq

)

((and (eq vk_rp "3")

(eq glv1 "0")

(eq vsv1 "1")

(eq pr_fl "7")

) ;_ end of and

(setq name1

"support/blts/vnt(22).sld"

) ;_ end of setq

)

) ;_ end of cond

) ;_ end of defun

(defun show (/ dcl_id)

(setq dcl_id

(load_dialog

krcl

) ;_ end of load_dialog

);Загрузить DCL-файл

(if(not (new_dialog "krpz" dcl_id)) ;Инициализировать диалог

(exit)

);(выйти, если не работает)

(defun sn_def ()

(setq glv1 "1"

vsb1 "0"

vsv1 "0"

rr "0"

) ;_ end of setq

) ;_ end of defun

(if (eq o_si nil) (set_tile "osi" "0") (set_tile "osi" o_si))

(defun name_fil ()

(cond

((and (eq vk_rp "0") (eq pr_fl "0")) (setq fil bas2d))

((and (eq vk_rp "0") (eq pr_fl "1")) (setq fil bas3d))

((and (eq vk_rp "0") (eq pr_fl "2")) (setq fil basd))

((and (eq vk_rp "0") (eq pr_fl "3")) (setq fil bas1d))

((and (eq vk_rp "1") (eq pr_fl "0")) (setq fil bas4d))

((and (eq vk_rp "1") (eq pr_fl "1")) (setq fil bas5d))

((and (eq vk_rp "1") (eq pr_fl "2")) (setq fil bas6d))

((and (eq vk_rp "1") (eq pr_fl "3")) (setq fil bas7d))

((and (eq vk_rp "1") (eq pr_fl "4")) (setq fil bas9d))

((and (eq vk_rp "1") (eq pr_fl "5")) (setq fil bas8d))

((and (eq vk_rp "2") (eq pr_fl "0")) (setq fil bas10d))

((and (eq vk_rp "2") (eq pr_fl "1")) (setq fil bas11d))

((and (eq vk_rp "2") (eq pr_fl "2")) (setq fil bas12d))

((and (eq vk_rp "2") (eq pr_fl "3")) (setq fil bas13d))

((and (eq vk_rp "2") (eq pr_fl "4")) (setq fil bas14d))

((and (eq vk_rp "2") (eq pr_fl "5")) (setq fil bas15d))

((and (eq vk_rp "2") (eq pr_fl "6")) (setq fil bas16d))

((and (eq vk_rp "2") (eq pr_fl "7")) (setq fil bas17d))

((and (eq vk_rp "2") (eq pr_fl "8")) (setq fil bas18d))

((and (eq vk_rp "2") (eq pr_fl "9")) (setq fil bas19d))

((and (eq vk_rp "3") (eq pr_fl "0")) (setq fil bas20d))

((and (eq vk_rp "3") (eq pr_fl "1")) (setq fil bas21d))

((and (eq vk_rp "3") (eq pr_fl "2")) (setq fil bas22d))

((and (eq vk_rp "3") (eq pr_fl "3")) (setq fil bas23d))

((and (eq vk_rp "3") (eq pr_fl "4")) (setq fil bas24d))

((and (eq vk_rp "3") (eq pr_fl "5")) (setq fil bas25d))

((and (eq vk_rp "3") (eq pr_fl "6")) (setq fil bas26d))

((and (eq vk_rp "3") (eq pr_fl "7")) (setq fil bas27d))

) ;_ end of cond

) ;_ end of defun

(defun desk_f ()

(setq x(open (name_fil) "r")

a(read-line x)

aa(read a)

a1(nth 0 aa)

a2(nth (1+ (atoi rr)) aa)

a3(nth 0 a2)

a4(nth 1 a2)

b(read-line x)

bb(read b)

b0(nth 0 bb)

b1(nth 1 bb)

b2(nth 2 bb)

b12(nth 12 bb)

) ;_ end of setq

) ;_ end of defun

(defun spis(/ ltb)

(cond

((eq vk_rp "0")

(setq ltb '("ГОСТ 7798-70 норм.точн."

"ГОСТ 7796-70 норм.точн. с ум.головкой"

"ГОСТ 7805-70 пов.точн."

"ГОСТ 7808-70 пов.точн. с ум.головкой"

)

) ;_ end of setq

)

((eq vk_rp "1")

(setq ltb '("ГОСТ 1491-72 с цилиндр.головкой"

"ГОСТ 17473-72 с полукркг.головкой"

"ГОСТ 17474-72 с полупот.головкой"

"ГОСТ 17475-72 с потайн.головкой"

"ГОСТ 1488-75 с квадр.головкой и бурт."

"ГОСТ 11738-72 с внутр.шестигранником"

)

) ;_ end of setq

)

((eq vk_rp "2")

(setq ltb '("ГОСТ 5915-70норм.точ."

"ГОСТ 5916-70норм.точ.низ."

"ГОСТ 15521-70норм.точ.с ум.раз.под кл."

"ГОСТ 15522-70норм.точ.низ.с ум.р.под кл."

"ГОСТ 5927-70пов.точ."

"ГОСТ 5929-70пов.точ.низ."

"ГОСТ 2524-70пов.точ.с ум.р.под кл."

"ГОСТ 2526-70пов.точ.низ.с ум.р.под кл."

"ГОСТ 15524-70пов.точ.выс."

"ГОСТ 5931-70пов.точ.особо выс."

)

) ;_ end of setq

)

((eq vk_rp "3")

(setq ltb '("ГОСТ 11371-78 нормальные"

"ГОСТ 6958-78 увеличенные"

"ГОСТ 10450-78 уменьшенные"

"ГОСТ 6402-70 пружинные нормальные"

"ГОСТ 6402-70 пружинные легкие"

"ГОСТ 6402-70 пружинные тяжелые"

"ГОСТ 6402-70 пружинные особо тяжелые"

"ГОСТ 10906-78 косые"

)

) ;_ end of setq

)

) ;_ end of cond

) ;_ end of defun

(defun r_r ()

(start_list "n")

(mapcar 'add_list a1)

(end_list)

) ;_ end of defun

(defun d_r ()

(start_list "l_bt")

(mapcar 'add_list a3)

(end_list)

) ;_ end of defun

(defun s_r ()

(start_list "s_bt")

(mapcar 'add_list a4)

(end_list)

) ;_ end of defun

(defun chart ()

(start_list "sprav")

(mapcar 'add_list b12)

(end_list)

) ;_ end of defun

(defun lb_t()

(start_list "prfl")

(mapcar 'add_list (spis))

(end_list)

) ;_ end of defun

(if(action_tile "vkrp" "")

(progn

(mode_tile "glv" 0)

(mode_tile "vsb" 0)

(mode_tile "vsv" 0)

(setq vk_rp "0"

pr_fl "0"

) ;_ end of setq

(sn_def)

(desk_f)

(r_r)

(d_r)

(s_r)

(chart)

(lb_t)

(show_im2 (name))

) ;_ end of progn

) ;_ end of if

(defun clos_x ()

(close x)

(desk_f)

) ;_ end of defun

(defun whl ()

(if (or (< (atof rr) (atof b0))

(< (atof rs) (atof b2))

(< (atof rl) (atof b1))

) ;_ end of or

(clos_x)

) ;_ end of if

(while (or (/= (atof rr) (atof b0))

(/= (atof rs) (atof b2))

(/= (atof rl) (atof b1))

) ;_ end of or

(setq b (read-line x)

bb (read b)

b0 (nth 0 bb)

b1 (nth 1 bb)

b2 (nth 2 bb)

b12 (nth 12 bb)

) ;_ end of setq

) ;_ end of while

) ;_ end of defun

(defun hlp ()

(set_tile "help" "Пояснения: >>>")

) ;_ end of defun

(defun vkr ()

(cond ((and (eq vk_rp "0")

(or (eq glv1 "1") (eq vsb1 "1"))

(eq vsv1 "0")

) ;_ end of and

(progn

(mode_tile "vsb" 0)

(mode_tile "l_bt" 0)

(mode_tile "s_bt" 0)

) ;_end of progn

)

((and (eq vk_rp "0")

(eq glv1 "0")

(eq vsb1 "0")

(eq vsv1 "1")

) ;_ end of and

(progn

(mode_tile "vsb" 0)

(mode_tile "l_bt" 1)

(mode_tile "s_bt" 1)

) ;_ end of progn

)

((and (eq vk_rp "1")

(or (eq glv1 "1") (eq vsb1 "1"))

(eq vsv1 "0")

) ;_ end of and

(progn

(mode_tile "vsb" 1)

(mode_tile "l_bt" 0)

(mode_tile "s_bt" 0)

) ;_end of progn

)

((and (eq vk_rp "1")

(eq glv1 "0")

(eq vsb1 "0")

(eq vsv1 "1")

) ;_ end of and

(progn

(mode_tile "vsb" 1)

(mode_tile "l_bt" 1)

(mode_tile "s_bt" 1)

) ;_ end of progn

)

((and (eq vk_rp "2")

(or (eq glv1 "1") (eq vsb1 "1"))

(eq vsv1 "0")

) ;_ end of and

(progn

(mode_tile "vsb" 0)

(mode_tile "l_bt" 1)

(mode_tile "s_bt" 1)

) ;_ end of progn

)

((and (eq vk_rp "2")

(eq glv1 "0")

(eq vsb1 "0")

(eq vsv1 "1")

) ;_ end of and

(progn

(mode_tile "vsb" 0)

(mode_tile "l_bt" 1)

(mode_tile "s_bt" 0)

) ;_ end of progn

)

((eq vk_rp "3")

(progn

(mode_tile "vsb" 1)

(mode_tile "l_bt" 1)

(mode_tile "s_bt" 1)

) ;_end of progn

)

) ;_end of cond

) ;_end of defun VKR

(action_tile

"vkrp"

(strcat

"(progn (setq vk_rp (get_tile \"vkrp\"))"

"(vkr)"

"(setq pr_fl \"0\")"

"(sn_def)"

"(desk_f)"

"(r_r)"

"(d_r)"

"(s_r)"

"(lb_t)"

"(chart)"

"(setq glv1 (get_tile \"glv\"))"

"(setq vsb1 (get_tile \"vsb\"))"

"(setq vsv1 (get_tile \"vsv\"))"

"(show_im2 (name)))"

"(hlp)"

) ;_ end of strcat

) ;_ end of action_tile

(action_tile

"prfl"

(strcat

"(progn (setq pr_fl (get_tile \"prfl\") rr \"0\")"

"(desk_f)"

"(r_r)"

"(d_r)"

"(s_r)"

"(chart)"

"(show_im2 (name)))"

"(hlp)"

) ;_ end of strcat

) ;_ end of action_tile

(defun rl_rs ()

(setq rl "0"

rs "0"

) ;_ end of setq

) ;_ end of defun

(action_tile

"n"

(strcat

"(progn (sel_view)"

"(rl_rs)"

"(desk_f)"

"(whl)"

"(chart))"

"(hlp)"

"(d_r)"

"(s_r)"

) ;_ end of strcat

) ;_ end of action_tile

(action_tile

"l_bt"

(strcat

"(progn (sel_view)"

"(whl)"

"(chart))"

"(hlp)"

) ;_ end of strcat

) ;_ end of action_tile

(if(action_tile "l_tb" "")

(setq rl "0")

) ;_ end of if

(action_tile

"s_bt"

(strcat

"(progn (sel_view)"

"(whl))"

) ;_ end of strcat

) ;_ end of action_tile

(if(action_tile "s_tb" "")

(setq rs "0")

) ;_ end of if

(defun sel_view ()

(setq rr (get_tile "n")

rl (get_tile "l_bt")

rs (get_tile "s_bt")

vsb1 (get_tile "vsb")

glv1 (get_tile "glv")

vsv1 (get_tile "vsv")

) ;_ end of setq

) ;_ end of defun

(action_tile

"glv"

(strcat

"(progn (sel_view)"

"(show_im2 (name)))"

"(vkr)"

) ;_ end of strcat

) ;_ end of action_tile

(action_tile

"vsb"

(strcat

"(progn (sel_view)"

"(show_im2 (name)))"

"(vkr)"

) ;_ end of strcat

) ;_ end of action_tile

(action_tile

"vsv"

(strcat

"(progn (sel_view)"

"(show_im2 (name)))"

"(vkr)"

) ;_ end of strcat

) ;_ end of action_tile

(defun dosi ()

(defun rino ()

(progn

(setq mcASO (strcat "(" mcA " " mcS " " o_si ")")

) ;_ end of setq

(setq mclS (open dlz "w"))

(write-line mcASO mclS)

(close mclS)

) ;_end of progn

) ;_end of defun

(action_tile

"osi"

(strcat

"(progn (setq o_si $value)"

"(rino))"

; "(dan))"

) ;_ end of strcat

) ;_ end of action_tile

)

(dosi)

(defun notes ()

(cond

((and (or (eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

) ;_ end of or

(eq vk_rp "0")

(eq spr "0")

) ;_ end of and

(set_tile "help" "Пояснения: >>> Диаметр головки болта")

)

((and (or (eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

(eq pr_fl "6")

(eq pr_fl "7")

(eq pr_fl "8")

(eq pr_fl "9")

) ;_ end of or

(eq vk_rp "2")

(eq spr "0")

) ;_ end of and

(set_tile "help" "Пояснения: >>> Диаметр гайки")

)

((and (eq pr_fl "7")

(eq vk_rp "3")

(eq spr "0")

) ;_ end of and

(set_tile "help" "Пояснения: >>> Габаритный размер шайбы")

)

((and (eq pr_fl "7")

(eq vk_rp "3")

(eq spr "1")

) ;_ end of and

(set_tile "help" "Пояснения: >>> Средняя толщина шайбы")

)

((and (or (eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

(eq pr_fl "6")

(eq pr_fl "7")

) ;_ end of or

(eq vk_rp "3")

(eq spr "0")

) ;_ end of and

(set_tile "help" "Пояснения: >>> Диаметр шайбы")

)

((and (or (eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

(eq pr_fl "6")

(eq pr_fl "7")

) ;_ end of or

(eq vk_rp "3")

(eq spr "1")

) ;_ end of and

(set_tile "help" "Пояснения: >>> Толщина шайбы")

)

((and (or (eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

) ;_ end of or

(eq vk_rp "1")

(eq spr "0")

) ;_ end of and

(set_tile "help" "Пояснения: >>> Диаметр головки винта")

)

((and (or (eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

(eq pr_fl "6")

(eq pr_fl "7")

(eq pr_fl "8")

(eq pr_fl "9")

) ;_ end of or

(or (eq vk_rp "0")

(eq vk_rp "1")

(eq vk_rp "2")

) ;_end of or

(eq spr "1")

) ;_ end of and

(set_tile "help" "Пояснения: >>> Размер под ключ")

)

((and (or (eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

) ;_ end of or

(eq vk_rp "1")

(eq spr "1")

) ;_ end of and

(set_tile "help" "Пояснения: >>> Ширина паза под отвертку")

)

((and (or (eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

) ;_ end of or

(eq vk_rp "0")

(eq spr "2")

) ;_ end of and

(set_tile "help" "Пояснения: >>> Высота головки болта")

)

((and (or (eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

) ;_ end of or

(eq vk_rp "1")

(eq spr "2")

) ;_ end of and

(set_tile "help" "Пояснения: >>> Высота головки винта")

)

((and (or (eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

(eq pr_fl "6")

(eq pr_fl "7")

(eq pr_fl "8")

(eq pr_fl "9")

) ;_ end of or

(eq vk_rp "2")

(eq spr "2")

) ;_ end of and

(set_tile "help" "Пояснения: >>> Высота гайки")

)

((and (or (eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

) ;_ end of or

(or (eq vk_rp "0")

(eq vk_rp "1")

) ;_ end of or

(eq spr "3")

) ;_ end of and

(set_tile "help" "Пояснения: >>> Длина резьбовой части")

)

) ;_ end of cond

) ;_ end of defun

(action_tile

"sprav"

(strcat

"(setq spr (get_tile \"sprav\"))"

"(notes)"

) ;_ end of strcat

) ;_ end of action_tile

(defun okey()

(if (and

(or (/= vk_rp "1") (/= vsb1 "1"))

(or (/= vk_rp "3") (/= vsb1 "1"))

) ;_end of and

(progn (done_dialog) (close x))

) ;_ end of if

) ;_ end of defun

(action_tile

"accept"

"(okey)"

) ;_ end of action_tile

(action_tile

"cancel"

(strcat "(progn (setq rr nil)" "(done_dialog))" "(close x)")

) ;_ end of action_tile

(start_dialog);Вывести диалоговое окно

(unload_dialog dcl_id);Выгрузить DCL-файл

(prin1)

); Описание функции show закончено

(if (and (<= (atoi mcA) 255) (<= (atoi mcS) 255) (/= mcS "0") (/= mcA "0")

(or (eq nstr ")") (eq nstr nil))

);_end of and

(show)

)

(defun msht ()

(setvar "celtscale" 1.0)

(if (>= ltsc cltsc) (setq mskf 10.0) (setq mskf 0.5))

(cond

((and (>= ltsc cltsc)

(or (and (<= dln 10.0) (or (eq vk_rp "0") (eq vk_rp "1")) (eq vsv1 "0"))

(and (<= dgb 10.0) (or (eq vk_rp "0") (eq vk_rp "1") (eq vk_rp "2"))

(eq vsv1 "1"))

);_end of or

);_end of and

(setq mshtb (* dop 1.2 (/ mskf ltsc))))

((and (>= ltsc cltsc)

(or (and (> dln 10.0) (<= dln 20.0) (or (eq vk_rp "0") (eq vk_rp "1")) (eq vsv1 "0"))

(and (> dgb 10.0) (<= dgb 20.0) (or (eq vk_rp "0") (eq vk_rp "1") (eq vk_rp "2"))

(eq vsv1 "1"))

);_end of or

);_end of and

(setq mshtb (* dop 1.3 (/ mskf ltsc))))

((and (>= ltsc cltsc)

(or (and (> dln 20.0) (<= dln 30.0) (or (eq vk_rp "0") (eq vk_rp "1")) (eq vsv1 "0"))

(and (> dgb 20.0) (<= dgb 30.0) (or (eq vk_rp "0") (eq vk_rp "1") (eq vk_rp "2"))

(eq vsv1 "1"))

);_end of or

);_end of and

(setq mshtb (* dop 1.5 (/ mskf ltsc))))

((and (>= ltsc cltsc)

(or (and (> dln 30.0) (<= dln 80.0) (or (eq vk_rp "0") (eq vk_rp "1")) (eq vsv1 "0"))

(and (> dgb 30.0) (<= dgb 80.0) (or (eq vk_rp "0") (eq vk_rp "1") (eq vk_rp "2"))

(eq vsv1 "1"))

);_end of or

);_end of and

(setq mshtb (* dop 1.6 (/ mskf ltsc))))

((and (>= ltsc cltsc)

(or (and (> dln 80.0) (<= dln 150.0) (or (eq vk_rp "0") (eq vk_rp "1")) (eq vsv1 "0"))

(and (> dgb 80.0) (or (eq vk_rp "0") (eq vk_rp "1") (eq vk_rp "2"))

(eq vsv1 "1"))

);_end of or

);_end of and

(setq mshtb (* dop 2.0 (/ mskf ltsc))))

((and (>= ltsc cltsc)

(or (and (> dln 150.0) (<= dln 300.0) (or (eq vk_rp "0") (eq vk_rp "1")) (eq vsv1 "0"))

(and (> dgb 80.0) (or (eq vk_rp "0") (eq vk_rp "1") (eq vk_rp "2"))

(eq vsv1 "1"))

);_end of or

);_end of and

(setq mshtb (* dop 3.0 (/ mskf ltsc))))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

((and (< ltsc cltsc)

(or (and (<= dln 10.0) (or (eq vk_rp "0") (eq vk_rp "1")) (eq vsv1 "0"))

(and (<= dgb 10.0) (or (eq vk_rp "0") (eq vk_rp "1") (eq vk_rp "2"))

(eq vsv1 "1"))

);_end of or

);_end of and

(setq mshtb (* dop 1.0 (* ltsc cltsc))))

((and (< ltsc cltsc)

(or (and (> dln 10.0) (<= dln 20.0) (or (eq vk_rp "0") (eq vk_rp "1")) (eq vsv1 "0"))

(and (> dgb 10.0) (<= dgb 20.0) (or (eq vk_rp "0") (eq vk_rp "1") (eq vk_rp "2"))

(eq vsv1 "1"))

);_end of or

);_end of and

(setq mshtb (* dop 1.0 (* ltsc cltsc))))

((and (< ltsc cltsc)

(or (and (> dln 20.0) (<= dln 30.0) (or (eq vk_rp "0") (eq vk_rp "1")) (eq vsv1 "0"))

(and (> dgb 20.0) (<= dgb 30.0) (or (eq vk_rp "0") (eq vk_rp "1") (eq vk_rp "2"))

(eq vsv1 "1"))

);_end of or

);_end of and

(setq mshtb (* dop 1.3 (* ltsc cltsc))))

((and (< ltsc cltsc)

(or (and (> dln 30.0) (<= dln 80.0) (or (eq vk_rp "0") (eq vk_rp "1")) (eq vsv1 "0"))

(and (> dgb 30.0) (<= dgb 80.0) (or (eq vk_rp "0") (eq vk_rp "1") (eq vk_rp "2"))

(eq vsv1 "1"))

);_end of or

);_end of and

(setq mshtb (* dop 1.5 (* ltsc cltsc))))

((and (< ltsc cltsc)

(or (and (> dln 80.0) (<= dln 150.0) (or (eq vk_rp "0") (eq vk_rp "1")) (eq vsv1 "0"))

(and (> dgb 80.0) (or (eq vk_rp "0") (eq vk_rp "1") (eq vk_rp "2"))

(eq vsv1 "1"))

);_end of or

);_end of and

(setq mshtb (* dop 2.0 (* ltsc cltsc))))

((and (< ltsc cltsc)

(or (and (> dln 150.0) (<= dln 300.0) (or (eq vk_rp "0") (eq vk_rp "1")) (eq vsv1 "0"))

(and (> dgb 80.0) (or (eq vk_rp "0") (eq vk_rp "1") (eq vk_rp "2"))

(eq vsv1 "1"))

);_end of or

);_end of and

(setq mshtb (* dop 3.0 (* ltsc cltsc))))

)

(if (or

(and (or (eq vk_rp "0") (eq vk_rp "1"))(eq vsv1 "0"))

(and (or (eq vk_rp "0") (eq vk_rp "1") (eq vk_rp "2")) (eq vsv1 "1"))

)

(setvar "celtscale" mshtb)

(setvar "celtscale" 1.0)

)

);_end of defun msht

(msht)

(cond((and (eq vk_rp "0")

(or (eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

) ;_ end of or

(/= rr nil)

) ;_ end of and

(blts)

)

((and (eq vk_rp "1")

(or (eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

) ;_ end of or

(/= rr nil)

) ;_ end of and

(vnts)

)

((and (eq vk_rp "2")

(or (eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

(eq pr_fl "6")

(eq pr_fl "7")

(eq pr_fl "8")

(eq pr_fl "9")

) ;_ end of or

(/= rr nil)

) ;_ end of and

(gks)

)

((and (eq vk_rp "3")

(or (eq pr_fl "0")

(eq pr_fl "1")

(eq pr_fl "2")

(eq pr_fl "3")

(eq pr_fl "4")

(eq pr_fl "5")

(eq pr_fl "6")

(eq pr_fl "7")

) ;_ end of or

(/= rr nil)

) ;_ end of and

(shb)

)

) ;_ end of cond

(setvar "celtscale" cltsc)

(prin1)

) ;_ end of defun

krpz.dcl - файл, що містить інформацію про діалогове вікно системи

krpz : dialog {label = "Крепёжные изделия";

: column {

:row {

: popup_list {

edit_width = 9;

key = "vkrp";

list = "Болты\nВинты\nГайки\nШайбы";

}

: popup_list {

edit_width = 35;

key = "prfl";

}

}

:boxed_row {

label = "Выбор вида для черчения";

:radio_column {

: radio_button {

key = "glv";

label = "главный вид";

value = "1";

width = 12; }

: radio_button {

key = "vsb";

label = "вид сверху";

width = 12; }

: radio_button {

key = "vsv";

label = "вид слева";

width = 12;}

: toggle {

label = "не чертить осевую";

value = "0";

key = "osi";}

}

:image_block {

key = "image";

height = 8;

width = 25;

color = 444;

}

}

}

:boxed_row {

label = "Размеры и справочные данные";

:column {

:row {

:column {

: popup_list {label = "диаметр резьбы M";

edit_width = 7;

key = "n";

value = "";

}

: popup_list {label = "длина L";

edit_width = 7;

key = "l_bt";

value = "";

}

: popup_list {

label = "шаг резьбы";

edit_width = 7;

value = "";

key = "s_bt";

}

}

:list_box {

key = "sprav";

width = 12;

height = 6;

}

}

:text {

label = "Пояснения: >>>";

key = "help";

value = "";

width = 22;

}

}

}

ok_cancel;}

blts.lsp - файл, що містить алгоритми креслень виробів

;;;Рисование болта

(defun blts (/ cmd blpm apsz osmddmt dln dln1

dgb sgb hgb dvt fskrsp cpt pt1

pto1 pto2 ept pt2 pt3pt4 pt5 pt6

pt7 pt8 pt9 pt10 pt11pt12 pt13 pt14

pt14-1 pt14-2 pt15 pt16 pt17pt18 pt19 pt19-1

pt19-2 pt20 pt21 pt22 pt23pt24 pt25 tgb

tgbt tgbn edat3 label sset ;clay cltp ccol

)

(setq cmd (getvar "cmdecho"))

(setq blpm (getvar "blipmode"))

(setq apsz (getvar "aperture"))

(setq osmd (getvar "osmode"))

(setq clay (getvar "clayer"))

(setq cltp (getvar "celtype"))

(setq ccol (getvar "cecolor"))

(setvar "cmdecho" 0)

(setvar "blipmode" 0)

(setqdmt (nth 3 bb)

dln (nth 4 bb)

dln1 (nth 5 bb)

dgb (nth 6 bb)

sgb (nth 7 bb)

hgb (nth 8 bb)

dvt (nth 9 bb)

fsk (nth 10 bb)

rsp (nth 11 bb)

) ;_ end of setq

(lay_o)

(defun ris_blt ()

(setq cpt '(0.0 0.0))

(setvar "osmode" 0)

(setvar "aperture" 1)

;;;;;;;;;Рисование главного вида и вида сбоку

(defun bl_gl_sb ()

(setq pt1 (polar cpt pi hgb)

pto1 (polar pt1 pi 2.00)

ept (polar cpt 0 dln)

pto2 (polar ept 0 2.00)

) ;_ end of setq

(defun acsl ()

(axs)

(command "_line" pto1 pto2 ""); Осевая линия нарисована

(if (eq label nil)

(setq label (entlast)

sset (ssadd (entlast))

) ;_ end of setq

) ;_end of if

) ;_ end of defun

(if (eq o_si "0") (acsl))

;Рисование главного вида головки болта

(defun gbgl ()

(setq pt2 (polar cpt (/ pi 2) (/ dgb 2.00))

pt3 (polar pt2

pi

(- hgb (* dgb (- 0.25 (* 0.225 (cos (/ pi 6))))))

) ;_ end of polar

pt4 (polar pt3

(/ (* pi 4) 3)

(* dgb (- 0.50 (* 0.45 (cos (/ pi 6)))))

) ;_ end of polar

pt7 (polar cpt (/ (* pi 3) 2) (/ dgb 2.00))

pt6 (polar pt7

pi

(- hgb (* dgb (- 0.25 (* 0.225 (cos (/ pi 6))))))

) ;_ end of polar

pt5 (polar pt6

(/ (* pi 2) 3)

(* dgb (- 0.5000 (* 0.4500 (cos (/ pi 6)))))

) ;_ end of polar

pt8 (polar cpt (/ pi 2) (/ (distance cpt pt2) 2.00))

pt9 (polar pt8

pi

(- hgb (* dgb (- 0.25 (* 0.225 (cos (/ pi 6))))))

) ;_ end of polar

pt10 (polar pt9

(/ (* pi 2) 3)

(* dgb (- 0.50 (* 0.45 (cos (/ pi 6)))))

) ;_ end of polar

pt11 (polar cpt (/ (* pi 3) 2) (/ (distance cpt pt2) 2.00))

pt12 (polar pt11

pi

(- hgb (* dgb (- 0.25 (* 0.225 (cos (/ pi 6))))))

) ;_ end of polar

pt13 (polar pt12

(/ (* pi 4) 3)

(* dgb (- 0.50 (* 0.45 (cos (/ pi 6)))))

) ;_ end of polar

) ;_ end of setq

(osn)

(command "_line"

pt7

pt2

""

)

(if (eq label nil)

(setq label (entlast)

sset (ssadd (entlast))

) ;_ end of setq

) ;_end of if

(command "_line"

pt2

pt3

pt4

pt5

pt6

pt7

""

"_line"

pt8

pt9

pt10

""

"_line"

pt11

pt12

pt13

""

"_arc"

pt9

pt1

pt12

);Рисование главного вида

; головки болта закончено

) ;_ end of defun

;Рисование бокового вида головки болта

(defun gbbv ()

(setq pt2 (polar cpt (/ pi 2) (/ sgb 2.00))

pt7 (polar cpt (/ (* pi 3) 2) (/ sgb 2.00))

pt3 (polar pt2

pi

(- hgb (* dgb (- (/ 0.25 (cos (/ pi 6))) 0.225)))

) ;_ end of polar

pt6 (polar pt7

pi

(- hgb (* dgb (- (/ 0.25 (cos (/ pi 6))) 0.225)))

) ;_ end of polar

pt8 (polar cpt

pi

(- hgb (* dgb (- (/ 0.25 (cos (/ pi 6))) 0.225)))

) ;_ end of polar

pt9 (polar cpt

(/ pi 2)

(/ (/ (* dgb (cos (/ pi 6))) 2.0000) 2.00)

) ;_ end of polar

pt10 (polar cpt

(/ (* pi 3) 2)

(/ (/ (* dgb (cos (/ pi 6))) 2.00) 2.00)

) ;_ end of polar

pt4 (polar pt9 pi hgb)

pt5 (polar pt10 pi hgb)

) ;_ end of setq

(osn)

(command "_line"

pt6

pt7

""

)

(if (eq label nil)

(setq label (entlast)

sset (ssadd (entlast))

) ;_ end of setq

) ;_end of if

(command "_line"

pt7

pt2

pt3

""

"_line"

cpt

pt8

""

"_line"

pt4

pt5

""

"_arc"

pt3

pt4

pt8

"_arc"

pt8

pt5

pt6

);Рисование головки болта закончено

) ;_ end of defun

(if (and (eq glv1 "1") (eq vsb1 "0"))

(gbgl)

(gbbv)

) ;_ end of if

; Рисование стержня болта

(defun strg ()

(setq pt14 (polar cpt (/ (* pi 3) 2) (/ dmt 2.00))

pt14-1 (polar cpt (/ (* pi 3) 2) (+ (/ dmt 2.00) rsp))

pt14-2 (polar pt14-1 (/ pi 4) (/ rsp (cos (/ pi 4))))

pt15 (polar pt14 0 (- dln fsk))

pt16 (polar pt15 (/ pi 4) (* fsk (sqrt 2.00)))

pt19 (polar cpt (/ pi 2) (/ dmt 2.0000))

pt19-1 (polar cpt (/ pi 2) (+ (/ dmt 2.00) rsp))

pt19-2 (polar pt19-1 (/ (* pi 7) 4) (/ rsp (cos (/ pi 4))))

pt18 (polar pt19 0 (- dln fsk))

pt17 (polar pt18 (/ (* pi 7) 4) (* fsk (sqrt 2.00)))

pt20 (polar pt14 0 (- dln dln1))

pt21 (polar pt19 0 (- dln dln1))

pt22 (polar pt21 (/ (* pi 3) 2) (/ (- dmt dvt) 2.00))

pt23 (polar pt20 (/ pi 2) (/ (- dmt dvt) 2.00))

pt24 (polar pt22 0 (+ (- dln1 fsk) (/ (- dmt dvt) 2.00)))

pt25 (polar pt23 0 (+ (- dln1 fsk) (/ (- dmt dvt) 2.00)))

) ;_ end of setq

(command "_line"

pt14-2

pt15

pt16

pt17

pt18

pt19-2

""

"_arc"

pt19-1

"_e"

pt19-2

"_r"

rsp

"_arc"

pt14-2

"_e"

pt14-1

"_r"

rsp

"_line"

pt15

pt18

""

) ;_ end of command

(if (/= dln dln1)

(command "_line" pt20 pt21 "")

) ;_ end of if

(ton)

(command "_line"

pt22

pt24

""

"_line"

pt23

pt25

""

); Рисование стержня болта закончено

) ;_ end of defun

(strg)

) ;_ end of defun

;;;;;_end of Главный вид и вид сбоку BL_GL_SB

;;;;;;;Рисование вида слева

(defun bl_vs ()

(setq tgb (/ (sqrt (- (expt dgb 2) (expt sgb 2))) sgb)

tgbt (atan tgb)

) ;_ end of setq

(setq pt1 (polar cpt tgbt (/ dgb 2.0))

pt3 (polar cpt (+ tgbt (/ pi 3)) (/ dgb 2.0))

pt5 (polar cpt (+ tgbt (* (/ pi 3) 2)) (/ dgb 2.0))

pt7 (polar cpt (+ tgbt pi) (/ dgb 2.0))

pt9 (polar cpt (+ tgbt (* (/ pi 3) 4)) (/ dgb 2.0))

pt11 (polar cpt (+ tgbt (* (/ pi 3) 5)) (/ dgb 2.0))

tgbn (- pi tgbt)

pt6 (polar cpt tgbn (/ dgb 2.0))

pt8 (polar cpt (+ tgbn (/ pi 3)) (/ dgb 2.0))

pt10 (polar cpt (+ tgbn (* (/ pi 3) 2)) (/ dgb 2.0))

pt12 (polar cpt (+ tgbn pi) (/ dgb 2.0))

pt2 (polar cpt (+ tgbn (* (/ pi 3) 4)) (/ dgb 2.0))

pt4 (polar cpt (+ tgbn (* (/ pi 3) 5)) (/ dgb 2.0))

pt13 (polar cpt 0 (+ (/ dgb 2.0) 3))

pt14 (polar cpt pi (+ (/ dgb 2.0) 3))

pt15 (polar cpt (/ (* pi 3) 2) (+ (/ dgb 2.0) 3))

pt16 (polar cpt (/ pi 2) (+ (/ dgb 2.0) 3))

) ;_ end of setq

(if (eq o_si "0")

(progn (axs)

(command "_line" pt14 pt13 "")

(setq label (entlast))

(setq sset (ssadd (entlast)))

(command "_line" pt15 pt16 "")

);_end of progn

);_end of if

(osn)

(command "_circle" cpt (/ (* sgb 0.9000) 2.0000))

(if (eq label nil)

(setq label (entlast)

sset (ssadd (entlast))

) ;_ end of setq

) ;_end of if

(command "_line"

pt12

pt1

""

"_line"

pt2

pt3

""

"_line"

pt4

pt5

""

"_line"

pt6

pt7

""

"_line"

pt8

pt9

""

"_line"

pt10

pt11

""

) ;_ end of command

(command "_arc"

pt1

"_e"

pt2

"_r"

(/ dgb 2.0)

"_arc"

pt3

"_e"

pt4

"_r"

(/ dgb 2.0)

"_arc"

pt5

"_e"

pt6

"_r"

(/ dgb 2.0)

"_arc"

pt7

"_e"

pt8

"_r"

(/ dgb 2.0)

"_arc"

pt9

"_e"

pt10

"_r"

(/ dgb 2.0)

"_arc"

pt11

"_e"

pt12

"_r"

(/ dgb 2.0)

) ;_ end of command

) ;_ end of defun

;;; _end of Вид слева BL_VS

(cond

((and (or (eq glv1 "1") (eq vsb1 "1")) (eq vsv1 "0"))

(bl_gl_sb)

)

((and (eq glv1 "0") (eq vsb1 "0") (eq vsv1 "1")) (bl_vs))

) ;_ end of cond

; (setvar "cmdecho" cmd)

; (setvar "blipmode" blpm)

(while (setq label (entnext label))

(setq sset (ssadd label sset))

) ;_ end of while

) ;_ end of defun

;;;_end of RIS_BLT

(defun edat ()

(cond ((eq glv1 "1") (setq nmpr "A"))

((eq vsb1 "1") (setq nmpr "B"))

((eq vsv1 "1") (setq nmpr "C"))

)

(setq edat3 (strcat "A" pr_fl nmpr rr rl rs o_si))

) ;_ end of defun

(defun clip_bl ()

(edat)

(if(eq (tblsearch "block" edat3) nil)

(progn

(ris_blt)

(command "._block" edat3 cpt sset "")

(setvar "aperture" apsz)

(setvar "osmode" osmd)

(setvar "clayer" clay)

(command "._insert" edat3 pause 1 1 pause)

) ;_end of progn

(progn

(setvar "clayer" clay)

(command "._insert" edat3 pause 1 1 pause)

) ;_ end of progn

) ;_ end of if

(setvar "celtype" cltp)

(setvar "cecolor" ccol)

) ;_ end of defun

(clip_bl)

(setvar "cmdecho" cmd)

(setvar "blipmode" blpm)

(prin1)

) ;_ end of defun BLTS

Размещено на Allbest.ru


Подобные документы

  • Підстава для створення системи Компас-3D. Характеристика розробленого програмного забезпечення. Призначення і характеристики систем автоматизації конструкторської документації. Дослідження методів створення динамічних бібліотек в середовищі Delphi.

    дипломная работа [3,3 M], добавлен 22.10.2012

  • Проблеми розробки компонентного програмного забезпечення автоматизованих систем управління. Сучасні компонентні технології обробки інформації. Аналіз вибраного середовища проектування програмного забезпечення: мова програмування PHP та Apache HTTP-сервер.

    дипломная работа [2,8 M], добавлен 11.05.2012

  • Цілі та головні задачі систем метаданих, їх структура та елементи, опис словників та класифікаторів. Розробка логіко-функціональної схеми надбудови, її функціональне призначення. Економічне обґрунтування доцільності розробки програмного продукту.

    дипломная работа [1,7 M], добавлен 26.10.2012

  • Проектування і реалізація навчального програмного продукту "Побудова геометричних фігур". Використання C++ Builder 6 у якості програмного середовища для реалізації даної навчальної програми. Інструкція з використання розробленого програмного забезпечення.

    курсовая работа [2,2 M], добавлен 05.05.2014

  • Основні завдання синоптичної метеорології. Призначення та область застосування програмного продукту "Статистика метеоспостережень", функціональні вимоги до нього. Інформаційне забезпечення, структура, опис інтерфейсу. Тестування програмного продукту.

    курсовая работа [3,6 M], добавлен 30.04.2016

  • Характеристика об’єкта автоматизації, вимоги до системи, склад та зміст системи. Розробка функціональної схеми програмного продукту. Тестування підпрограми програмного продукту. Розробка бази даних та налаштування ECO компонент в Borland Developer Studio.

    практическая работа [1,8 M], добавлен 05.06.2014

  • Приклади рішень від провідних компаній-розробників, що працюють у сфері автоматизації роботи з документами. Основні можливості систем електронного документообігу. Вибір програмного забезпечення для створення програмного продукту. Опис програмної системи.

    курсовая работа [45,8 K], добавлен 06.06.2011

  • Планування програмного забезпечення автоматизованої системи бюро працевлаштування. Накопичення даних стосовно ринку праці. Проектування статичних аспектів, поведінки та архітектури програмного забезпечення. Особливості функціонування програмного продукту.

    курсовая работа [184,5 K], добавлен 05.07.2015

  • Технології об'єктно-орієнтованого аналізу та проектування інформаційних систем. Історія та структура мови UML. Опис функціональної моделі засобами UML. Використання UML в проектуванні програмного забезпечення. Характеристика CASE-засобів Visual Paradigm.

    дипломная работа [7,9 M], добавлен 26.05.2012

  • Функції обліку зайнятості аудиторії. Створення програмного модуля, який виконуватиме формування електронного реєстру та презентацію вільних та зайнятих аудиторій. Призначення та область застосування програмного продукту. Опис інтерфейсу, тестування.

    курсовая работа [460,5 K], добавлен 21.05.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.