mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-17 02:49:12 +00:00
Measure tool - added measurement type to each measurement properties.
This commit is contained in:
@@ -752,6 +752,7 @@ class PolylinePoint(PropertyGroup):
|
||||
|
||||
class MeasurePolyline(PropertyGroup):
|
||||
polyline_point: bpy.props.CollectionProperty(type=PolylinePoint)
|
||||
measurement_type: bpy.props.StringProperty(name="Measurement Type")
|
||||
|
||||
|
||||
class BIMPolylineProperties(PropertyGroup):
|
||||
@@ -759,4 +760,4 @@ class BIMPolylineProperties(PropertyGroup):
|
||||
snap_mouse_ref: bpy.props.CollectionProperty(type=SnapMousePoint)
|
||||
polyline_points: bpy.props.CollectionProperty(type=PolylinePoint)
|
||||
product_preview: bpy.props.CollectionProperty(type=PolylinePoint)
|
||||
measure_polyline: bpy.props.CollectionProperty(type=MeasurePolyline)
|
||||
measurement_polyline: bpy.props.CollectionProperty(type=MeasurePolyline)
|
||||
|
||||
@@ -265,7 +265,7 @@ class MeasureDecorator:
|
||||
color = self.addon_prefs.decorations_colour
|
||||
blf.color(self.font_id, *color)
|
||||
|
||||
measure_data = context.scene.BIMPolylineProperties.measure_polyline
|
||||
measure_data = context.scene.BIMPolylineProperties.measurement_polyline
|
||||
for data in measure_data:
|
||||
measurement_prop = data.polyline_point
|
||||
|
||||
@@ -319,7 +319,7 @@ class MeasureDecorator:
|
||||
self.shader = gpu.shader.from_builtin("UNIFORM_COLOR")
|
||||
gpu.state.point_size_set(6)
|
||||
|
||||
measure_data = context.scene.BIMPolylineProperties.measure_polyline
|
||||
measure_data = context.scene.BIMPolylineProperties.measurement_polyline
|
||||
for data in measure_data:
|
||||
polyline_data = data.polyline_point
|
||||
|
||||
|
||||
@@ -2433,7 +2433,7 @@ class MeasureTool(bpy.types.Operator, PolylineOperator):
|
||||
tool.Polyline.calculate_area(context, self.input_ui)
|
||||
|
||||
if event.type == "E":
|
||||
context.scene.BIMPolylineProperties.measure_polyline.clear()
|
||||
context.scene.BIMPolylineProperties.measurement_polyline.clear()
|
||||
MeasureDecorator.uninstall()
|
||||
tool.Blender.update_viewport()
|
||||
|
||||
|
||||
@@ -159,15 +159,17 @@ class Snap(bonsai.core.tool.Snap):
|
||||
@classmethod
|
||||
def move_polyline_to_measure(cls):
|
||||
polyline_data = bpy.context.scene.BIMPolylineProperties.polyline_points
|
||||
measure_data = bpy.context.scene.BIMPolylineProperties.measure_polyline.add()
|
||||
measurement_data = bpy.context.scene.BIMPolylineProperties.measurement_polyline.add()
|
||||
measurement_type = bpy.context.scene.MeasureToolSettings.measure_type
|
||||
measurement_data.measurement_type = measurement_type
|
||||
for point in polyline_data:
|
||||
measure_point = measure_data.polyline_point.add()
|
||||
measure_point.x = point.x
|
||||
measure_point.y = point.y
|
||||
measure_point.z = point.z
|
||||
measure_point.dim = point.dim
|
||||
measure_point.angle = point.angle
|
||||
measure_point.position = point.position
|
||||
measurement_point = measurement_data.polyline_point.add()
|
||||
measurement_point.x = point.x
|
||||
measurement_point.y = point.y
|
||||
measurement_point.z = point.z
|
||||
measurement_point.dim = point.dim
|
||||
measurement_point.angle = point.angle
|
||||
measurement_point.position = point.position
|
||||
|
||||
@classmethod
|
||||
def snap_on_axis(cls, intersection, tool_state, lock_angle=False):
|
||||
@@ -392,7 +394,7 @@ class Snap(bonsai.core.tool.Snap):
|
||||
detected_snaps.append({"Polyline": snap_points})
|
||||
|
||||
# Measure
|
||||
measure_data = context.scene.BIMPolylineProperties.measure_polyline
|
||||
measure_data = context.scene.BIMPolylineProperties.measurement_polyline
|
||||
for measure in measure_data:
|
||||
measure_points = measure.polyline_point
|
||||
snap_points = tool.Raycast.ray_cast_to_measure(context, event, measure_points)
|
||||
|
||||
Reference in New Issue
Block a user