Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Probleme mit Index hochzählen

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:  Probleme mit Index hochzählen (693 mal gelesen)
tappenbeck
Mitglied
Vermessungsingenieur


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

Beiträge: 1213
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

erstellt am: 09. Jul. 2013 12:19    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

Hi !

ich bastel gerade an einer Schleife und in dieser hängt irgendwo ein logischer Fehler. Aber ich finde diesen bei leibe nicht und habe auch schon Kommentare eingebaut - aber der Wert idx wird einfach nicht hochgezählt.

Könnte einer von Euch einfach mal einen Blick darauf werfen ? Vermutlich bin ich schon betriebsblind.

Code:
    (while (avt_photo#assoc (avt_photo#create_vari idx "NAME"))
      (if avt_photo#debug
(progn
  (princ (strcat "\n" (itoa idx) "Zusatzblock: "))
  (princ (avt_photo#assoc (avt_photo#create_vari idx "NAME")))
);end-progn
)
      (progn
        (cond
;; Einfügung auf der Mitte zwischen MP1 und MP2
((= (avt_photo#assoc (avt_photo#create_vari idx "INS")) 0)
    (setq opt_ins_y (/ x_scale 2)
        opt_ins_x 0.0)
    )
;; auf MP2
((= (avt_photo#assoc (avt_photo#create_vari idx "INS")) 2)
    (setq opt_ins_y x_scale
          opt_ins_x 0.0)
    )
(T ;; BLK1_INS=1 wird angenommen
    (setq opt_ins_y 0.0
          opt_ins_x 0.0)
    )
);end-cond
        (avt_photo#setlayer (avt_photo#assoc (avt_photo#create_vari idx "LY")))
        (command "._insert" (avt_photo#assoc (avt_photo#create_vari idx "NAME"))
          (list opt_ins_y opt_ins_x blk_z)
                  "_xyz"
                  (avt_photo#get_scale)
                  (avt_photo#get_scale)
                  1.0
                  0.0)

        ;; Ausrichten der Attribute
(avt_photo#align (entlast)
                    (avt_photo#assoc "ATT_ROT")
                    (* (avt_photo#assoc "ATT_HIGHT") (avt_photo#get_scale))
      )

(princ "\n--> vor der Group")
        (setq aws (ssadd (entlast) aws)
      idx (1+ idx))
(princ "\n--> hinter idx")(princ idx)(princ " --> ")(princ (avt_photo#assoc (avt_photo#create_vari idx "NAME")))
      );end-progn
    );end-while


Die Schliefe vor hinter idx zählt immer bis zu dem maximalen Wert - dann ist Schluss und die while-Schleife wird nicht beendet.

Gruß Jan  :-)

------------------
jan :-)

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 09. Jul. 2013 12:58    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 tappenbeck 10 Unities + Antwort hilfreich

Ich glaube in deinem Falle müsstest du den index runterzählen bis er nil wird und die while schleife beendet. Weil so wie es auf den ersten Blick ausschaut, zählt er hoch und führt while unendlich durch. Mir fehlt ein bisschen der Hintergrund, was am Ende rauskommen soll.
was bedeutet
Code:
(while (avt_photo#assoc (avt_photo#create_vari idx "NAME"))

------------------
Gruss Dirk

http://cadplayerlounge.blogspot.se

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

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

Alles

erstellt am: 09. Jul. 2013 13:05    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 tappenbeck 10 Unities + Antwort hilfreich

Der Ausdruck wird aber sicher nicht immer wahr sein, deswegen ist das keine Schleife ins Nirvana.
(avt_photo#assoc (avt_photo#create_vari idx "NAME"))

@Jan
Wenn der IDX-Wert später falsch ist, dann kommt der abgefragte Wert woanders her, nicht aus dieser Schleife.

------------------
Link: User:FAQ (einiges Wissenswertes über AutoCAD)

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



Praktikant / Werkstudent (m/w/d) als Assistenz der Bauleitung

GOLDBECK?realisiert zukunftsweisende Immobilien in Europa. Wir verstehen Gebäude als Produkte und bieten alle Leistungen aus einer Hand: vom Design über den Bau bis zu Services im Betrieb. Aktuell beschäftigt unser Familienunternehmen mehr als 12.000 Mitarbeitende an über 100 Standorten bei einer?Gesamtleistung von über 6 Mrd. Euro. Unser Anspruch ?building?excellence? steht dabei für Spitzenleistungen ...

Anzeige ansehenAssistenz, Sekretariat
tappenbeck
Mitglied
Vermessungsingenieur


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

Beiträge: 1213
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

erstellt am: 09. Jul. 2013 14:38    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

geschlossen !!!

Der Fehler lag in einer Buchstabenverwechselung.

Bin jetzt darauf gekommen !!! Danke an alle Unterstützer !

Gruß Jan :-)

------------------
jan :-)

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