Blender Scripting: Indizes ausgewählter Vertices

8

F: In Blender 2.64 habe ich ein Gitter im Bearbeitungsmodus mit einigen ausgewählten Scheitelpunkten. Wie kann ich eine Liste von Indizes der ausgewählten Scheitelpunkte in einem Python-Skript erhalten oder generieren?

Ich finde die Blender-Python-API-Referenz äußerst verwirrend, um zu navigieren, und Google verweist hauptsächlich auf veraltete APIs. Dies ist hoffentlich trivial für die Blender-Skript-Profis.

Die Indizes sollten konsistent mit den Vertex-Indizes in einem OBJ-Export des Mesh sein. Ich möchte ein Skript schreiben, das die Vertex-Indizes in eine Textdatei exportiert, um auf diese Vertices in einem C ++ - Programm zuzugreifen.

    
DCS 15.03.2013, 10:21
quelle

3 Antworten

8

Ihr Code funktioniert nur zuverlässig, wenn Sie vor dem Ausführen in den Objektmodus wechseln. Der Grund dafür ist, dass die Maschendaten im Bearbeitungsmodus nicht mit dem Mesh aus dem Objektmodus synchronisiert sind. Dies geschieht, wenn Sie zurück in den Objektmodus wechseln. Sie können dies überprüfen, indem Sie in den Bearbeitungsmodus wechseln, einige Scheitelpunkte von Ihrem Objekt auswählen, Ihren Code ausführen und dann verschiedene Scheitelpunkte (noch im Bearbeitungsmodus) auswählen und das Skript erneut ausführen. Sie werden feststellen, dass sich Ihre Liste der ausgewählten Scheitelpunkte in der Python-Konsole nicht ändert. Dieses Verhalten ist dokumentiert . Um die ausgewählten Scheitelpunkte im Bearbeitungsmodus zu erhalten, kann der folgende Code als erster Zeiger dienen (getestet mit 2.66.5 r56033):

%Vor%

Aktivieren / deaktivieren Sie die Knoten und führen Sie das Skript aus, damit sich die Scheitelpunkte ändern.

    
hochl 21.04.2013, 00:07
quelle
6

Endlich gefunden in einem Blog , schön und kompakt:

%Vor%

Es ist tatsächlich konsistent mit der Vertex-Reihenfolge im OBJ-Export (Blender.2.64).

    
DCS 15.03.2013 12:59
quelle
2

Führen Sie im Bearbeitungsmodus basierend auf @hochl und @DCS folgende Zeile in der Python-Konsole aus:

%Vor%

* Blender Version 2.70 (2.70, 2014-Apr-10)

    
Nianliang 11.08.2014 16:44
quelle

Tags und Links