feat: initial commit for cable normalizer blender addon

This commit is contained in:
2026-06-02 22:48:54 +02:00
commit 7f677335c4
10 changed files with 1317 additions and 0 deletions

26
operators_get.py Normal file
View File

@@ -0,0 +1,26 @@
import bpy
class KABECK_OT_get_diameter(bpy.types.Operator):
bl_idname = "kabeck.get_diameter"
bl_label = "Set Target from Selected"
bl_description = "Measures the selected cable and sets the Target Diameter to its exact size"
def execute(self, context):
from . import utils
obj = context.active_object
if not obj or obj.type != 'MESH':
self.report({'ERROR'}, "Select a cable first")
return {'CANCELLED'}
depsgraph = context.evaluated_depsgraph_get()
eval_obj = obj.evaluated_get(depsgraph)
dims = [eval_obj.dimensions.x, eval_obj.dimensions.y, eval_obj.dimensions.z]
dims.sort()
internal_scale = utils.get_internal_scale()
# Convert internal units back to mm for the UI
diam_mm = dims[1] / internal_scale if dims[1] > 0.0001 else 13.8
context.scene.normalizer_target_diameter = diam_mm
self.report({'INFO'}, f"Target Diameter set to {diam_mm:.2f} mm")
return {'FINISHED'}