Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  autolisp abfrage problem

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  autolisp abfrage problem (1273 mal gelesen)
tektura
Mitglied
architekt . praktikant


Sehen Sie sich das Profil von tektura an!   Senden Sie eine Private Message an tektura  Schreiben Sie einen Gästebucheintrag für tektura

Beiträge: 13
Registriert: 22.10.2008

büro: acad 2008
privat: acad 2009

erstellt am: 09. Jan. 2010 22:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

guten abend!

ich habe hier eine lisp datei die eine dwg datei als raumstempel (block) in den plan einfügt.

das lisp verlangt eine polylinie und wirft parameter wie umschlossene fläche, länge der linie richtig aus. dann werden die attribute wie raumname usw abgefragt. all das funktioniert perfekt bis man zum ersten zahlenwert kommt - das ist die raumhöhe. hier bricht das programm mit einer fehlermeldung ab wenn man den vorgabewert bestätogt. wenn man händisch einen zahlenwert eingibt funktioniert es weiterhin.

worum ich mich gerade erfolglos bemühe ist den code so zu ändern dass es sowohl möglich ist den vorgabewert als auch einen händisch eingetragenen wert zu verwenden.


die zeilen wo es passiert:


  (if (= rh nil)              //vorgabewert wird gesetzt
      (setq rh 2.50)
  )
(setq zz (getreal (strcat "\n? Raumhöhe des Raumes <" (rtos rh 2 2) "> ")))               
(if (= zz "")
(setq rh rh)
(setq rh zz)
)


//getreal scheint das problem zu sein weil ja rtos die variable rh auf einen string ändert..... wenn ich getreal durch getstring ersetzte dann stürzt das programm nicht ab wenn man den vorgabewert akzeptiert dafür stürzt es bei einer händischen eingabe ab...

was ist da zu tun ...weiß hier jemand rat ?

ich wäre sehr dankbar 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 09. Jan. 2010 22:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> (getreal (strcat "\n? Raumhöhe des Raumes <" (rtos rh 2 2) "> "))

...liefert, wenn der Anwender mit <ENTER> (ohne Zahlenwerteingabe) antwortet NIL und nicht ""

Also muss Dein IF auch auf NIL prüfen und nicht auf ""

HTH, - alfred -

------------------
www.hollaus.at

cadffm
Moderator
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 10. Jan. 2010 00:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für tektura 10 Unities + Antwort hilfreich

Code:
(if (= zz "")
(setq rh rh)
(setq rh zz)
)

Und da RH ja schon RH ist muß man RH nicht RH zuweisen 
(if zz (setq rh zz)) sollte ausreichen, falls zz nil ist bleibt rh auf dem Vorgabewert.

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tektura
Mitglied
architekt . praktikant


Sehen Sie sich das Profil von tektura an!   Senden Sie eine Private Message an tektura  Schreiben Sie einen Gästebucheintrag für tektura

Beiträge: 13
Registriert: 22.10.2008

büro: acad 2008
privat: acad 2009

erstellt am: 10. Jan. 2010 02:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo !


Ich danke euch für die Antworten!!

Den Hinweis mit dem nil hab ich eingearbeitet und jetzt funktioniert es auch super!

Den zweiten Tipp hab ich noch nicht eingearbeitet. Klingt aber total logisch und pfiffig 

Danke euch beiden!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz