Wie die meisten Webseiten nutzen wir Cookies. Nähere Informationen dazu, wie wir mit diesen Cookies umgehen, können Sie in unseren Datenschutzbestimmungen lesen.   Einverstanden
 
 

3D Forum > Maya Scripting Variable abfragen.

Maya Scripting Variable abfragen.

03.07.2021 20:38
 
SleepySa. 03 Jul. 2021, 20:38 Uhr
Vielleicht weiß dass ja jemand hier im Forum.

In Letzter Zeit scripte ich immer mal wieder in Maya und versuche mir die UI zu vereinfachen. Ich schreibe derzeit an einem DeepLearning Algorithmus in Python und Mel. Das Ziel soll sein, das sich die UI von Maya automatisch an den Benutzer anpasst und dies über eine KI.
Wird ein der Extrude oft benutzt steht dieser in einem Menü weiter oben als dinge die Werkzeuge die nicht oft benutzt werden. . Der Prozess soll den Arbeitsfluss verbessern.
Aber so kompliziert wird meine Frage gar nicht.

Also es geht um folgendes:
Maya ist Script basierend was bedeutet wenn man zb einen Extrude ausführt, passiert dies eigentlich über einen mel oder Python Befehl. (Das ist nicht Hard coded)
Führt man in Maya einen Extrude über das Menü oben aus, kann man diesen Befehl durch die Tastatur Taste "G" beliebig oft wiederholen. Was schonmal sehr cool ist wenn man ganz oft extrudieren möchte.

Erstelle ich mir nun ein eigenes Icon, wo der Extrude Befehl ausgeführt wird, funktioniert der Wiederholen Befehl nicht !

Es scheint so als müsste ich meinen Befehl erst in eine Variable reinschreiben die ich dann mit dem Mel Befehl "RepeatLast; " ausführen kann.
"RepeatLast;" ist der Befehl um den letzten Befehl nochmal auszuführen dieser Befehl steht auch in der Maya Scripting Referenz.

Es scheint aber als würde beim normalen Extrude über die UI der letzte Befehl in einer Variable gespeichert werden. Woher soll Maya sonst wissen welcher Befehl als letztes ausgeführt wurde ?
Nach meinem Verständnis : Schreibt man den Befehl RepeatLast; wird in irgend einer Variable geschaut welcher Befehl dort drin steht. und dieser wird einfach nochmal ausgeführt.

Ich finde aber einfach nichts wie diese Variable heißt wo ich diese abfragen kann welcher Befehl dort drin steht bzw wie ich dort etwas reinschreiben kann.

Klar könnte den Befehl beim Klicken in eine eigene Variable schreiben, nur dann kann der letzte Befehl auch nur über meine UI abgefragt werden und nicht über die Standard Maya UI.

Wie und wo werden die Befehle gespeichert ich glaube das müsste eine von Maya vergebene Varaible sein und die möchte die gerne abfragen.

Vielleicht hab ich ja glück und die Antwort kennt jemand. Sonst muss ich Montag wohl Autodesk fragen smile
 
TilesSo. 04 Jul. 2021, 10:04 Uhr
Könntest du den Codeschnipsel um den es geht posten? Vielleicht sieht man ja so besser um was es geht und was das Problem sein könnte smile
 
SleepyMo. 05 Jul. 2021, 13:02 Uhr
Hat sich erledigt.
Der Befehl RepeatLast führt den letzten Maya Befehl aus aber nur wenn dies im Code ausdrücklich erlaubt ist.
Erlaubt kann das wiederholen mit dem Befehl -commandRepeatable

So könnte das dann aussehen:
iconTextButton -style "iconAndTextVertical" -image1 "" -label "Clean" -commandRepeatable -command "cleanPolyCombine";

Damit wird folgendes Festgelegt: der command cleanPolyCombine ist wiederholbar.

Wo und wie aber der letzte Befehl gespeichert wird, konnte mir auch Autodesk nicht sagen.

 
 

 


 
 
© 3D-Ring - deutsche 3D Software Community, Archiv 2001 - 2006