1 / 25

Grafikus tervezőrendszerek programozása

Grafikus tervezőrendszerek programozása. 9. előadás. AutoLISP hibák. Error függvény. Saját hibakezelő függvény definiálható ( defun my error (str) ( if ( /= str &quot;Function cancelled&quot;)   ( princ ( strcat &quot;<br>***ERROR***&quot; str ” ***&quot;))) ( setq *error* olderr) ) ( defun c:pr g 1 ()

truly
Download Presentation

Grafikus tervezőrendszerek programozása

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Grafikus tervezőrendszerek programozása 9. előadás

  2. AutoLISP hibák

  3. Error függvény • Saját hibakezelő függvény definiálható (defunmyerror (str) (if (/= str "Function cancelled")   (princ (strcat "\n***ERROR***" str ”***"))) (setq *error* olderr) ) (defun c:prg1() (setq olderr *error* *error* myerror) . . . . . program . . . . . (setq *error* olderr) )

  4. Automatikus indítás • acad2004.lsp – Csak az AutoCAD megnyitásánál töltődik be • acad2004doc.lsp – Minden AutoCAD rajz megnyitásánál töltődik be • Ezekben a file-okban elhelyezett függvények betöltődnek

  5. Menük

  6. Menü típusok

  7. Menü file felépítése • A menü file szakaszokra oszlik. • A menü szakaszok almenüket foglalhatnak magukba • Egy menü elem kiválasztása egy menü makrót futtat le • A menü makró lehet makró nyelvi (DIESEL) vagy AutoLisp parancs

  8. Menü példa ***MENUGROUP=teszt ***POP1 P1_1[Teszt menu] P1_2[Line] P1_3[Copy] P1_4[Move] P1_5[Zoom]

  9. Menü felépítés ***MENUGROUP=teszt Definiálja a részleges menü nevét ***POP1 Definiálja a menü típusát, legördülő menü P1_1 Egy azonosítót definiál [Teszt menu] A típus utáni első sor adja meg a menü cimkéjét, ami a menü sorban megjelenik

  10. Menü betöltése Menü betöltése: menuload

  11. Menü beillesztése

  12. Menü példa Menü tevékenység definiálása ***MENUGROUP=teszt ***POP1 [Teszt menu] [Line]_line [Copy]_copy [Move]_move [Zoom]_zoom

  13. Menü karakterek 1. • A név [ ] zárójelek között szerepel • A név utáni részt hajtja végre, mintha a parancs után egy SPACE karaktert is lenyomtunk volna • Például: _line<Szóköz> • Néha több szóköz vagy ENTER kell. Ebben az esetben a pontosvessző (;) használható ami a szóköz vagy ENTER karaktert jelenti.

  14. Menü karakterek 2. • Speciális karakterek

  15. Menü karakterek példa [Cím] _text \1 0 A vállalat címe;;;+ 1011 Bp.;;;Fontos utca 2.; • Elindítja a szöveg kirajzoló parancsot • Bekér egy pontot • Megadja a méreteket, a szöget és kiírja az első sort • Az első ; lezárja a szöveget, a második ; megismétli a _text parancsot, a harmadik ; elfogadja az alapértelmezés beállításokat

  16. Menü parancsok megszakítása [Vonal] ^C^C_line [Kor ] ^C^C_circle • Bármely előző parancsot meg kell szakítani, hogy az új parancsot végre lehessen hajtani • Bár egyetlen Control-C megszakítja a legtöbb parancsot, de néha kettő kell, így a biztonság kedvéért mindig két Control-C –t érdemes megadni

  17. Bonyolult példa Négyzet rajzoló menü pont: [Doboz](setq a (getpoint “Első pont”));\+ (setq b (getcornera “Második pont”));\+ _pline !a (list (car a) (cadr b))+ !b (list (car b) (cadr a)) c

  18. Kép menü • Kép menü slide-okból hozható létre • Slide file vagy gyűjtemény is használható

  19. Kép menü definiálása ***IMAGE **Ajtok [Sajat ajtok] [ajtok(door1,ajto1)]_text \1 0 Ajto1; [ajtok(door2,ajto2)] _text \1 0 Ajto2; [ajtok(door3,ajto3)] _text \1 0 Ajto3; [ajtok(door4,ajto4)] _text \1 0 Ajto4; Értelmezés: ajtok( : slide gyűjtemény neve door1 : slide neve a gyűjteményben ajto1) : a menüben megjelenő címke

  20. Kép menü aktiválása ***MENUGROUP=teszt ***POP1 [Teszt menu] [Ajtok]^C^C$I=teszt.Ajtok $I=* Értelmezés: $I=teszt.Ajtok : “Ajtok” menü a “teszt” menü része, menü betöltése $I=* : A menü megjelenítése

  21. Almenü ***MENUGROUP=teszt ***POP1 [Teszteles] [Vonal ] _line [->Cimek ] [Vállalat ]_text \1 0 A vállalat címe; [~Üres ] [<-Otthon ] _text \1 0 Otthoni címe; [Kor ] _circle

  22. Részleges menü betöltés (setvar ”filedia” 0) (command ”_menuload” ”teszt.mnu”) (menucmd ”P6=+teszt.pop1”) • A hatodik pozícióba helyezi a menüt

  23. Menü azonosító • Státusz sorban segéd üzenet is megjelenik ***MENUGROUP=teszt ***POP1 P1_1 [Teszt menu] P1_2 [Line]_line P1_3 [Copy]_copy ***HELPSTRINGS P1_2 [Vonal húzás] P1_3 [Objektum másolás]

  24. Menü file típusok • .mnu : Minta menü file • .mnc, .mnx : Lefordított menü file (bináris) • .mnr : Menü forrásfile, menü által használt bittérképek • .mns : Forrás menü file • .mnl : Menü LISP file

More Related