FastFiber
Menu

Toon bijdragen

Deze sectie stelt je in staat om alle bijdragen van dit lid te bekijken. Je kunt alleen de bijdragen zien waar je op dit moment toegang toe hebt.

Toon bijdragen Menu

Berichten - A3

#1
Autolisp / Re:foutmelding stringp nil
vr 08 01 2010, 14:43:36
Klopt, met mijn nieuwe autocad versie alles gekopieerd naar een andere directory c:/rooster2010.
De oude directory c:/rooster wel laten bestaan. Gisteren heb ik toen alles bleek te werken de oude hernoemd naar c:/roosteroud. Toen kon hij het bestand dus niet meer vinden.

Hartelijk dank, probleem opgelost.

Adri
#2
Autolisp / Re:foutmelding stringp nil
vr 08 01 2010, 13:26:11
Dat krijg ik inderdaad op het scherm. Hoe los ik het  zoekpaden probleem op dat hij het dcl bestand niet kan vinden.
Bij mijn weten heb ik niets veranderd waardoor het nu ineens niet meer werkt.

Adri
#3
Autolisp / Re: foutmelding stringp nil
vr 08 01 2010, 08:46:36
Deze regel had ik er tussengezet om te bepalen waar hij vastloopt. Op deze plek (princ 9lengte) loopt hij vast.
als ik deze regel weghaal blijft het probleem hetzelfde. Voor mij wel vreemd dat het smorgens nog werkt en smiddags niet meer.

Alvast hartelijk dank voor je moeite.

Adri
#4
Autolisp / foutmelding stringp nil (opgelost)
do 07 01 2010, 08:01:10
Hoi,
Ik heb een Lisp routine en een DCL bestand welke tot voor kort altijd werkte. Ik heb nu sinds kort Autocad 2010 waaronder hij ook werkte. Ik heb nu in autocad 2010 wat instellingen veranderd onder tools/options en nu krijg ik bij de lsp-routine de melding stringp nil.
Wat heb ik verkeerd gedaan ?

Hieronder het LSP bestand en het DCL bestand

Deel van het betreffende LSP bestand lamel.lsp :
(defun lamel (/)
;-----------------------------------------------------------------------------
; automatisch tekenen van rooster met zijaanzicht van lamellen
; auteur : A. Bongers 09-10-2009
;-----------------------------------------------------------------------------

   (command "layer" "s" "werk" "")
   (setq oldosmode (getvar "osmode"))   
   (setvar "osmode" 0)

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

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

(princ 9lengte)


   (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"))
       )

   (action_tile "9lengte" "(setq 99lengte (atof $value))")
   (action_tile "9breedte" "(setq 99breedte (atof $value))")
   (action_tile "9draaghoog" "(setq 99draaghoog (atof $value))")
   (action_tile "9draagdik" "(setq 99draagdik (atof $value))")
   (action_tile "9vulhoog" "(setq 99vulhoog (atof $value))")
   (action_tile "9vuldik" "(setq 99vuldik (atof $value))")
   (action_tile "9randhoog" "(setq 99randhoog (atof $value))")
   (action_tile "9randdik" "(setq 99randdik (atof $value))")
   (action_tile "9maas1" "(setq 99maas1 (atof $value))")
   (action_tile "9maas2" "(setq 99maas2 (atof $value))")
   (action_tile "9hoek" "(setq 99hoek (atof $value))")

   (start_dialog)

   (unload_dialog nummer)

   (setq 99plaats (getpoint "Plaatsingspunt linksboven : "))

;-----------------------------------------------------------------------------

Het betreffende DCL bestand lamel.dcl :
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;

   }   






; roosteromranding
;-----------------------------------------------------------------------------
   (setq 99punt2 (list (+ (car 99plaats) 99breedte) (cadr 99plaats) (caddr 99plaats)))
   (setq 99punt3 (list (car 99punt2) (- (cadr 99plaats) 99lengte) (caddr 99plaats)))
    (setq 99punt4 (list (car 99plaats) (cadr 99punt3) (caddr 99plaats)))

   (command "pline" 99plaats 99punt2 99punt3 99punt4 "close")
;-----------------------------------------------------------------------------
; randdikte roosteromranding
;-----------------------------------------------------------------------------
   (setq 99punt5 (list (+ (car 99plaats) 99randdik) (-(cadr 99plaats) 99randdik) (caddr 99plaats)))
   (setq 99punt6 (list (- (+ (car 99plaats) 99breedte) 99randdik) (cadr 99punt5) (caddr 99plaats)))
   (setq 99punt7 (list (car 99punt6) (+ (- (cadr 99plaats) 99lengte
#5
Autolisp / Re:Waardes uit DCL niet overgenomen
do 22 10 2009, 10:11:45
Werkt perfect (1e oplossing)

Bedankt.
Adri
#6
Autolisp / Waardes uit DCL niet overgenomen
do 22 10 2009, 08:55:35
Hallo,

Mijn programma is bijna klaar maar ik zit nog met een klein probleem.
Ik heb een DCL  bestand waar ik waardes in kan vullen.
Als ik echter in geen enkel vak iets nieuws invul maar de ingestelde "value" accepteer en meteen op <OK> druk dan geeft hij in het LSP bestand een foutmelding en wordt er niets getekend.
Als ik alle waardes in het DCL bestand wel "opnieuw"invul dan werkt het wel.

Wat doe ik verkeerd ?

Alvast bedankt.

Adri

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;

   }   


LSP bestand :

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

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

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

   (action_tile "9lengte" "(setq 99lengte (atof $value))")
   (action_tile "9breedte" "(setq 99breedte (atof $value))")
   (action_tile "9draaghoog" "(setq 99draaghoog (atof $value))")
   (action_tile "9draagdik" "(setq 99draagdik (atof $value))")
   (action_tile "9vulhoog" "(setq 99vulhoog (atof $value))")
   (action_tile "9vuldik" "(setq 99vuldik (atof $value))")
   (action_tile "9randhoog" "(setq 99randhoog (atof $value))")
   (action_tile "9randdik" "(setq 99randdik (atof $value))")
   (action_tile "9maas1" "(setq 99maas1 (atof $value))")
   (action_tile "9maas2" "(setq 99maas2 (atof $value))")
   (action_tile "9hoek" "(setq 99hoek (atof $value))")

   (start_dialog)

   (unload_dialog nummer)

   (setq 99plaats (getpoint "Plaatsingspunt linksboven : "))

;-----------------------------------------------------------------------------
; roosteromranding
;-----------------------------------------------------------------------------
   (setq 99punt2 (list (+ (car 99plaats) 99breedte) (cadr 99plaats) (caddr 99plaats)))
   (setq 99punt3 (list (car 99punt2) (- (cadr 99plaats) 99lengte) (caddr 99plaats)))
     (setq 99punt4 (list (car 99plaats) (cadr 99punt3) (caddr 99plaats)))

   (command "pline" 99plaats 99punt2 99punt3 99punt4 "close")
;-----------------------------------------------------------------------------
; randdikte roosteromranding
;-----------------------------------------------------------------------------
   (setq 99punt5 (list (+ (car 99plaats) 99randdik) (-(cadr 99plaats) 99randdik) (caddr 99plaats)))
   (setq 99punt6 (list (- (+ (car 99plaats) 99breedte) 99randdik) (cadr 99punt5) (caddr 99plaats)))
   (setq 99punt7 (list (car 99punt6) (+ (- (cadr 99plaats) 99lengte) 99randdik) (caddr 99plaats)))
   (setq 99punt8 (list (car 99punt5) (cadr 99punt7) (caddr 99plaats)))

   (command "pline" 99punt5 99punt6 99punt7 99punt8 "close")

(setvar "osmode" oldosmode)
)
#7
Autolisp / Re:command "line" werkt niet goed
wo 21 10 2009, 11:05:16
Hoe simpel kan het zijn.

Hartelijk dank, forum werkt voortreffelijk.

Adri
#8
Autolisp / command "line" werkt niet goed
wo 21 10 2009, 10:29:13
als ik in een DCL bestand een lengte en breedte invul van bv 1000 dan worden er vier hoekpunten berekend in het LSP bestand en vervolgens zou er een vierkant getekend moeten worden van 1000x1000 mm. Toch worden er maar 3 zijden van het vierkant getekend. Ik kom er niet uit. Kan iemand me helpen.

LISP bestand

(defun lamel (/)
     (command "layer" "s" "werk" "")

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

   (action_tile "9lengte" "(setq 99lengte (atof $value))")
   (action_tile "9breedte" "(setq 99breedte (atof $value))")

   (start_dialog)

   (unload_dialog nummer)

   (setq 99plaats (getpoint "Plaatsingspunt linksboven : "))

   (setq 99punt2 (list (+ (car 99plaats) 99breedte) (cadr 99plaats) (caddr 99plaats)))
   (setq 99punt3 (list (car 99punt2) (- (cadr 99plaats) 99lengte) (caddr 99plaats)))
   (setq 99punt4 (list (car 99plaats) (cadr 99punt3) (caddr 99plaats)))

   (command "line" 99plaats 99punt2 99punt3 99punt4 99plaats "")
)


DCL bestand

BOX2 : dialog {
   label="LAMELLENROOSTERS";
   : text {label="Invoer roostergegevens"; }
   : spacer {height=1;}
   : edit_box {label="Roosterlengte   "; key="9lengte";edit_width=10;value="";}
   : edit_box {label="Roosterbreedte  "; key="9breedte";edit_width=10;value="";}
   ok_cancel;

   }   

#9
Werkt als een bus.

Bedankt.

Adri
#10
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.
#11
Autolisp / Waardes vanuit DCL niet naar LISP
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 "  ")
)