LabVIEWForum.de
Mehrmalige Erfassung von Koordinaten auf Grafik - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Grafik & Sound (/Forum-Grafik-Sound)
+---- Thema: Mehrmalige Erfassung von Koordinaten auf Grafik (/Thread-Mehrmalige-Erfassung-von-Koordinaten-auf-Grafik)



Mehrmalige Erfassung von Koordinaten auf Grafik - chickensalad - 25.06.2011 19:20

Hallo Leude,
hab von meinem Betreuer im Institut eine kleine Aufgabe bekommen an der ich gerade verzweifle. Ich soll auf einer Grafik durch anklicken eines Punktes dessen Position bestimmen - soweit so gut. Als nächster Schritt war dann die Idee, dass ich mehrere Koordinaten bestimme und diese dann in einer Tabelle darstelle. Nun möchte ich zwischen zwei Koordinaten unterscheiden. Normale Positionsbestimmung und Stellen an denen etwas besonderes sein könnte. Die Auswahl geschiet über eine Enum in dem ich dann eine Event-Structure laufen lassen will.
Mein Problem ist nun, dass ich z.B durch den Fall "Mausklick auf 2D Grafik" einmal eine Koordinate bestimmen kann, das aber kein 2. mal möglich ist.

Wie handhabt das LabView, merk sich das Programm beim Ausführen, dass die Maus geklickt wurde und stell sozusagen (permanent) von false auf true, sodass ich den Fall nich noch einmal durch ein weiteres Klicken auslösen kann?


RE: Mehrmalige Erfassung von Koordinaten auf Grafik - Matze - 25.06.2011 19:59

(25.06.2011 19:20 )chickensalad schrieb:  Wie handhabt das LabView, merk sich das Programm beim Ausführen, dass die Maus geklickt wurde und stell sozusagen (permanent) von false auf true, sodass ich den Fall nich noch einmal durch ein weiteres Klicken auslösen kann?
Das kommt darauf an, wie du es löst. Mit LabVIEW ist prinzipiell vieles möglich.

Wenn du für den Mausklick eine Ereignisstruktur verwendest, die sich nicht in einer Schleife befindet, wird z.B. nur der 1. Klick erfasst. Ist die Ereignisstruktur in einer While-Schleife, werden alle Klicks erfasst.

Zeige uns am besten dein (fehlerhaftes) VI. Nur dann können wir vernünftig helfen.


RE: Mehrmalige Erfassung von Koordinaten auf Grafik - chickensalad - 25.06.2011 20:58

Klar gern.

Die Ausgänge aus der Event-Struktur werden dann in ein Array führen - so weit mal.

Aber vorerst ist mein Ziel durch mehrmaliges Klicken unterschiedliche Koordinaten jeweils unter "Koordinaten" und "Badspots" abrufen kann.
Die Auswahl hab ich jetzt nur über einen String (wäre Enum doch geschickter?) bzw. habe ich noch einen Bestätigungsdialog eingebaut, mit dem man die Auswahl bestätigen muss.


Danke schon mal im Voraus!


RE: Mehrmalige Erfassung von Koordinaten auf Grafik - jg - 26.06.2011 13:06

Die Verwendung mehrere Event-Strukturen innerhalb einer While-Scheife ist ein (fast) absolutes "Geht Nicht" in LabVIEW. Ich kann dir nur dringend empfehlen, dein VI so aufzubauen, dass es mit nur einer Event-Struktur auskommt.

Das ist auch der Grund dafür, dass aktuell bei dir weitere Auswahlmöglichkeiten scheitern. Denn welche Event-Struktur soll das Mouse-Event verarbeiten?

Weitere Schwachpunkte:
- Du erzeugst einen Dateinamen mit ungültigen Zeichen (Doppelpunkt).
- Deine Mauskoordinaten sind die absoluten Bildschirmkoordinaten, du willst aber sicherlich "Bildkoordinaten" haben?!

Hier eine verbesserte Version:
[attachment=34379]

Gruß, Jens


RE: Mehrmalige Erfassung von Koordinaten auf Grafik - chickensalad - 26.06.2011 13:38

Super danke dir. Jetzt versteh ich langsam was man alles anstellen kann bzw. wie^^.
Wobei sich dann eine kleine Frage erschließt: gibt es eine Möglichkeit zu den, ich weiß nich genau wie ich es nennen soll - diese Registerkarte in der CaseEvent-Structure mit Typ,ElemRef etc. deren Funktion einzusehen bzw. wie sich damit arbeiten lässt. In den Beispielen hab ich nichts gefunden (vll auch übersehen..)


RE: Mehrmalige Erfassung von Koordinaten auf Grafik - jg - 26.06.2011 17:05

Ich finde die Hilfe zur Case-Struktur recht aussagekräftig:
Link zu NI
Gruß, Jens


RE: Mehrmalige Erfassung von Koordinaten auf Grafik - chickensalad - 26.06.2011 18:14

Verschrieben..ich meinte Event-Structure..


RE: Mehrmalige Erfassung von Koordinaten auf Grafik - Lucki - 26.06.2011 19:15

Die Funktion eines Eventcases besteht doch einfach darin, daß im Falle des Ereignisses der Code ausgeführt wird, der drin steht - und das kann so gut wie alles sein und hat mit der Ereignisstruktur als solche nichts zu tun.
z.B das Ding "2D-Bild Mouse" ist ein Eigenschaftsknoten, den man mit Klick rechte Maustaste "erstellen/Eigenschaftsknoten/Maus" erstellen kann.
Daran angeschlossen ist "Cluster nach Namen auschlüsseln", weil von dem Maus-Cluster das Element "Mouse Position" interessiert. usw. usf.
Das alles ist natürlich nicht von heute auf morgen so mal auf die Schnelle zu erlernen.


RE: Mehrmalige Erfassung von Koordinaten auf Grafik - jg - 26.06.2011 19:19

Du meinst die Event Data Node innerhalb der Event Struktur?

Ich sag mal, in 95% der Fälle brauchst du die gar nicht.
Bei anderen Events hängt es davon ab, was da an Info zurückgegeben wird. Das lernt man am ehesten durch Ausprobieren. Mit der Zeit auch durch Intuition. Bei den Maus-Events können z.B. die Koordinaten als Rückgabe-Wert interessant sein.

Ich kenne aber auf Anhieb auch keine Gesamt-Übersicht, in der jetzt für jedes mögliche Event genau erklärt wird, was an Infos zurückgegeben wird.

Gruß, Jens


RE: Mehrmalige Erfassung von Koordinaten auf Grafik - chickensalad - 26.06.2011 20:30

Ja exakt. Gut zu wissen Wink