Zum Inhalt springen

Marionette Node „EasyTextList“ Fehlersuche


Chritian W.

Frage

Hallo, ichhabe folgendes Problem, ich hatte mir den „Node EasyText“ modifiziert so dass ich text als Liste ausgeben kann. Grundlage hierfür war der Node „Text in Lines ohne Block“ von DomC

Die Ausfühhrung funktionierte bislang auch einwandfrei, nachdem ich nun die „Print Debug“ Nodes entfernt habe um das Netzwerk zu wrappen habe ich an 2 von ca. 20 dieses Noedes das Problem, dass ich eine Verdoppelung der Koordinaten des Einfügepunktes erhalte. Wenn ich die Verbindung wiederherstelle, funktioniert es wie es soll. Kann vielleicht jemand mal in den code schauen ob er einen Fehler sieht? Für andere weiter führende Tipps bin ich auch dankbar.

1968C2F0-CA01-4CF3-A684-E5645F7F1B5B.jpeg

Easy text list.vwx

Link zu diesem Kommentar

6 Antworten auf diese Frage

Empfohlene Beiträge

Hallo

Ich vermute mal, dass an den betreffenden Stellen zweimal die Schriftgrösse oder beim Text zwei Sequenzen statt einer Sequenz zugeführt werden. Dann würde sich auch der Einfügepunkt verdoppeln. Das Node absorbiert keine Listen, d.h. wenn an irgend einem Eingang zwei Werte kommen, wiederholt sich die Ausführung des Nodes. 

Edit:

Sehe jetzt, Dein Node hat die Option ListAbsorb(). Dann kann es eigentlich nicht sein, dass der Koordinatenwert doppelt ist wegen dem Node.  self.Params.text_pos.value[0] nimmt den ersten Koordinatenbpunkt, selbst wenn hundert punkte zugeführt werden, ebenso bei der Textgrösse.

Wie kommst Denn darauf, dass der Koordinatenwert doppelt wäre, liegen zwei identische Texte übereinander?

Besser wäre noch die Zeilen für die Position vom Easy-Text Node zu übernehmen:
vs.MoveTo(pt)

vs.CreateText(str(s))


Also zuerst Cursor bewegen an die Einfügeposition (vermutlich schneller) statt Text zu erzeugen und dann den Text zu verschieben.

  • Like 1

Macbook m3 Max 48 GB | Ryzen 3950x 64GB NVIDIA rtx3090

Link zu diesem Kommentar

Also dass war es noch nicht. Der Text Node besteht weiterhin darauf, dass hinten dran der „PrintDebug“ die X und Y Werte ausgibt. Im Vergleich zu den anderen Stellen, an welchen es funktioniert, hole ich mir hier vorab die Maximalen X bzw y Werte - ich habe langsam keine Idee mehr wie ich dieses Problem umgehen kann.

 

Link zu diesem Kommentar

Ist ein bisschen wie Kristallkugel-lesen ohne Script.

Bau mal direkt in den Nodes, wo Du Fehler vermutest Meldungen ein. Also z.B. im Node eine Zeile wie:

 

vs.AlrtDialog(str(text_pos))

 

(Aber nicht, wenn hundert Werte reinkommen, sonst gibt es 100mal Alert)

Damit würdest Du sehen, was beim Node effektiv reinkommt. Könnte ja sein, dass das Print-Debug den Bug beinhaltet.


Wenn Tatsächlich zwei Koordinaten reinkommen, dann weiter links im Netzwerk schauen, was dort reinkommt, bis der Fehler gefunden ist.

  • Lachen 1

Macbook m3 Max 48 GB | Ryzen 3950x 64GB NVIDIA rtx3090

Link zu diesem Kommentar

Kann es sein, dass es ein Problem mit der Ausführungsreihenfolge gibt? Manche Werte muss ich weiter hinten im Netzwerk abrufen, um einen Max-Wert oder den Mittelwert zu bekommen. Schließlich funktioniert es ja, solange die „debug Print“ Nodes noch drinn bleiben. Aber wenn ich es als Menübefehl umwandeln möchte, kann ich die debug Print Nodes nicht gebrauchen.

Und wenn ich sie entferne zerschießt es mir alles. Wie ich mittlerweile festgestellt habe ist es auch keine reine Doppelung, die Werte sind zum Teil nicht mehr nachvollziehbar.

4391463F-4123-4C70-B9E3-F1F994709B30.jpeg

Bearbeitet von Chritian W.
Link zu diesem Kommentar

Also ich habe weitergesucht und es mittlerweile mit einer Alternativlösung hinbekommen. Ich hatte herausgefunden, dass die beiden Netzwerke, welche ich über mehrere gemeinsame Inputs gesteuert habe, alleine dem Grunde nach richtig arbeiten. (Den EasyTextList-Node hatte ich zuvor überall geändert. Nachdem ich den sehr weit vorn abgegriffenen Einfügepunkt, welcher dann über einen Hilfsnode versetzt wurde entfernt habe, und mir einen anderen im Netzwerk weiter hinten liegenden Punkt genommen habe, von welchem ich dann den neuen Einfügepunkt berechnet habe - hat es dann funktioniert. Vielen Dank trotzdem an alle die immer fleißig ihre Lösungsvorschläge posten, dass ist für mich immer ein Ansporn noch weiter zu suchen.

  • Like 1
Link zu diesem Kommentar

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Forenstatistik

    • Themen insgesamt
      24,3Tsd
    • Beiträge insgesamt
      125,5Tsd
×
×
  • Neu erstellen...