diff --git a/src/bonsai/bonsai/bim/module/model/decorator.py b/src/bonsai/bonsai/bim/module/model/decorator.py index 508b611981..bee578af3e 100644 --- a/src/bonsai/bonsai/bim/module/model/decorator.py +++ b/src/bonsai/bonsai/bim/module/model/decorator.py @@ -352,7 +352,7 @@ class PolylineDecorator: def calculate_measurement_x_y_and_z(self, context): polyline_data = context.scene.BIMPolylineProperties.insertion_polyline - polyline_points = polyline_data[0].polyline_points if len(polyline_data) > 0 else [] + polyline_points = polyline_data[0].polyline_points if polyline_data else [] if len(polyline_points) == 0 or len(polyline_points) > 2: return None, None @@ -411,7 +411,7 @@ class PolylineDecorator: self.line_shader.uniform_float("lineWidth", 2.0) decorator_color = self.addon_prefs.decorator_color_special polyline_data = context.scene.BIMPolylineProperties.insertion_polyline - polyline_points = polyline_data[0].polyline_points if len(polyline_data) > 0 else [] + polyline_points = polyline_data[0].polyline_points if polyline_data else [] prop = context.scene.BIMPolylineProperties.product_preview points = [] @@ -526,7 +526,7 @@ class PolylineDecorator: rv3d = region.data measure_type = context.scene.MeasureToolSettings.measure_type polyline_data = context.scene.BIMPolylineProperties.insertion_polyline - polyline_points = polyline_data[0].polyline_points if len(polyline_data) > 0 else [] + polyline_points = polyline_data[0].polyline_points if polyline_data else [] self.addon_prefs = tool.Blender.get_addon_preferences() self.font_id = 1 @@ -673,7 +673,7 @@ class PolylineDecorator: # Create polyline with selected points polyline_data = context.scene.BIMPolylineProperties.insertion_polyline - polyline_points = polyline_data[0].polyline_points if len(polyline_data) > 0 else [] + polyline_points = polyline_data[0].polyline_points if polyline_data else [] polyline_verts = [] polyline_edges = [] for point_prop in polyline_points: diff --git a/src/bonsai/bonsai/bim/module/model/wall.py b/src/bonsai/bonsai/bim/module/model/wall.py index cd892710eb..578dc9f978 100644 --- a/src/bonsai/bonsai/bim/module/model/wall.py +++ b/src/bonsai/bonsai/bim/module/model/wall.py @@ -521,7 +521,7 @@ class DumbWallGenerator: def derive_from_polyline(self): polyline_data = bpy.context.scene.BIMPolylineProperties.insertion_polyline - polyline_points = polyline_data.polyline_points + polyline_points = polyline_data[0].polyline_points if polyline_data else [] is_polyline_closed = False if len(polyline_points) > 3: first_vec = Vector((polyline_points[0].x, polyline_points[0].y, polyline_points[0].z)) diff --git a/src/bonsai/bonsai/tool/polyline.py b/src/bonsai/bonsai/tool/polyline.py index 8e89b7e4ec..15fb93cf7d 100644 --- a/src/bonsai/bonsai/tool/polyline.py +++ b/src/bonsai/bonsai/tool/polyline.py @@ -305,8 +305,8 @@ class Polyline(bonsai.core.tool.Polyline): base_vertices = [] top_vertices = [] - polyline_data = context.scene.BIMPolylineProperties.insertion_polyline[0] - polyline_points = polyline_data.polyline_points + polyline_data = context.scene.BIMPolylineProperties.insertion_polyline + polyline_points = polyline_data[0].polyline_points if polyline_data else [] if len(polyline_points) < 2: context.scene.BIMPolylineProperties.product_preview.clear() return @@ -561,7 +561,7 @@ class Polyline(bonsai.core.tool.Polyline): @classmethod def close_polyline(cls): polyline_data = bpy.context.scene.BIMPolylineProperties.insertion_polyline - polyline_points = polyline_data[0].polyline_points if len(polyline_data) > 0 else [] + polyline_points = polyline_data[0].polyline_points if polyline_data else [] if len(polyline_points) > 2: first_point = polyline_points[0] last_point = polyline_points[-1] @@ -578,13 +578,13 @@ class Polyline(bonsai.core.tool.Polyline): @classmethod def remove_last_polyline_point(cls): polyline_data = bpy.context.scene.BIMPolylineProperties.insertion_polyline - polyline_points = polyline_data[0].polyline_points if len(polyline_data) > 0 else [] + polyline_points = polyline_data[0].polyline_points if polyline_data else [] polyline_points.remove(len(polyline_points) - 1) @classmethod def move_polyline_to_measure(cls, context, input_ui): polyline_data = bpy.context.scene.BIMPolylineProperties.insertion_polyline - polyline_points = polyline_data[0].polyline_points if len(polyline_data) > 0 else [] + polyline_points = polyline_data[0].polyline_points if polyline_data else [] measurement_data = bpy.context.scene.BIMPolylineProperties.measurement_polyline.add() measurement_type = bpy.context.scene.MeasureToolSettings.measure_type measurement_data.measurement_type = measurement_type diff --git a/src/bonsai/bonsai/tool/snap.py b/src/bonsai/bonsai/tool/snap.py index b3a02fd18b..719941591f 100644 --- a/src/bonsai/bonsai/tool/snap.py +++ b/src/bonsai/bonsai/tool/snap.py @@ -124,7 +124,7 @@ class Snap(bonsai.core.tool.Snap): default_container_elevation = tool.Ifc.get_object(tool.Root.get_default_container()).location.z polyline_data = bpy.context.scene.BIMPolylineProperties.insertion_polyline - polyline_points = polyline_data[0].polyline_points if len(polyline_data) > 0 else [] + polyline_points = polyline_data[0].polyline_points if polyline_data else [] if polyline_points: last_point_data = polyline_points[-1] last_point = Vector((last_point_data.x, last_point_data.y, last_point_data.z))