diff --git a/src/bonsai/bonsai/bim/prop.py b/src/bonsai/bonsai/bim/prop.py index 7a95de8cc9..33e1812643 100644 --- a/src/bonsai/bonsai/bim/prop.py +++ b/src/bonsai/bonsai/bim/prop.py @@ -577,9 +577,9 @@ class BIMFacet(PropertyGroup): class BIMFilterGroup(PropertyGroup): filters: CollectionProperty(type=BIMFacet, name="filters") + class BIMSnapProperties(PropertyGroup): vertex: BoolProperty(name="Vertex") edge: BoolProperty(name="Edge") edge_center: BoolProperty(name="Edge Center") face: BoolProperty(name="Face") - diff --git a/src/bonsai/bonsai/tool/snap.py b/src/bonsai/bonsai/tool/snap.py index 383f5f8439..394b8ff7c8 100644 --- a/src/bonsai/bonsai/tool/snap.py +++ b/src/bonsai/bonsai/tool/snap.py @@ -407,7 +407,7 @@ class Snap(bonsai.core.tool.Snap): } ) if obj.type == "CURVE": - new_object = bpy.data.objects.new('new_object', obj.to_mesh().copy()) + new_object = bpy.data.objects.new("new_object", obj.to_mesh().copy()) snap_points = tool.Raycast.ray_cast_by_proximity(context, event, new_object) if snap_points: detected_snaps.append( @@ -502,11 +502,10 @@ class Snap(bonsai.core.tool.Snap): for prop in props.__annotations__.keys(): if getattr(props, prop): options.append(props.rna_type.properties[prop].name) - + filtered_points = [point for point in snapping_points if point[1] in options] return filtered_points - snapping_points = [] edges = [] # Get edges to create edge-intersection snap for snap_group in detected_snaps: @@ -562,7 +561,7 @@ class Snap(bonsai.core.tool.Snap): snapping_points.insert(0, (intersection[1], "Edge Intersection", None)) snapping_points = filter_snapping_points_based_on_settings(snapping_points) - + # Make Axis first priority if tool_state.lock_axis or tool_state.axis_method in {"X", "Y", "Z"}: cls.update_snapping_ref(snapping_points[0][0], snapping_points[0][1]) @@ -580,7 +579,6 @@ class Snap(bonsai.core.tool.Snap): cls.update_snapping_point(snapping_points[0][0], snapping_points[0][1], snapping_points[0][2]) return snapping_points - @classmethod def modify_snapping_point_selection(cls, snapping_points, lock_axis=False): shifted_list = snapping_points[1:] + snapping_points[:1]