Keresés

Aktív témák

  • Atlantis

    veterán

    válasz stevve #5 üzenetére

    Szerintem van hozzá könyv, nézz körbe. Nekem van egy LISP könyvem még a R12-13-as verzió programozásához.

  • beeboy

    addikt

    válasz stevve #5 üzenetére

    szakirodalom? passz
    akartam is kérdezni, miből tanultok, könyv nélkül gondolom
    a súgóban vannak dolgok, nézd meg hátha segít
    (sajnos itt nem elég hosszú egy sor, ezért tördeltem így)
    a macskakörmök kicserélődnek két db felülvesszőre, azt vissza kell cserélned!
    ezt meg tedd be egy akarmi.lsp fájlba, gondolom betölteni, be tudod:
    -------------------------------------------------------------------

    ; komment jele
    ; listákkal dolgozunk
    ; () - mindig párban legyen
    ; (setq xxxx) - értékadás!
    ; (defun C:pARANCSNEVE() ...) - parancs definiálás
    ; (defun függvénynév() ) - függvény definiálás -
    ; meghívható más függvényből, parancsból

    ;kezdődik a program


    (defun C:VVV() ;defun = VVV nevű parancs definiálása

    (setq p1 (getpoint ''\nMutasson egy pontot: '') )
    ;eredmény: x,y,z koordinátájú pont

    (terpri)(princ p1)(princ)
    ;kiírjuk a p1 értékét, (terpri) sortörést jelent, (princ)-el zárjuk, NEM FONTOS

    (setq p2 (getpoint p1 ''\nMutassa a másik pontot: '') )
    ;;;eredmény: x,y,z koordinátájú pont
    ;;;ha getpoint-ot p1-el hívod, lesz egy segítő vonal
    ;;;(setq p2 (getpoint ''\nMutassa a másik pontot: '') ) - így nem

    (setq pontx (nth 0 p1))
    ;nth - listaelemet ad vissza, itt az elsőt (x koordináta)
    (setq ponty (nth 1 p1))
    ;nth - listaelemet ad vissza, itt a másodikat (y koordináta)

    (setq átlópontx (nth 0 p2))
    ;nth - listaelemet ad vissza, itt az elsőt (x koordináta)
    (setq átlóponty (nth 1 p2))
    ;nth - listaelemet ad vissza, itt a másodikat (y koordináta)

    (setvar ''CMDECHO'' 0)
    ;;letiltjuk a kiírást, mert bizonyos függvények megjelenítik az értéküket

    (setq MAKELWPOLYLINE ;rajzelem leírólistáját létrehozzuk
    (list
    (cons 0 ''LWPOLYLINE'') ; rajzelem típus
    '(100 . ''AcDbEntity'')
    '(100 . ''AcDbPolyline'')
    (cons 90 4) ;csúcspontok száma
    (cons 70 1) ;legyen zárt, ha 0 nyitott
    (cons 62 256) ; a rajzelem színe 1-255-ig, ha 256 akkor fóliaszín
    (cons 8 ''fóliám'') ;milyen fólián készüljön el

    (list 10 pontx ponty) ;jönnek sorban a csúcskoordináták
    (list 10 átlópontx ponty)
    (list 10 átlópontx átlóponty)
    (list 10 pontx átlóponty) ;elsőt nem ismételjük, úgyis zárt

    ) ; list
    ) ; MAKELWPOLYLINE - leírólista elkészült

    (entmake MAKELWPOLYLINE) ; ez alapján létrehozzuk a vonalláncot

    (setvar ''CMDECHO'' 1) ;visszakapcsoljuk a kiírást
    (princ); sikeres visszatérés miatt kiírna egy ''1''-est, ezt elnyomjuk

    ); defun (parancs) vége

    [Szerkesztve]

Aktív témák