# Blender ## Vom Cursor eine Linie in negativer y-Richtung mit Länge 11.2 mm ```python import bpy from mathutils import Vector # Definiere die Länge der Linie line_length = -1.12 # 11.2 mm # Hole die 3D-Cursor-Position cursor_position = bpy.context.scene.cursor.location # Berechne die Endposition der Linie end_position = cursor_position + Vector((line_length, 0, 0)) # Erstelle eine neue Linie vertices = [cursor_position, end_position] edges = [(0, 1)] mesh = bpy.data.meshes.new(name="LineMesh") line_obj = bpy.data.objects.new(name="LineObject", object_data=mesh) bpy.context.collection.objects.link(line_obj) mesh.from_pydata(vertices, edges, []) mesh.update() ``` ## Ein bestehendes Objekt mittel bmesh verändern https://www.youtube.com/watch?v=TFQMNcTj5Jw ```python import bpy import bmesh # Holen einer Referenz auf das aktuelle Objekt mesh_obj = bpy.context.active_object # Erzeugen eines neuen bmesh-Objektes bm = bmesh.new() # Initialisieren des bmesh-Objektes mit den Daten des vorhandenen Objektes bm.from_mesh(mesh_obj.data) bmesh.ops.bevel(bm, geom=bm.verts, offset=0.5) # Schreiben der bmesh-Daten in die mesh-Daten bm.to_mesh(mesh_obj.data) # Optional: updaten der mesh-Daten mesh_obj.data.update() # freigeben des Speichers der von bmesh genutzt wurde bm.free() ``` ![](/Volumes/Daten02/Projekte/Snippets/Blender1.png) ```python import bpy import bmesh # Holen einer Referenz auf das aktuelle Objekt mesh_obj = bpy.context.active_object # Erzeugen eines neuen bmesh-Objektes bm = bmesh.new() # Initialisieren des bmesh-Objektes mit den Daten des vorhandenen Objektes bm.from_mesh(mesh_obj.data) bmesh.ops.bevel( bm, geom=bm.edges, offset=0.2, segments=4, affect="EDGES", profile=0.5, ) # Schreiben der bmesh-Daten in die mesh-Daten bm.to_mesh(mesh_obj.data) # Optional: updaten der mesh-Daten mesh_obj.data.update() # freigeben des Speichers der von bmesh genutzt wurde bm.free() ``` ![Blender2](/Volumes/Daten02/Projekte/Snippets/Blender2.png) ## Erzeugen eines Objektes von stretch ``` import bpy obj_name = "my_shape" # Erzeugen der mesh Daten mesh_data = bpy.data.meshes.new(f"{obj_name}_data") # Erzeugen des Mesh-Objektes unter Nutzng der Mesh-Daten mesh_obj = bpy.data.objects.new(obj_name, mesh_data) # Hinzufügen des Mesh-Obektes zur Szene bpy.context.scene.collection.objects.link(mesh_obj) ``` ![](/Volumes/Daten02/Projekte/Snippets/2024-03-25_18-39.png) https://www.youtube.com/watch?v=N3U2noAHgBo&t=88s