Ž I L I N S K Á U N I V E R Z I T A
Ing. Stanislav HODAS, PhD.
Recenzenti: Doc. Ing. Juraj URÍČEK, PhD.
Prof. Ing. Ladislav BITTERER, CSc.
Schválil rektor Žilinskej univerzity výmerom č.
CAD II. Návody na cvičenie. AutoLISP
© S. Hodas, 2002
ISBN 80-7100-000-0
Predhovor
AutoCAD [33] patrí do skupiny CAD produktov umožňujúcich konštruktérom, projektantom zvyšovať produktivitu práce v rôznych oblastiach hospodárstva, napríklad pre železničné staviteľstvo, cestné a diaľničné staviteľstvo, pozemné staviteľstvo, mapovanie, informačné a geografické systémy (IS, GIS), strojárstvo a pod., hlavne v oblasti tvorby výkresovej dokumentácie.
Skriptá “CAD II. Návody na cvičenia. AutoLISP“ sú spracované v súlade s učebnými osnovami predmetu “CAD II.“ a sú napísané ako pokračovanie “CAD I. Návody na cvičenia. AutoCAD“ [21]. Učebné texty CAD II. prezentujú vyšší rozmer programovania v grafickom prostredí AutoCAD, ktoré sú doplnené kompletnými praktickými príkladmi.
Jedným z najviac používaných programovacích jazykov AutoCADu je AutoLISP [33]. V skriptách je popísaný AutoLISP od jednoduchých funkcií až po profesionálnu prácu pracovníka konštrukčnej firmy. Od verzie AutoCAD 2000 je AutoLISP zabudovaný priamo v prostredí Visual LISP. AutoLISP patrí k obľúbeným jazykom AutoCADu počas jeho celej existencie.
Skriptá sú určené pre študentov III. ročníka inžinierskeho štúdia Stavebnej fakulty Žilinskej univerzity, bakalárskeho štúdia odboru geodézie, postgraduálneho štúdia a ďalších záujemcov z praxe.
Kapitoly CVIČENIE 1 až CVIČENIE 4 popisujú jazyk AutoLISP, jeho štruktúru, funkcie na jednoduchých príkladoch (Pr.). CVIČENIE 5 a CVIČENIE 6 pracujú s rôznymi typmi dát, so súbormi a s objektami vo výkrese. Kapitola CVIČENIE 7 predstavuje vypracované programy na kreslenie jednoduchých obrazcov, oblúkov s prechodnicami, pozdĺžneho profilu, vykreslenie objektov z dát zo súborov, vkladanie výhybiek do koľajového zhlavia železničnej stanice. CVIČENIE 8 sa venuje tvorbe dialógových (DCL) panelov využívaných na spracovanie dát v rámci tvorby nadstavieb AutoCADu.
Kompletné zdrojové texty jednotlivých programov s komentármi (Pozn.) sú v kapitole PRÍLOHY 9. Uvedené príklady sú len ukážkami, ktoré môže využívať konštruktéri, projektanti pri vytváraní vlastných aplikácií.
Programovací jazyk AutoLISP a Visual LISP editor sú dodávané v rámci plne funkčnej verzie AutoCADu. AutoLISP sa používa už niekoľko rokov, pričom základná štruktúra programovacieho jazyka zostáva nezmenená. AutoLISP má stále zdokonaľované pracovné prostredie v rámci Visual LISPu [33], ktorý nadobudne nové funkcie aj vo verzii AutoCAD 2002. Skriptá sú napísané v programovej forme, ktorá pretrváva v jednotlivých verziách AutoCADu.
Programovanie v AutoCADe zvýhodňuje postavenie používateľov tohto CAD produktu oproti konštruktérom, ktorí využívajú grafické prostredie len na manuálne kreslenie objektov vo výkrese. Kompletný vytvorený program umožňuje vykreslenie celého výkresu na základe údajov z dátových súborov v priebehu niekoľkých sekúnd, alebo konštruovanie výkresu vkladaním ucelených naprogramovaných častí.
Vytvorený program umožňuje konštruktérovi na základe vstupných hodnôt vykresliť určitý požadovaný objekt s rôznymi parametrami zadania.
V textoch je riešená aj jazyková otázka, nakoľko softvér je dodávaný v českom a anglickom jazyku. Texty príkazov sú v skriptách napísané v slovenskom jazyku, ale v niektorých prípadoch sú uvedené v zátvorkách aj české príkazy, pričom v hranatých zátvorkách sú anglické výrazy. Skriptá sú spracované pre verzie AutoCADu 14, 2000 až 2002 CZ/US, nakoľko programovací jazyk AutoLISP je v nezmenenej podobe. Rozdiely medzi verziami AutoCADu sú popísané tak, aby sa skriptá využívali v týchto verziách.
AutoCAD patrí k najviac využívaným softvérovým CAD produktom vo svete v oblasti spracovania grafických výkresov, pričom existuje okolo 5000 nadstavieb rôzneho druhu. V dnešnej dobe je AutoCAD dopĺňaný o spracovanie výkresov, využívajúci Internet, počítačovú sieť a ďalšie nové technológie, zjednodušujúce prácu konštrukčných firiem.
Ako autor ďakujem všetkým, ktorí umožnili vydať skriptá CAD II., ako aj recenzentom Doc. Ing. Jurajovi URÍČKOVI, PhD. a Prof. Ing. Ladislavovi BITTEREROVI, CSc.
Žilina, december 2001. Ing. Stanislav HODAS, PhD.
Ochranné známky
© AutoCAD 14, 2000, 2000i, 2002, AutoCAD LT, AutoCAD MAP, ACAD, AutoLISP, Visual LISP, Visual LISP editor, DCL, ADE, ADI, AME, EXPLORER, ACAD.MNU, Autodesk, POINT A: registrované ochranné známky spoločnosti AUTODESK, Inc.
© WINDOWS, WORD, OFFICE, MS-EXPLORER, MS-DOS: registrované ochranné známky spoločnosti MICROSOFT, Corp.
© ZH-CAD, ZH-CAD/c, ZH-CAD/pp, ZH-CAD/up: HODAS S., Katedra geodézie Stavebnej fakulty Žilinskej univerzity.
V učebných textoch sú použité aj iné názvy programových produktov a firiem, ktoré môžu byť ochrannými známkami alebo registrovanými ochrannými známkami príslušných vlastníkov.
Žiadna časť publikácie nesmie byť publikovaná a šírená žiadnym spôsobom a v žiadnej podobe bez výslovného zvolenia autora.
Nelegálne šírenie programových produktov je trestné.
Obsah
Predhovor 3
Ochranné známky 4
Obsah 5
CVIČENIE 1: Základné rysy práce v AutoLISPe 7
1. Programovací jazyk AutoLISP 7
2. Prepojenie Visual LISPu a AutoCADu 8
3. Načítanie programov AutoLISPu a spustenie
funkcií 9
CVIČENIE 2: AutoLISP a štruktúra programov 11
1. Definovanie funkcií pomocou DEFUN 11
2. Štruktúra programov v AutoLISPe 12
3. Spustenie a tvorba programu pomocou Visual LISPu 13
CVIČENIE 3: Jednoduchá komunikácia AutoLISPu
s AutoCADom 14
1. Priradenie hodnôt do premenných SETQ 14
2. Matematické operácie 16
3. Vstup konštruktéra – projektanta
do chodu programu 18
4. Spustenie príkazov AutoCADu v AutoLISPe
funkciou COMMAND 19
CVIČENIE 4: Program v AutoLISPe a jeho vetvenie 20
1. Vytvorenie programu typu LSP 21
2. Vetvenie programu pomocou funkcie IF 22
3. Cyklus v programe pomocou funkcií
REPEAT a WHILE 24
CVIČENIE 5: Práca s rôznymi typmi dát 25
1. Typy dát a funkcia TYPE 25
2. Konverzné funkcie na prácu s dátami 26
3. Práca s reťazcami 28
4. Funkcie na výpis údajov na obrazovku
a do súborov 29
CVIČENIE 6: Práca so súbormi 31
1. Otvorenie a uzatvorenie súboru pomocou
OPEN a CLOSE 31
2. Načítanie dát a uloženie dát do súboru 32
3. Práca s prvkami v zozname 34
4. Funkcie pracujúce s objektami vo výkrese 36
5. Funkcie pracujúce s výberovými množinami 38
CVIČENIE 7: Praktické príklady vytvorené v AutoLISPe 40
1. Vykreslenie jednoduchých obrazcov 40
2. Vykreslenie kružnicového oblúka
s prechodnicami v tvare klotoidy 42
3. Vykreslenie terénu v pozdĺžnom profile 44
4. Vykreslenie bodov z dátového súboru s prevodom
súradníc S-JTSK na obrazovkové súradnice 45
5. Vloženie výhybiek tvaru R65 do koľajového
zhlavia 46
CVIČENIE 8: Vytvorenie dialógových panelov v rámci tvorby
nadstavby AutoCADu 48
1. Príprava snímok typu SLD 49
2. Vstupný dátový súbor 49
3. Vytvorenie prázdnych DCL panelov 50
4. Zobrazenie údajov v DCL paneloch 54
5. Zabudovanie programov AutoLISPu
priamo do menu v AutoCADe 56
6. Ďalšie ukážkové príklady dialógových panelov 56
PRÍLOHY 9: Zdrojové texty programov 59
1. Program SKUSKA.LSP 59
2. Program PRECH.LSP 60
3. Program TEREN.LSP 67
4. Program BODY.LSP 71
5. Program VYHYBKA.LSP 72
6. Program UDAJE.LSP 76
Literatúra - profil autora 78