KOMPIUTERINĖ GRAFIKA IR PROJEKTAVIMAS 11-osios Lietuvos jaunųjų mokslininkų konferencijos Mokslas Lietuvos ateitis, įvykusios Vilniuje 2008 m. balandžio 8 d., straipsnių rinkinys TAIKOMOSIOS GRAFINĖS SISTEMOS PERSPEKTYVOS Saulius Kavoliūnas Vilniaus Gedimino technikos universitetas Anotacija. Iškeliama problema, kad nė viena iš daugybės egzistuojančių grafinių sistemų negali maksimaliai atitikti konkretaus vartotojo poreikio. Pateikiama keletas aspektų, kodėl verta naudoti taikomąją grafinę sistemą, kaip galima ją adaptuoti, modifikuoti pagal savo poreikius. Įvadas Nors rinkoje yra platinama daugybė grafikos braižymo programų, tačiau jos pritaikytos konkrečioms grafinių uždavinių sritims. Inžinerinės grafikos uždaviniai turi savo specifiką, kurios komercinės sistemos visiškai nerealizuoja, todėl laboratoriniams inžinerinės grafikos uždaviniams spręsti kuriame grafinę sistemą, atitinkančią vartotojo poreikius, spartinančią darbo procesą (Čiupaila, Vinogradova, Zemkauskas 2007). Analizė rodo, kad dauguma grafinių sistemų yra pagrįstos APS (automatizuota projektavimo sistema, angliškai CAD) sistemos branduolio technologija. Kadangi sistema naudoja VISUAL BASIC, DCL bei LISP kalbas, tai vartotojui, išmanančiam bent vieną iš kalbų, atsiranda galimybė į sistemą įdiegti savo sukurtą įskiepį ar papildą. Patirtis rodo, kad konkretiems uždaviniams spręsti nebebūtina pirkti gamintojo siūlomų konkretizuotų paketų už didelius pinigus. Turint standartinę acad (AutoCAD) sistemos versiją, adaptuojame savo taikomąją grafinę sistemą. 115
Bendrosios žinios, braižymo programų apžvalga Šiame skyriuje glaustai aprašomos kelios šiuo metu populiarios grafinės sistemos, kuriomis remiantis galima adaptacija, pateikiamas jų palyginimas. BtoCad BtoCad yra APS 2D braižymo programa, tinkanti įvairiai pramonei (Yuangfang Software, internetas 2008). Pasak gamintojų, už prieinamą kainą gaunamas visiškas suderinamumas su AutoCad versijomis. Esminis BtoCad (1 pav.), pranašumas tas, kad jis turi beveik visas funkcijas, naudojamas AutoCad e, o kaina tėra viena dešimtoji AutoCad kainos. Programa gali būti taikoma visose srityse, kur reikalingas APS technologijų dizainas, kaip antai gamyboje, žemės ūkyje, pramonėje, mašinų gamyboje, elektronikos srityse, architektūroje, telekomunikacijose, baldų ir apdailos pramonėje. BtoCad sukurtas remiantis IntelliCAD Technology Consortium branduoliais, ir licencija priklauso tik YuanFang pro-graminei įrangai. BtoCAD naudojasi panašiomis funkcijomis, kaip ir AutoCAD, o procesinė rinkmena DWG, kuria operuojama, yra visiškai suderinama su visomis AutoCAD versijomis. Programos vartotojo sąsaja taip pat labai panaši į AutoCAD, tad teigiama, kad ši programinė įranga yra neva geriausia AutoCAD alternatyva už mažiausią kainą. 1 pav. BtoCAD darbo langas 116
ZwCAD ZwCAD yra galingas APS sprendimas, palaikantis paprastą DWG rinkmenų formatą. Jis gali skaityti ir rašyti bet kurią DWG rinkmeną, išsaugotą kita CAD programine įranga, ir atvirkščiai (Zwcad Software Co, internetas 2008). ZwCAD (2 pav.), sąsaja ir operacijos yra panašios kaip ir AutoCAD o, todėl vartotojams nereikia papildomai mokyti, jie gali per kelias valandas susipažinti su ZwCAD u ir juo dirbti. Be to, ZwCAD o kaina yra gerokai mažesnė nei AutoCAD o. ZwCAD as siūlo aukštą APS sprendimų kokybę už mažą kainą. Dabar su šia aukšta kokybe ir protinga kaina ZwCAD taps populiarus ir plačiai naudojamas APS sprendimas. SmartDraw 2 pav. ZwCAD darbo langas Kalbant apie statybos brėžinius, kur norima pavaizduoti pastato kambarių planus, geras įrankis yra SmartDraw (3 pav.), kurio planą galima pateikti per kelias minutes. Jis turi daugybę šablonų kaip antai aukštų planai, augalai, virtuvės įranga, vonios, biuro patalpos ir t. 117
t., kuriuos į brėžinį galima įterpti pele. SmartDraw yra gana paprastas naudoti, tačiau, norint atlikti išsamų APS tipo brėžinį, šio paketo neužteks, nes šio braižymo pagrindinė idėja naudotis iš anksto parengtais ruošiniais, šablonais. 3 pav. SmartDraw darbo langas Apžvelgus kelias braižymo programas, lentelėje (1 lentelė) pateikiamas jų palyginimas keliais esminiais aspektais: 2D, 3D braižymo galimybė; pagrindinė procesinė byla (DWG), kurioje išsaugomas brėžinys (projektas); programavimo kalba, kuria galima kurti adaptuotas funkcijas; ir, be abejo, kaina. Akivaizdu, kad, naudojant adaptavimą, galima parinkti ekonomišką acad variklį ir suformuoti racionalų sprendimo modelį. 1 lentelė. Braižymo programų lyginimas 2D braižymamas 3D braižy- DWG byla Adaptacijos Kaina kalba BtoCad + + + VLISP ~ 1 / 10 acad ZwCAD + + + VLISP x << acad SmartDraw + x < acad Taikomoji grafinė sistema + + + VLISP, VBA Savikaina + acad variklis 118
Pagrindinių 2D braižymo funkcijų aptarimas Dirbdami standartine APS (pvz., AutoCAD) sistema, randame daugybę funkcijų, iškviečiamų mygtukų paspaudimais ar klaviatūra rašant komandas, kurias atsiminti yra sunku. Pvz., norėdami nubraižyti liniją, turime rinktis vieną iš trijų mygtukų: Line, Construction Line ir Polyline. Pasirinkus Line, vartotojo nieko kito neklausiama, kaip tik: nurodyk pirmą tašką, nurodyk kitą tašką. Vartotojui nėra užsimenama apie taško nurodymo būdą, kad jis tašką gali atidėti ne tik pele spausdamas norimoje brėžinio vietoje, bet ir įvesdamas koordinates (0, 20, 30, čia x = 0, y = 20, o z = 30 vienetų). Pasirinkus bet kurį iš kitų mygtukų, vartotojui reikia atkreipti dėmesį į komandinėje juostoje suformuluotus painius klausimus, į kuriuos teisingai atsakęs gali nubrėžti norimą savo liniją. Taikomojoje grafinėje sistemoje (Čiupaila 2008) sukuriami visus galimus linijos brėžimo variantus atitinkantys pasirinkimo mygtukai (4 pav.), kurių taikymas suprantamas be papildomo aiškinimo. Patyrimas parodė, kad braižyboje reikalingos tokios linijos brėžimo funkcijos: o linija, o linija kampu, o linija pokyčiu x, y, o laužtė, o tęstinė, 4 pav. Linijos pasirinkimas o ryšio linijos, o polilinija. Vartotojui tik čia reikia priimti sprendimą, kurią funkciją jam patogiau naudoti, nes vėliau jam bus užduodami tik keli paprasti klausimai (beje, lietuvių kalba). Pvz., pasirinkus liniją kampu: Linijos pradžia, Linijos krypties kampas. 119
2D vaizdų analizė (Čiupaila, Zemkauskas 2005) rodo, kad vizualizuoti pakanka nedaug komandų (įrankių) (5 pav.), kurios skirstomos į pagrindines, papildomą ir pagalbines. 2D Vizualizavimo komandos ir įrankiai Pagrindiniai Papildomieji Pagalbiniai 5 pav. Kompiuteriniai 2D vizualizavimo įrankiai Taikomosios grafinės sistemos pranašumai atsiskleidžia palyginant sistemas (2 lentelė). 2 lentelė. Komercinės ir taikomosios sistemų kriterijų lyginimas Komercinė sistema Taikomoji grafinė sistema Kuo daugiau komandų, tuo geriau Naudoti esmines komandas (taikoma konkrečiai vartotojų grupei) (taikoma plačiai vartotojų grupei) Naudojimosi taisyklės perdėtos Pakanka išmanyti pagrindines komandas. Ši sritis išsamiai, bet ne- apimties (Vytenis Sinkevičius. AutoCad 2005-2006 pradmenys, perdėtai pildoma kitų taikomosios 854 p.) grafinės sistemos kūrėjų Neišsamus interaktyvus bendravi- Išsamus neperkrautas bendravimas mas su vartotoju Apkrautas darbo langas (mažai vietos brėžiniui, reikia didelės įstrižainės vaizduoklio) su vartotoju Neapkrautas darbo langas 120
Reikia atkreipti dėmesį į tai, kad komandų adaptavimas nėra sudėtingas veiksmas, tai puikiai iliustruoja taikomosios grafinės sistemos komandos linija_kampu LISP programinis kodas, kuriame matomi bazinės grafinės sistemos kreipiniai ir elementarūs Visual- LISP kalbos (Smith, J.; Gesner, R., 2007) elementai: (DEFUN C:Linija_kampu() ;*** funkcija brėžia liniją nurodytu kampu ;*** nurodžius pradinį tašką (arba paskutinį) ;*** linijos ilgį ir kampą ;*** AutoCAD komandos: LINE ;*** VisualLISP funkcijos: SETQ, GETPOINT, IF, ;*** GETVAR, GETREAL, POLAR ;*** ;*** Pradinių duomenų įvedimas (setq t1(getpoint "\n Linijos pradžia?: ")) (if (= t1 nil) (setq t1 (getvar "lastpoint")) ) (setq kampas(getreal "\n Linijos krypties kampas?: ")) (setq ilgis(getreal "\n Linijos ilgis?: ")) ;*** Kampo reikšmės pavertimas radianais (setq kampas_rad(* pi (/ kampas 180.0))) ;*** linijos galinio taško nustatymas (setq t2 (polar t1 kampas_rad ilgis)) ;*** linijos brėžimas (command "line" t1 t2 "") ;*** tylus išėjimas (princ) ) Taikant šią funkciją, 30 laipsnių kampu pasvirusią, 100 vienetų ilgio liniją iš taško su koordinatėmis 10, 10 liniją nubrėšime tokio dialogo seka: linija_kampu+enter Linijos pradžia?: 10,10+ENTER Linijos krypties kampas?: 30+ENTER Linijos ilgis?: 100+ENTER Išvados Sudarant taikomąsias grafines sistemas, sprendžiami keli tikslai: 1. Paprastomis priemonėmis užtikrinamas komandų efektyvumas, kuris aktualus edukologiniame ir praktiniame etapuose. 121
2. Sistema tampa nepriklausoma nuo nuolatinio komercinių sistemų kitimo, o tobulėja tik modeliuojant dalykines savybes. 3. Kainos ir prabangos santykis tampa optimalus. Literatūra Čiupaila, L.; Vinogradova, J; Zemkauskas, J. Bendroji inžinerinė grafika: teorija, metodikos nurodymai, laboratorinių ir kontrolinių darbų užduotys. Vilnius: Technika, 2007, p. 16 89. Čiupaila, L.; Zemkauskas, J. Modelling of information engineering graphics. In Proceedings on the International Conference on Engineering Education: ICEE'2005: July 25 29, 2005, Gliwice, Poland: International Conference on Engineering Education Global Education Interlink. 2005, Vol 2, p. 123 127. ISSN 1562-3580. Čiupaila, L. Grafinės sistemos AutoCAD aplinkoje veikiantis TAIGRA modulis. Prieiga per internetą: <www.ikg.projektas.info> 2008 Smith, J.; Gesner, R. Inside Visual Lisp. New Riders Publishing, 2007. 403 p. Yuangfang Software CoBtoCAD-affordable AutoCAD alternative. Prieiga per internetą: <www.yfcad.com/products/btocad.php> 2006 Zwcad Software Co ZWCAD2008. Prieiga per internetą: <www.zwcad.org/productfeatures.asp?id=3> 2008 THE PERSPECTIVES OF THE GRAPHICAL APPLICATION SYSTEM Saulius Kavoliūnas Summary The problem is that every graphical system is not properly adapted for exact user, and the giant programs actually can not be so. There we discuss some aspects why it is useful to pay attention to special graphical application system, and how to adapt and modify it for your own purposes. 122