Python-API - Mit dem bpy-Operator um den Scheitelpunkt drehen

Aug 31 2020

Ich möchte ein ausgewähltes Element wie folgt um einen bestimmten Scheitelpunkt drehen:

 vertex.select=true
 bpy.ops.transform.rotate(value=1)

Dieser Code dreht sich grundsätzlich in der Mitte des Begrenzungsrahmens. Ich habe versucht, den Drehpunktcursor und den Cursor manuell zu setzen, aber dies funktioniert nicht.

bpy.context.scene.tool_settings.transform_pivot_point = 'CURSOR'
bpy.context.scene.cursor.location = (1,1,1)
    
bpy.ops.transform.rotate(value=1)

Das Ergebnis ist immer noch eine Drehung mit der Achse am Objektmittelpunkt.

Ich suche nach einer einfachen Lösung auf Skriptebene für dieses Problem.

Antworten

1 mugnozzo Aug 31 2020 at 19:42

Das bpy.ops.transform.rotate()dreht sich um den Ursprung des Objekts.

Sie können tun, bpy.ops.transform.rotate(value=yourValue,center_override=(x,y,z))wo x, y und z die x, y und z des Scheitelpunkts sind.

Grundsätzlich überschreibt der center_override die Drehpunktposition.