CADsite forum

AutoCAD => Autolisp => Topic gestart door: Rudy op do 05 05 2011, 08:22:25

Titel: Foutmelding in lisp
Bericht door: Rudy op do 05 05 2011, 08:22:25
Wat betekend onderstaande foutmelding in lisp:
                                     ; error: bad argument type: lselsetp nil
Titel: Re:Foutmelding in lisp
Bericht door: HofCAD op do 05 05 2011, 15:08:16
Citaat van: Rudy op do 05 05 2011, 08:22:25
Wat betekend onderstaande foutmelding in lisp:
                                    ; error: bad argument type: lselsetp nil

Beste Rudy,

Je hebt geen goede selectieset.
Ook het onderstaande voorbeeld geeft deze foutmelding.
(setq ss nil)
(setq nss (sslength ss))


Met vriendelijke groet, HofCAD CSI.

; error: LOAD failed: "huis"
Het programma kan door AutoLISP niet gevonden worden.
Het programma bestaat niet, of het path of het 'support file search path'
is fout of onvolledig.

Error: too few arguments
Er zij te weinig argumenten in de funcite aanroep, bijv. bij (cons 7).

; error: malformed list on input
Er is een rechterhaakje te weinig.

; error: extra right paren on input
Er is een rechterhaakje te veel.

; error: bad function: 7
Er is een lijst in de vorm (7 ...) in bijv. (length (7)).
Dus ontbreekt er een functie, of de lijst is niet vooraf gegaan met ' of quote.
Dus in het bovenstaande geval: '(7) of (quote 7) in bijv. (length '(7 )).

; Error: bad argument type: stringp 7
; Error: bad argument type: consp 5
; Error: bad argument type: fixnump: "a"
; Error: bad argument type: lselsetp nil
; Error: bad argument type: numberp: "a"
Er wordt een symbool van het foute type doorgegeven aan een functie.
Men Krijg een waarde als het symbool van het foute type is, bijv in (setq x "a" xstr (rtos x))
krijgt men: 'Error: bad argument type: numberp: "a"'.
Men krijgt nil als het symbool niets bevat, bijv. in (setq x nil xstr (rtos x))
krijgt men: 'Error: bad argument type: numberp: nil'.

Titel: Re:Foutmelding in lisp
Bericht door: Rudy op do 05 05 2011, 19:22:25
Beste HofCad,

Ik ben toch nog een probleempje tegen gekomen bij het uitvoeren van de lisp RudyPurge&Save (herinner je je deze nog)
Namelijk het volgende:
                   ; error: bad argument type: lselsetp nil
Dank u voor de uiteenzetting hierboven  :vreegoe:
Maar zoals je weet ben ik zelf niet zo bedreven in lisp  :oops:
Dit komt voor wanneer ik een tekening purge zonder layouts met een viewport. Is dit mogelijk de reden?
Is er hier een oplossing voor ?
Het zou zo moeten zijn dat wanneer er geen layouts met viewport ontdekt worden, dat de routine dan gewoon afgewerkt wordt. Als dit het probleem is tenminste ?
Titel: Re:Foutmelding in lisp
Bericht door: HofCAD op vr 06 05 2011, 00:36:12
Beste Rudy,

Als ik een tekening purge met RudyPurge&Save.lsp met layouts zonder een viewport,
krijg ik vanuit Modelspace deze foutmelding niet.
Zelfs na herhaaldelijk purgen met RudyPurge&Save.lsp krijg ik deze niet.
Als ik dezelfde tekening purge met RudyPurge&Save.lsp vanuit Paperspace
dan krijg ik die foutmelding soms wel en daarna weer niet.
Dit is afhankelijk van welke layout aktief is.
Als je de regel (setvar "TILEMODE" ~Tm) verwijdert dan krijg je de foutmelding
niet meer,  want ik denk voorlopig dat het probleem komt door een poging
tot terugkeer naar een verwijderde Layout.
Dit moet ik verder onderzoeken!

Met vriendelijke groet, HofCAD CSI.

Titel: Re:Foutmelding in lisp
Bericht door: Rudy op vr 06 05 2011, 08:35:17
Citaat van: HofCAD op vr 06 05 2011, 00:36:12
Als je de regel (setvar "TILEMODE" ~Tm) verwijdert dan krijg je de foutmelding niet


Beste HofCad,

Ik heb voor de regel (setvar "TILEMODE" ~Tm) een ";" geplaatst.
Als ik nu purge van uit model krijg ik nog steeds dezelfde fout.
Als ik purge van uit layout krijg ik geen foutmelding.
Dus ik wacht nog even af of je een oplossing kan vinden om dit euvel te verhelpen.

Met vriendelijke groet,


Rudy
Titel: Re:Foutmelding in lisp
Bericht door: HofCAD op vr 06 05 2011, 09:54:59
Beste Rudy,

Het rare is, dat ik de foutmelding niet systematisch kan genereren.
Hoe ik ook vandaag purge met RudyPurge&Save.lsp  uit modelspace
of uit paperspace ik krijg hem niet.
Als je het commando DELLAYOUTS gebruikt uit RudyPurge&Save.lsp
krijg je dan de foutmelding ook?

Met vriendelijke groet, HofCAD CSI.

PS Kun je een tekening plaatsen?
Titel: Re:Foutmelding in lisp
Bericht door: Rudy op vr 06 05 2011, 10:56:12
Citaat van: HofCAD op vr 06 05 2011, 09:54:59
Als je het commando DELLAYOUTS gebruikt uit RudyPurge&Save.lsp
krijg je dan de foutmelding ook?

Beste HofCad,

Wanneer ik DELLAYOUTS gebruik krijg ik dezelfde fout.
Ik moet zowel werken in model als in layout  (afhankelijk van de klant)
Ook is het zo dat ik moet saven als autocad 2000 ook klant afhankelijk.
Ik weet niet of dat er mee te maken heeft.
In bijlage een vb tekening.
Titel: Re:Foutmelding in lisp
Bericht door: HofCAD op vr 06 05 2011, 12:30:34
Beste Rudy,

Het lijkt er op dat het komt, doordat niet het viewport is uitgezoomd.
Probeer het eens met:

(defun c:DelLayouts (/ ~Tm LayoutsLst i Layout)
(Setq ~Tm (getvar "TILEMODE"))
 (setvar "TILEMODE" 1)
 (setq LayoutsLst (layoutlist))
 (setq i 0)
 (repeat (length LayoutsLst)
   (command "_.LAYOUT" "_S" (nth i LayoutsLst))
   (command "_.PSPACE")
   (command "_.ZOOM" "_E")
   (setq i (1+ i))
 )
 (setq i 0)
 (repeat (length LayoutsLst)
   (setq Layout (nth i LayoutsLst))
   (if (< (SSlength
   (ssget "_X" (list '(0 . "VIEWPORT") (cons 410 Layout)))
 )
 2
)
     (command "_.LAYOUT" "_D" Layout)
   )
   (setq i (1+ i))
 )
 (setvar "TILEMODE" ~Tm)
 (princ)
)


Met vriendelijke groet, HofCAD CSI.

PS Het blijft een rare fout, want eenmaal verwerkt met de nieuwe DelLayouts
werkt de oude DelLayouts zonder uitgezoomd zijn ook?
Titel: Re:Foutmelding in lisp
Bericht door: Rudy op vr 06 05 2011, 14:09:01
Beste HofCad,

Als ik de nieuwe DelLayouts gebruik dan krijg ik geen fout.
Als ik deze integreer in Purge&Save krijg ik de eerste maal geen fout, bij een tweede purge wel een fout.
Als ik dan in dezelfde tekening DelLayouts gebruik krijg ik geen fout. (zelfs verschillende maal na elkaar)
Als ik nu opnieuw Purge&Save krijg ik de eerste maal geen fout, bij een tweede purge en de daar op volgende, weer een fout.
Het blijft inderdaad heel raaaar...

Met vriendelijke groeten,

Rudy
Titel: Re:Foutmelding in lisp
Bericht door: HofCAD op vr 06 05 2011, 14:45:26
Beste Rudy,

Als ik de tekening 11-940-MTR-005a.dwg herhaaldelijk purge met de
veranderde RudyPurge&Save2.lsp krijg ik geen foutmelding.

Met vriendelijke groet, HofCAD CSI.

PS Dus als jouw RudyPurge&Save.lsp gelijk is aan mijn RudyPurge&Save2.lsp
dan is dit nog raarder dan raar(een X-File).
Titel: Re:Foutmelding in lisp
Bericht door: Rudy op vr 06 05 2011, 20:21:09
Citaat van: HofCAD op vr 06 05 2011, 14:45:26
Als ik de tekening 11-940-MTR-005a.dwg herhaaldelijk purge met de
veranderde RudyPurge&Save2.lsp krijg ik geen foutmelding.
Beste HofCad,

Ik heb juist een aantal tekeningen gepurged...en geen foutmeldingen. :vreegoe:
Ik heb dit echter bij mij thuis getest. en hier save ik gewoon naar autocad 2010.
Daarna heb ik in options aangegeven om te saven naar autocad 2000 zoals op het werk en dan
kreeg ik een dialoogvenster met de opmerking dat sommige zaken verloren gaan bij het saven naar 2000.
In ieder geval zal ik maandag alles nog eens uitproberen.
Dank u heel erg voor de gedane inspanning.

Goed weekend,

Rudy


PS: Het commando heet purge & save, hoe komt het dan dat ik bij "close" toch nog moet saven?
Titel: Re:Foutmelding in lisp
Bericht door: HofCAD op za 07 05 2011, 14:53:40
Citaat van: Rudy op vr 06 05 2011, 20:21:09
Beste HofCad,

Goed weekend,

Rudy

PS: Het commando heet purge & save, hoe komt het dan dat ik bij "close" toch nog moet saven?
Beste Rudy,

Het lijkt dat dit tekening afhankelijk is, want in je tekening 11-940-MTR-005a.dwg
zit een probleem.
Als je tekening als onderstaand plaatje veranderd, dan heb je het probleem niet meer.
Het lijkt dat het probleem ontstaat door de Leader met de tekst:
'GAT ø9 BIJ TE BOREN TIJDENS MONTAGE'.
Je tekening is dus ook een X-File(This is spooky and scary folks.)


Met vriendelijke groet, HofCAD CSI.

PS Kijk en test ook eens de veranderingen in RudyPurge&Save3.lsp
Titel: Re:Foutmelding in lisp
Bericht door: Rudy op za 07 05 2011, 19:33:21
Citaat van: HofCAD op za 07 05 2011, 14:53:40
Als je tekening als onderstaand plaatje veranderd, dan heb je het probleem niet meer.
Het lijkt dat het probleem ontstaat door de Leader met de tekst:
'GAT ø9 BIJ TE BOREN TIJDENS MONTAGE'.

PS Kijk en test ook eens de veranderingen in RudyPurge&Save3.lsp
Beste HofCad,

Je bent van onschatbare waarde :!:
Na close moet ik nu niet meer saven.
Denk je echt dat het probleem ontstaat door een gewone leader met tekst?
Zou het niet kunnen dat het probleem ontstaat omdat ik in dat aanzicht het commando WIPEOUT heb gebruikt?
Purge & Save werkt nu bijna zoals ik het zou willen.
Ik zal het maandag nog eens testen.
Ik kom trouwens nog andere problemen tegen in autocad 2011.
Bij ons op het bedrijf  zijn we gewoon, al sinds autocad 10, om te werken met layer 0 in rode kleur.
Sinds we autocad 2011 hebben loopt dit echter mis, van het ogenblik dat we een copy & paste toepassen veranderd de rode kleur virtueel in wit, wanneer je de entiteit echter aanklikt blijkt die nog altijd rood te zijn...
spooky :duivel1: :duivel1: :duivel1:
Bij Autodesk weten ze hier ook geen raad mee.
Zo zie je maar X-files bestaan...

Nogmaals dank en een heel prettig weekend

Rudy


Titel: Re:Foutmelding in lisp
Bericht door: HofCAD op zo 08 05 2011, 14:31:46
Citaat van: Rudy op za 07 05 2011, 19:33:21
Beste HofCad,

Denk je echt dat het probleem ontstaat door een gewone leader met tekst?
Zou het niet kunnen dat het probleem ontstaat omdat ik in dat aanzicht het commando WIPEOUT heb gebruikt?

Rudy
Beste Rudy,

Dit kun je zelf testen:
1) Vewijder de Wipeouts via het commando QSELECT en de Delete toets
en run het programma RUDYPURGE&SAVE uit RudyPurge&Save2.lsp
2) Verwijder alles behalve die specifieke Leader en run opnieuw het
programma RUDYPURGE&SAVE uit RudyPurge&Save2.lsp

Met vriendelijke groet, HofCAD CSI.

PS Voor de eerlijkheid dus niet het programma RUDYPURGE&SAVE
uit RudyPurge&Save3.lsp gebruiken, want daar zit de regel
(Command "_SAVE" "") in.
Citaat van: Rudy op za 07 05 2011, 19:33:21

Ik kom trouwens nog andere problemen tegen in autocad 2011.
Bij ons op het bedrijf  zijn we gewoon, al sinds autocad 10, om te werken met layer 0 in rode kleur.
Sinds we autocad 2011 hebben loopt dit echter mis, van het ogenblik dat we een copy & paste toepassen veranderd de rode kleur virtueel in wit, wanneer je de entiteit echter aanklikt blijkt die nog altijd rood te zijn...
spooky :duivel1: :duivel1: :duivel1:
Bij Autodesk weten ze hier ook geen raad mee.
Zo zie je maar X-files bestaan...

Nogmaals dank en een heel prettig weekend

Rudy
Beste Rudy,

Ik kan deze fout in AutoCAD 2011 Mechanical niet reproduceren. :? :? :? :?
Zou je X-File versies van AutoCAD hebben?(This is spooky and scary folks.)

Met vriendelijke groet, HofCAD CSI.
Titel: Re:Foutmelding in lisp
Bericht door: Rudy op zo 08 05 2011, 14:49:33
Citaat van: HofCAD op zo 08 05 2011, 14:31:46

Verwijder alles behalve die specifieke Leader en run opnieuw het
programma RUDYPURGE&SAVE uit RudyPurge&Save2.lsp
Inderdaad het ligt aan de leader  :roll:
De tekst zelf heeft er blijkbaar niets mee te maken...raar