[PYTHON] [Blender] So legen Sie die Auswahlelemente von EnumProperty dynamisch fest

Blender verfügt über Funktionen vom Typ Eigenschaft, die eine Benutzeroberfläche bereitstellen, über die Benutzer Werte angeben können. Unter diesen befindet sich EnumProperty **, das ein ** Auswahlfeld erstellt. Es gab kein Problem mit dieser Funktion und dem statischen Einstellen der Auswahl, aber ich war ein wenig verwirrt, als ich die Auswahl dynamisch einstellte, also für diejenigen, die das gleiche Problem hatten Ich möchte vorstellen.

Stellen Sie die Auswahl statisch ein

Das Folgende ist ein Beispielcode zum statischen Festlegen der Auswahl zum Vergleich mit dem Fall des dynamischen Einstellens. ** Ein Auswahlfeld wird erstellt, indem die zuvor in Elementen ** erstellte Liste angegeben wird.

static_append.py


import bpy
from by.props import *

#Elemente, die Sie im Auswahlfeld anzeigen möchten
axis = (
    ("X", "X-axis", ""),      # (Kennung,Anzeigename der Benutzeroberfläche,Erläuterungstext)
    ("Y", "Y-axis", ""),
    ("Z", "Z-axis", ""))

transform_axis = EnumProperty(
    name = "Transform Axis",          #Name
    description = "Transform Axis",   #Erläuterungstext
    items = axis)                     #Artikelliste, die im Auswahlfeld angezeigt werden soll

Auswahl dynamisch einstellen

Als nächstes wird der Beispielcode gezeigt, der die Auswahlelemente dynamisch festlegt. Hier gibt ** item eine Funktion zum Erstellen einer Artikelliste ** an.

dynamic_append.py


import bpy
from bpy.props import *

#
def get_object_list_callback(scene, context):
    items = []
    #...

    return items

object_list = EnumProperty(
    name = "Object List",               #
    description = "Object List",        #
    items = get_object_list_callback)   #** Die in items angegebene Funktion wird jedes Mal aufgerufen, wenn auf die Variable object_list verwiesen wird **, sodass die Auswahlelemente dynamisch festgelegt werden können. Funktion zum Erstellen der Artikelliste, die Sie im Auswahlfeld anzeigen möchten Prozess zum Hinzufügen von Artikeln zu Artikeln Name Beschreibung Funktion zum Erstellen der Artikelliste

Referenzinformationen

Recommended Posts

[Blender] So legen Sie die Auswahlelemente von EnumProperty dynamisch fest
[Blender] So ermitteln Sie die Auswahlreihenfolge von Scheitelpunkten, Seiten und Flächen eines Objekts
So stellen Sie die Ausgabeauflösung für jeden Keyframe in Blender ein
[Blender] So legen Sie shape_key mit dem Skript fest
So überprüfen Sie die Version von Django
So stellen Sie die Serverzeit auf japanische Zeit ein
So richten Sie die Entwicklungsumgebung von ev3dev ein [Windows-Version]
So berechnen Sie die Volatilität einer Marke
So finden Sie den Bereich des Boronoi-Diagramms
Wie man die Portnummer des xinetd-Dienstes kennt
So ermitteln Sie die Anzahl der Stellen in Python
Wie Sie das aktuelle Verzeichnis in Python in Blender kennen
So erstellen Sie ein Untermenü mit dem Plug-In [Blender]
Die Entscheidung von scikit-learn Wie man ein Holzmodell visualisiert
[Blender] Zusammenfassung der Installation / Aktualisierung / Deinstallation von Add-Ons
Setzen Sie die angegebene Spalte von QTableWidget auf ReadOnly StyledItemDelegate
[Einführung in die Udemy Python3 + -Anwendung] 30. Verwendung des Sets
[Python] Zusammenfassung, wie die Farbe der Figur angegeben wird
Wie man das Dokument der magischen Funktion (Linienmagie) trifft
So greifen Sie auf die globale Variable des importierten Moduls zu
[Selen] Wie wird der relative Pfad des Chromedriver angegeben?
Verwendung des Generators
Wie benutzt man den Dekorateur?
So erhöhen Sie die Achse
So starten Sie die erste Projektion
So erhöhen Sie die Verarbeitungsgeschwindigkeit der Erfassung der Scheitelpunktposition
[Ubuntu] So löschen Sie den gesamten Inhalt des Verzeichnisses
So finden Sie die optimale Anzahl von Clustern für k-means
So testen Sie die Attribute, die durch add_request_method of pyramid hinzugefügt wurden
[Blender] Kennen Sie den Auswahlstatus von versteckten Objekten im Outliner
[Python] So legen Sie Variablennamen dynamisch fest und vergleichen die Geschwindigkeit
So legen Sie das HTML-Klassenattribut in Djangos forms.py fest
Berechnen des aus ABC134-D gelernten Rechenaufwands
(Hinweis) So übergeben Sie den Pfad Ihres eigenen Moduls
So führen Sie die Exportfunktion des GCP-Datenspeichers automatisch aus
So erhöhen Sie die Anzahl der Datensatzbilder für maschinelles Lernen
So sehen Sie den Inhalt der ipynb-Datei des Jupyter-Notizbuchs
So ermitteln Sie den Skalierungskoeffizienten eines bipolaren Wavelets
So setzen Sie das Datum des erweiterten ISO8601-Formats auf den Dataframe-Index
So verbinden Sie den Inhalt der Liste mit einer Zeichenfolge
Wie berechnet man den Autokorrelationskoeffizienten?
So erhalten Sie den NTP-Servernamen per DHCP und legen ihn fest
So bestimmen Sie die Existenz eines Selenelements in Python
So ändern Sie die Protokollstufe von Azure SDK für Python
Verwendung des optparse-Moduls
Extrahieren Sie den Index der ursprünglichen Mengenliste, der der Liste der Teilmengen entspricht.
So implementieren Sie Java-Code im Hintergrund von Red Hat (Linux ONE)
Wie Sie die interne Struktur eines Objekts in Python kennen
Zusammenfassung der Verwendung von pandas.DataFrame.loc
So ändern Sie die Farbe nur der mit Tkinter gedrückten Taste
So erhalten Sie die ID von Type2Tag NXP NTAG213 mit nfcpy
[EC2] So installieren Sie Chrome und den Inhalt jedes Befehls
So überprüfen Sie die Speichergröße einer Variablen in Python
Erstellen Sie das Thema von Pythonista 3 wie Monokai (wie Sie Ihr eigenes Thema erstellen)
[Python] So erhalten Sie den ersten und den letzten Tag des Monats
Lesen des SNLI-Datensatzes
So erhalten Sie die Python-Version
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
[TensorFlow 2] So überprüfen Sie den Inhalt von Tensor im Diagrammmodus
[Linux] Deaktivieren der automatischen Aktualisierung der Datei /etc/resolv.conf (AmazonLinux2)