diff --git a/src/bonsai/bonsai/bim/handler.py b/src/bonsai/bonsai/bim/handler.py index f1ee116e75..ca97c4d94d 100644 --- a/src/bonsai/bonsai/bim/handler.py +++ b/src/bonsai/bonsai/bim/handler.py @@ -336,3 +336,9 @@ def load_post(scene): WallAxisDecorator.install(bpy.context) if model_props.show_slab_direction: SlabDirectionDecorator.install(bpy.context) + + if scene := bpy.context.scene: + # Snapping is off by default in Blender, but in BIM, it's more useful to be on + scene.tool_settings.use_snap = True + # Match default Bonsai snaps + scene.tool_settings.snap_elements_base = {"EDGE", "EDGE_PERPENDICULAR", "VERTEX", "EDGE_MIDPOINT", "FACE"} diff --git a/src/bonsai/bonsai/bim/prop.py b/src/bonsai/bonsai/bim/prop.py index 4dcab51c58..6f65744293 100644 --- a/src/bonsai/bonsai/bim/prop.py +++ b/src/bonsai/bonsai/bim/prop.py @@ -588,14 +588,14 @@ class BIMFilterGroup(PropertyGroup): class BIMSnapGroups(PropertyGroup): - object: BoolProperty(name="Object") - polyline: BoolProperty(name="Polyline") - measure: BoolProperty(name="Measure") + object: BoolProperty(name="Object", default=True) + polyline: BoolProperty(name="Polyline", default=True) + measure: BoolProperty(name="Measure", default=True) class BIMSnapProperties(PropertyGroup): - vertex: BoolProperty(name="Vertex") - edge: BoolProperty(name="Edge") - edge_center: BoolProperty(name="Edge Center") - edge_intersection: BoolProperty(name="Edge Intersection") - face: BoolProperty(name="Face") + vertex: BoolProperty(name="Vertex", default=True) + edge: BoolProperty(name="Edge", default=True) + edge_center: BoolProperty(name="Edge Center", default=True) + edge_intersection: BoolProperty(name="Edge Intersection", default=True) + face: BoolProperty(name="Face", default=True)