aus wiki übernommen und sql erweitert

This commit is contained in:
2026-05-03 14:50:38 +02:00
parent cae9b54ce9
commit 949ae9dafe
19 changed files with 913 additions and 1 deletions
+117
View File
@@ -0,0 +1,117 @@
# 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