CADsite forum

AutoCAD => Autolisp => Topic gestart door: A3 op do 15 10 2009, 15:46:57

Titel: Waardes vanuit DCL niet naar LISP
Bericht door: A3 op do 15 10 2009, 15:46:57
Hallo,

Ik heb een (beginners) LISP programma voor autocad gemaakt.
Ik heb een DCL bestand gemaakt waarin ik waardes in kan vullen.

Wat voor waarde ik ook invul voor bijvoorbeeld Roosterlengte, hij komt in het LSP bestand toch met de lengte 1000 die als value ingegeven staat in het DCL bestand.
Wat doe ik verkeerd.


HIERONDER MIJN DCL BESTAND

BOX2 : dialog {
   label="LAMELLENROOSTERS";
   : text {label="Invoer roostergegevens"; }
   : spacer {height=1;}
   : edit_box {label="Roosterlengte   "; key="9lengte";edit_width=10;value="1000";}
   : edit_box {label="Roosterbreedte  "; key="9breedte";edit_width=10;value="1000";}
   : edit_box {label="Dragerhoogte    "; key="9draaghoog";edit_width=10;value="30";}
   : edit_box {label="Dragerdikte     "; key="9draagdik";edit_width=10;value="2";}
   : edit_box {label="Vullerhoogte    "; key="9vulhoog";edit_width=10;value="40";}
   : edit_box {label="Vullerdikte     "; key="9vuldik";edit_width=10;value="2";}
   : edit_box {label="Randhoogte      "; key="9randhoog";edit_width=10;value="30";}
   : edit_box {label="Randdikte       "; key="9randdik";edit_width=10;value="5";}
   : edit_box {label="Maaswijdte 1    "; key="9maas1";edit_width=10;value="66.66";}
   : edit_box {label="Maaswijdte 2    "; key="9maas2";edit_width=10;value="33.33";}
   : edit_box {label="Hoek lamellen   "; key="9hoek";edit_width=10;value="45";}
   ok_cancel;

   }   


HIERONDER MIJN LSP BESTAND

(defun lamel (/)
;-----------------------------------------------------------------------------
; automatisch tekenen van rooster met zijaanzicht van lamellen
; auteur : A. Bongers 09-10-2009
;-----------------------------------------------------------------------------
     (command "layer" "s" "werk" "")

   (setq 99lengte 0)
   (setq 99breedte 0)
   (setq 99draaghoog 0)
   (setq 99draagdik 0)
   (setq 99vulhoog 0)
   (setq 99vuldik 0)
   (setq 99randhoog 0)
   (setq 99randdik 0)
   (setq 99hoek 0)
   (setq 99maas1 0)
   (setq 99maas2 0)

   (setq nummer (load_dialog "c:/rooster/lsp/lamel.dcl")) (new_dialog "BOX2" nummer)

;-----------------------------------------------------------------------------
; omzetten STRING waardes naar getallen
;-----------------------------------------------------------------------------

   (setq    99lengte (atof (get_tile "9lengte"))
      99breedte (atof (get_tile "9breedte"))
      99draaghoog (atof (get_tile "9draaghoog"))
      99draagdik (atof (get_tile "9draagdik"))
      99vulhoog (atof (get_tile "9vulhoog"))
      99vuldik (atof (get_tile "9vuldik"))
      99randhoog (atof (get_tile "9randhoog"))
      99randdik (atof (get_tile "9randdik"))
      99maas1 (atof (get_tile "9maas1"))
      99maas2 (atof (get_tile "9maas2"))
      99hoek (atof (get_tile "9hoek"))
   );endsetq

   (start_dialog)

   (unload_dialog nummer)

   (princ 99lengte)(princ "  ")
   (princ 99breedte)(princ "  ")
   (princ 99draaghoog)(princ "  ")
   (princ 99draagdik)(princ "  ")
   (princ 99vulhoog)(princ "  ")
   (princ 99vuldik)(princ "  ")
   (princ 99randhoog)(princ "  ")
   (princ 99randdik)(princ "  ")
   (princ 99maas1)(princ "  ")
   (princ 99maas2)(princ "  ")
   (princ 99hoek)(princ "  ")
)
Titel: Re:Waardes vanuit DCL niet naar LISP
Bericht door: roy_043 op do 15 10 2009, 16:10:44
Kijk eens hier:
http://www.cadsite.be/smf/index.php?topic=3564.0
Titel: Re:Waardes vanuit DCL niet naar LISP
Bericht door: A3 op vr 16 10 2009, 16:02:03
Hallo,

Ik kan met dit antwoord niets. Ik ben beginnend en zou het op prijs stellen als je concreet iets zou aangeven voor in mijn LSP en DCL bestand.

Alvast hartelijk dank.
Titel: Re:Waardes vanuit DCL niet naar LISP
Bericht door: roy_043 op za 17 10 2009, 19:34:24
Je moet het uitlezen van de waardes koppelen aan een gebruikersactie middels action_tile.
Je kunt dit o.a. doen per invoerveld:
;-----------------------------------------------------------------------------
; omzetten STRING waardes naar getallen
;-----------------------------------------------------------------------------
(action_tile "9lengte" "(setq 99lengte (atof $value))")
(action_tile "9breedte" "(setq 99breedte (atof $value))")
...
Titel: Re:Waardes vanuit DCL niet naar LISP
Bericht door: A3 op di 20 10 2009, 15:23:52
Werkt als een bus.

Bedankt.

Adri