|
|
Datacursormode in GUI - Festlegung des auswählbaren Objekts |
|
k_a_t_h_a_r_i_n_a |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.06.2017, 07:46
Titel: Datacursormode in GUI - Festlegung des auswählbaren Objekts
|
|
|
|
|
Hallo Ich bin absoluter Matlab-Neuling und versuche mich gerade für eine Projektarbeit an einem GUI. In diesem GUI soll zunächst ein 3D-Modell über einen Push-Button ausgewählt und in die axes geladen werden. Das funktioniert auch soweit ganz gut. Im weiteren Verlauf werden über den Datacursormode verschiedene Punkte auf dem Modell ausgewählt, gespeichert und als Punkt auf die Oberfläche geplottet und auch Linien zwischen diesen Punkten werden eingezeichnet, die dann z.T. durch das ursprüngliche 3D-Modell durch gehen. Macht man das Modell transparent, dann kann man diese Linien sehen.
Das Modell lade ich wie folgt (die Funktionen loadawobj und display_obj_new habe ich im Internet gefunden und übernommen. Obj wird dabei als struct geladen)
Bis hier hin habe ich das Ganze mit dem Auswählen, Speichern und Plotten der Punkte einfach über "datacursormode on" und "dcm_obj = datacursormode()" (also ohne figure_handle in der Klammer zu definieren) laufen lassen und es hat auch beim Setzen der Punkte immer geklappt, dass die Oberfläche des 3D-Modells ausgewählt wurde.
Nun möchte ich nach dem Einzeichnen der Linien (wieder über einen Push-Button ausgelöst) Punkte auf der 3D-Objekt-Oberfläche auswählen, bei denen ich mich an Kreuzungspunkte der eingezeichneten Linien (über plot3 eingefügt) orientiere. Mein Problem ist hierbei, dass der datacursor jetzt nicht mehr die Oberfläche meines 3D-Objekts auswählt, sondern diesen Kreuzungspunkt der Linien stattdessen auswählt, der sich im Inneren des Modellvolumens befindet.
Ich habe gelesen, dass man dem datacursor über "datacursormode(figure_handle)" zuweisen kann, auf welches Objekt er sich beziehen soll, weiß aber nicht, wie ich das mit dem GUI und den handles und so hier anwenden kann. Hab es schon mit Befehlen wie datacursormode(handles.selectObject.obj) probiert, aber krieg nur Fehlermeldungen. Auch wenn ich versuche mit den Befehlen "setappdata" und "getappdata" das 3D-Modell von dem einen Push-Button zum nächsten zu übergeben, klappt das leider nicht.
Ich hoffe, mir kann hier jemand weiterhelfen.
Vielen Dank schonmal!
|
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|