Cvičení a příklady v programovacím jazyce AutoLISP pro AutoCAD. S laskavým svolením autorů zveřejněno v sekci CAD Výuka webu CADforum.cz provozovaném firmou CAD Studio. Viz též PDF verze.

Ž I L I N S K Á    U N I V E R Z I T A

 

Stavebná fakulta

 

 

 

 

Ing. Stanislav HODAS, PhD.

 

 

 

 

CAD II

 

 

 

 

Návody na cvičenia

 

AutoLISP

 

 

 

 

 

 

 

 

 

Vydala Žilinská univerzita v Žiline, 2002

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

Další kapitola