CVIČENIE 7:      Praktické príklady vytvorené v AutoLISPe

 

       Kompletné vypracované programy v Pr. 7.1 až Pr. 7.5 sú uvedené ako praktické ukážky AutoLISPu (zdrojové texty programov sú v prílohách 9.2 až 9.5). Programy sú plne funkčné, ale neriešia všetky variantné kombinácie, nakoľko program by mal veľkosť 10 až 50 strán textu A4. Programy tu prezentované slúžia len za účelom výučby CAD programovania v AutoLISPe, aby sme si mohli prezrieť štruktúru jednotlivých krokov. Programy by bolo možné vylepšiť do viacerých programov a funkcií.

       Programy, ako Pr. 7.2 Oblúk s klotoidickou prechodnicou, Pr. 7.3 Pozdĺžny profil terénu, Pr. 7.4. Vykreslenie bodov v súradnicovej sústave JTSK, Pr. 7.5. Vloženie výhybiek R65 do koľajového zhlavia, sú programy prevzaté a upravené zo softvéru ZH-CAD [2], [3], [9], ktoré sú chránené autorskými právami. Programy Pr. 7.2 až Pr. 7.5 je možné využívať na štúdium a v praxi. Originály programov sú oveľa mohutnejšie a obsahujú množstvo ďalších testov súborov, hladín výkresu, entít a pod.

       Pred spúšťaním programov je potrebné vykonať nastavenie prototypového výkresu (načítaný výkres AutoCADom na začiatku práce s požadovanými hodnotami systémových premenných), alebo už spusteného výkresu, v ktorom nastavíme v príkaze pre jednotky (Jednotky) [Units] uhly na grády/góny 400g alebo na stupne 360º a počet desatinných miest. Do prototypového výkresu je možné vopred vytvoriť potrebné hladiny, nahrať bloky, nastaviť kótovacie a systémové premenné, jednotky a upraviť ďalšie počiatočné hodnoty výkresu. Projektant môže vlastniť viac prototypových výkresov [21]. V prípade, že sú zle nastavené jednotky, kresba môže byť zle vykreslená. V príkladoch Pr. 7.1 a Pr. 7.3 sú stupne (0, 90, 180, 270, 360º - smer osí), pričom využívame premennú RAD (setq rad (/ 180 pi)) a v príkladoch Pr. 7.2, Pr. 7.4 a Pr. 7.5 využívame grády (0, 100, 200, 300, 400g - smer osí), ktoré zabezpečuje pri kreslení premenná GRAD (setq grad (/ 200 pi)).

       Pred spustením alebo pri skúšaní programov Pr. 7.1 až Pr. 7.5 je potrebné upraviť výrez obrazovky ZOOM→Okno [Window], napríklad: 1. roh: 0,0 a 2. roh: 700,500.

 

7. 1.   Vykreslenie

jednoduchých obrazcov

 

 

 

Pr. 7.1. Vypracujte program OBRAZCE.LSP na vykreslenie štvorca, kružnice a bočný pohľad na vykreslený objekt podľa obr. 7.1, pričom dĺžka D predstavuje polovicu hrany štvorca, kružnica bude mať polomer R=D/2.

Program vytvorte pomocou Visual LISP editora alebo ľubovoľným textovým editorom do prázdneho nového súboru OBRAZCE.LSP.

    Obr. 7.1. Vykreslenie obrazcov a premenné

Textové pole: Pozn. 1: Spustenie príkazov AutoCADu zabezpečuje v AutoLISPe funkcia COMMAND. Funkčnosť zadávania si vyskúšajte priamo na príkazovom riadku AutoCADu (kap. 3.4).Program OBRAZCE.LSP:

 

(defun C:OBRAZCE ( )

   (setq cmd (getvar "cmdecho"))

   (setvar "cmdecho" 0)

   (setq fb (getvar "cecolor"))

   ; Zadanie vstupných údajov

   (setq bod0 (getpoint "\nVYBERTE BOD PRE STRED OBJEKTU: "))

   (setq d (getreal "\nZADAJTE DĹŽKU D: "))

   (setq rad (/ 180 pi))

Pozn. 2: Funkcia POLAR vypočíta súradnice určovaného bodu (BodU) zo známeho bodu (BodS), pričom musíme poznať dĺžku (sU) a smer, t.j. uhol (UholU). V Pr. 7.1 sú nastavené uhly na stupne (0, 90, 180, 270, 360° - smer osí) pomocou premennej RAD (prevod stupňov na radiány a opačne).

       Obecne platí pre určovaný bod:

 

    (setq BodU (polar BodS uholU sU))

 
   ; Výpočty bodov

   (setq bod1 (polar bod0 (/ 90 rad) d))

   (setq bod1L (polar bod1 (/ 180 rad) d))

   (setq bod1P (polar bod1 0 d))

   (setq bod2 (polar bod0 (/ 270 rad) d))

   (setq bod2L (polar bod2 (/ 180 rad) d))

   (setq bod2P (polar bod2 0 d))

   (setq bod3 (polar bod2 (/ 270 rad) (/ d 5)))

   (setq bod3L (polar bod3 (/ 180 rad) (/ d 2)))

   (setq bod3P (polar bod3 0 (/ d 2)))

   (setq bod3LL (polar bod3 (/ 180 rad) d))

   (setq bod3PP (polar bod3 0 d))

   (setq bod4 (polar bod3 (/ 270 rad) (/ d 2)))

   ; Vykreslenie kružnice

   (command "_color" 2)

   ; Alebo: (command "_colour" 2)

   (command "_circle" bod0 (/ d 2))

   ; Vykreslenie štvorca pomocou úsečky

   (command "_color" 4)

   (command "_line" bod1P bod1L "")

   (command "_line" bod1L bod2L "")

   (command "_line" bod2L bod2P "")

   (command "_line" bod2P bod1P "")

   ; Alebo pomocou obdĺžnika

   ; (command "_rectangle" bod1L bod2P)

   ; Vykreslenie spodnej časti pomocou krivky

   (command "_color" 1)

   (command "_pline" bod3LL bod3L bod4 bod3P bod3PP "")

   ; Ukončenie funkcie OBRAZCE a programu OBRAZCE.LSP

   (setvar "cmdecho" cmd)

   (command "_color" fb)

   (prompt "\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^")

   (prompt "\nOBRAZCE BOLI VYKRESLENÉ.")

   (princ)

)

Pozn. 3: Programy AutoLISPu pracujú s uhlami v radiánoch, a preto je potrebný ich prevod na stupne (setq rad (/ 180 pi)) alebo na grády (setq grad (/ 200 pi)). Pozor na nastavenie uhlov vo výkrese pred kreslením v príkaze jednotky (Jednotky) [Units].

Pozn. 4: Príkazy AutoCADu sa aktivujú v AutoLISPe funkciou COMMAND, napríklad farba (Barva) [Color], kružnica (Kružnice) [Circle], krivka (Křivka) [PLine], Pr. 3.9.

 

Spustenie programu:                                     Príkaz: (load “OBRAZCE“)   →   obrazce

 

a)    VYBERTE BOD PRE STRED OBJEKTU: bod myšou alebo zadajte súradnice X,Y

b)   ZADAJTE DĹŽKU D: 50

c)    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

       OBRAZCE BOLI VYKRESLENÉ (obr. 7.1).

7. 2.   Vykreslenie kružnicového oblúka s prechodnicami

v tvare klotoidy

 

 

Pr. 7.2. Vytvorte program PRECH.LSP na vykreslenie oblúka s rovnakými prechodnicami tvaru klotoidy pre cestné staviteľstvo (prípadne pre Nemecké železnice – DB, ktoré využívajú tiež klotoidu), pričom vyberieme vrcholový bod VB dotyčnicového polygónu trasy komunikácie a body pre smery jednotlivých dotyčníc. Program spracujte tak, aby sme zadávali polomer oblúka R a dĺžku prechodnice L (obr. 7.2).

 

Obr. 7.2. Oblúk s prechodnicami v tvare klotoidy a premenné

Oblúk s klotoidou:

       Parameter klotoidy:                                                                        

 

Pravouhlé súradnice kolotoidy:        

 

Dotyčnicový uhol:  

 

       Odsadenie kružnicového oblúka:

 


       Súradnice stredu kružnice:

Dĺžka dotyčnice:

Dĺžka subtangenty:

Dĺžka krátkej dotyčnice:

Odsadenie oblúka:

 

Dĺžka celého oblúka:

 

 

Spustenie programu:                                            Príkaz: (load “PRECH“)   →   prech

a)    Zadajte vrcholový bod oblúka VB: bod myšou

b)   Zadajte bod pre smer prvej dotyčnice: bod myšou

c)    Zadajte bod pre smer druhej dotyčnice: bod myšou

d)   Zadajte polomer oblúka, aby vyhovoval predpisom R: 200

e)    Zadajte dĺžku prechodnice, aby vyhovovala predpisom L: 70

f)        Chcete nakreslený oblúk? [Áno/Nie]: a

g)       Zadajte označenie vrcholového bodu VB: 21

h)       Popis parametrov bude čitateľný zvnútra oblúka (Áno/Nie): a

i)    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

j)    Oblúk s klotoidou je vykreslený (obr. 7.3).

 


Zdrojový text ukážkového programu PRECH.LSP je uvedený v Prílohe č. 9.2.

 

Obr. 7.3. Vykreslenie oblúka s prechodnicami v tvare klotoidy v AutoCADe

7. 3.   Vykreslenie terénu v pozdĺžnom profile

 

Textové pole: ("     4"    0.06000    322.47)
("     5"    0.08000    322.17)
("     6"    0.10000    322.66)
("     7"    0.12000    323.47)
("     8"    0.14000    323.22)
("     9"    0.16000    323.05)
("    10"    0.18000    322.90)
("    11"    0.20000    322.63)
("    12"    0.22000    322.48)
("    13"    0.24000    322.15)
("    14"    0.26000    321.98)
("    15"    0.28000    321.80)
("    16"    0.30000    321.63)
("KONIEC")

Textové pole: Dátový súbor TEREN.DAT:

("Pozdĺžny profil" "1:1000/100")
("Lokalita:" "ŽILINA")
("Okres:" "ŽILINA") 
("Kraj:" "ŽILINSKÝ")
("Začiatok úseku [km]:"   0.00000)
("Koniec úseku [km]:"     0.30000)
("Porovnávacia rovina:" 310.000 m)
("******"     km           m  )
("TEREN*" "Staničenie" "Výška")
("     1"    0.00000    321.44)
("     2"    0.02000    321.69)
("     3"    0.04000    322.25)

Pr. 7.3. Vypracujte program TEREN.LSP v AutoLISPe, ktorý vykreslí na základe dátového súboru TEREN.DAT (obr. 7.4) kóty terénu geodeticky zameraného pozdĺžneho profilu komunikácie. V danom programe bude spracované staničenie a kóty terénu vzhľadom na zmenu porovnávacej roviny (obr. 7.6). Nad pozdĺžnym profilom vykreslite požadované tabuľky s popisom (obr. 9.3). Výkres doplňte rohovou pečiatkou (obr. 9.4).

Obr. 7.4. Dátový súbor TEREN.DAT

Spustenie programu:                                            Príkaz: (load “TEREN“)   →   teren

a)      >>>>>>>>>>>>>>>>>>>>>>>>>>>>>OK.

b)   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

c)      KÓTY TERÉNU SÚ VYKRESLENÉ (obr. 7.5).


Zdrojový text ukážkového programu TEREN.LSP je uvedený v Prílohe č. 9.3.

Obr. 7.5. Vykreslenie terénu pozdĺžneho profilu v AutoCADe

7. 4. Vykreslenie bodov

z dátového súboru

s prevodom súradníc

S-JTSK na obrazovkové

 

Pr. 7.4. Vypracujte program BODY.LSP na vykreslenie bodov v súradnicovom systéme Jednotnej trigonometrickej siete katastrálnej (S-JTSK) a výškovom systéme Baltskom po vyrovnaní (Bpv). Jednotlivé body sú uložené v súbore BODY.DAT (obr. 7.8). Príklad slúži obecne na vykreslenie geodeticky zameraných alebo naprojektovaných bodov do výkresu AutoCADu, napríklad pri vytvorení polohopisnej a výškopisnej účelovej mapy, alebo vykreslení bodov s vypočítanými súradnicami vyty-čovacích výkresov (súradnice S-JTSK alebo miestny súradnicový systém).

Obr. 7.6. Pozdĺžny profil a premenné

Body v dátovom súbore (obr. 7.8) reprezentujú geodeticky zamerané základy opôr a pilierov mostného objektu na spracovanie dokumentácie skutočného vyhotovenia stavebného diela. Body vo výkrese pospájajte v hladine MOST podľa obr. 7.7.

Pri vykresľovaní pôdorysu mostného objektu si upravte typ značky kreslenia bodu systémovou premennou PDMODE a veľkosť značky bodu pomocou PDSIZE. Zmena značky a jej veľkosti sa prejaví až po regenerácií výkresu príkazom REGEN [21], [33].


Do súboru BODY.DAT môžeme prekopírovať alebo upraviť svoje súradnice bodov a vykresliť ich v AutoCADe (napríklad body z kap. 8 po výpočte údajov, obr. 8.6).

Obr. 7.7. Vykreslenie bodov v súradnicovom systéme S-JTSK – mostný objekt

Textové pole: Vstupný dátový súbor BODY.DAT:
("Lokalita:"  "Žilina")
("Dátum:"  "27.4.2001")
(            "Ymax"      "Xmax")
(         381600.00  1172400.00)
("  ČB"        Y[m]        X[m]    H[m])
(" 501"   381536.19  1172319.26  359.43)
(" 502"   381466.75  1172323.51  358.07)
(" 503"   381471.54  1172284.92  361.72)
(" 504"   381538.05  1172281.75  357.17)
("  o1"   381534.07  1172300.03  357.62)
("   M"   381500.01  1172300.07  342.00)
("  o2"   381466.04  1172300.01  358.27)
("   1"   381530.11  1172288.02  345.01)
("   2"   381520.04  1172287.98  345.03)
("   3"   381519.92  1172312.02  345.02)
("   4"   381530.04  1172311.94  344.96)
("   5"   381530.09  1172306.02  344.94)
("   6"   381526.10  1172305.96  345.04)
("   7"   381526.01  1172294.07  345.02)
("   8"   381530.03  1172294.09  345.05)
("   9"   381479.98  1172288.01  337.52)
("  10"   381470.01  1172288.13  337.48)
("  11"   381470.05  1172294.11  337.49)
("  12"   381474.12  1172294.07  337.56)
("  13"   381474.09  1172305.99  337.53)
("  14"   381470.01  1172306.04  337.51)
("  15"   381470.12  1172310.96  337.48)
("  16"   381480.11  1172311.03  337.51)
("  17"   381504.09  1172288.07  342.02)
("  18"   381496.01  1172288.11  341.95)
("  19"   381504.04  1172312.01  342.08)
("  20"   381495.96  1172311.94  342.07)
("****")

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Obr. 7.8. Vstupný dátový súbor BODY.DAT

Pozn. 1: Pri vykreslení bodov je vykonaná transformácia súradníc súradnicového systému S-JTSK [YJTSK,XJTSK] do obrazovkových súradníc bodXYi [XACAD,YACAD] AutoCADu cez počiatok výkresu, ktorému pridelíme redukované súradnice referenčného bodu lokality P0 [Ymax, Xmax], obr.  9.5.

 

Spustenie programu:                                            Príkaz: (load “BODY“)   →   body

a)      >>>>>>>>>>>>>>>>>>>>>>>>>>>>>OK.

b)   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

c)    Body sú vykreslené (obr. 7.7).

Zdrojový text ukážkového programu BODY.LSP je uvedený v Prílohe č. 9.4.

 

 

7. 5.   Vloženie výhybiek tvaru R65 do koľajového zhlavia

 

Pr. 7.5. Program VYHYBKA.LSP slúži na vkladanie výhybiek tvaru R65 do koľajového zhlavia. Program bude vkladať výhybky ľavé alebo pravé s možnosťou zmeny polohy výmenníka výhybky (obr. 7.9 a 7.10). Výhybky budeme vkladať pomocou bodu začiatku výhybky ZV a bodu z predchádzajúceho smeru osi koľaje na napojenie (orientácia v osi koľaje),  obr. 9.7. Program vypracujte obecne pre všetky typy výhybiek R65 (1:9-190, 1:9-300, 1:11-300, 1:12-500, 1:14-760, 1:18.5-1200) [3], [4], [5]. Dopracujte vloženie značky výmenníka a značiek stredových a koncových bodov výhybky.

Textové pole: Parametre jednoduchých výhybiek tvaru R65:
TYP			DL[m]	DLH[m]	DLO[m]
1:9-190		10.5230	16.6150	16.6150
1:9-300		16.6155	16.6155	16.6155
1:11-300		13.6085	20.0000	20.0000
1:12-500		20.7970	20.7970	20.7970
1:14-760		27.1080	27.1080	27.1080
1:18.5-1200	32.4090	32.4090	32.4090

V prípade, že výhybky chcete vkladať pomocou stredu výhybky SV, konca hlavnej vetvy KVH alebo konca odbočnej vetvy KVO (obr. 9.7), musíte si program dopracovať samostatne. Podobné platí aj pri vkladaní výhybiek proti smeru staničenia osi koľaje [10], [21].

Obr. 7.8. Parametre jednoduchých výhybiek R65 (obr. 9.7)

 

Spustenie programu:                                            Príkaz: (load “VYHYBKA“)   →   vyh

a)    1=1:9-190, 2=1:9-300, 3=1:11-300, 4=1:12-500, 5=1:14-760, 6=1:18.5-1200

VYBERTE TYP VÝHYBKY [0 AŽ 6]: 2

b)   VYBERTE BOD PRE ZAČIATOK VÝHYBKY ZV: bod myšou

c)    VYBERTE PREDCHÁDZAJÚCI BOD OSI PRE NAPOJENIE: bod myšou

d)      VÝHYBKA ODBOČUJE VĽAVO ALEBO VPRAVO? [L,P]: L

e)       VÝMENNÍK VÝHYBKY JE VĽAVO ALEBO VPRAVO? [L,P]: L

f)        ČÍSLO VÝHYBKY: 1

g)       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

h)       Výhybka tvaru R65 1:9-300 je vykreslená.

i)         Postup opakujte pre celé koľajové zhlavie a koľajové spojky (obr. 7.9 a obr.7.10).

Zdrojový text ukážkového programu VYHYBKA.LSP je uvedený v Prílohe č. 9.5.

 

 

 

 

 

 

 

 

 

 

Obr. 7.9. Koľajové zhlavie železničnej stanice z výhybiek R65

 

 

 

 

 

 

 

Obr. 7.10. Koľajová spojka pred staničným zhlavím

 

Pozn. 1: Pri výbere bodov začiatku výhybky a orientačného bodu na predchádzajúci smer osi koľaje používajte uchopovací režim bodov objektov, napríklad priesečník [Intersection], Stred [Centre], koncový bod [Endpoint] a pod. Stred výhybky SV, t.j. bod odbočenia výhybky je označený kružnicou, preto je potrebné uchopenie na stred [Centre].

Pozn. 2: Pred kreslením si nastavte plochu kreslenia ZOOM Okno [Window] 1. roh: 0,0 a 2. roh: 400,300, pri jednotkách [Units] dĺžky na 3 desatinné miesta a uhly na grády (góny) so 4 desatinnými miestami. Potom vytvorte pomocou príkazu pre ekvidištantu (Ekvidist) [Offset] rovnobežné koľaje vo vzdialenostiach 5 a 10 m a zvoľte si prvý bod pre prvú výhybku č. 1. Nakoniec dopracujte kružnicové oblúky podľa CAD I. [21] alebo [10].

Další kapitola