From 959f05d15427405ac92456bbe62eb85a9723280c Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Tue, 12 Sep 2023 13:30:50 +0500 Subject: [PATCH] shapebuilder - replace y extrusion args with shortcut for readibility --- src/blenderbim/blenderbim/bim/module/model/opening.py | 8 ++------ src/blenderbim/blenderbim/bim/module/model/window.py | 4 +--- src/blenderbim/scripts/generate_furniture_library.py | 3 +-- .../ifcopenshell/api/geometry/add_door_representation.py | 4 +--- .../api/geometry/add_window_representation.py | 8 ++------ 5 files changed, 7 insertions(+), 20 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/opening.py b/src/blenderbim/blenderbim/bim/module/model/opening.py index 714f88f73f..4b4fe6c8e4 100644 --- a/src/blenderbim/blenderbim/bim/module/model/opening.py +++ b/src/blenderbim/blenderbim/bim/module/model/opening.py @@ -274,9 +274,7 @@ class FilledOpeningGenerator: get_curve_2d_from_3d(profile), magnitude=thickness / unit_scale, position=Vector([0.0, -thickness * 0.5 / unit_scale, 0.0]), - position_x_axis=Vector((1, 0, 0)), - position_z_axis=Vector((0, -1, 0)), - extrusion_vector=Vector((0, 0, -1)), + **shape_builder.extrude_kwargs("Y") ) return shape_builder.get_representation(context, [extrusion]) @@ -309,9 +307,7 @@ class FilledOpeningGenerator: shape_builder.rectangle(size=opening_size), magnitude=thickness / unit_scale, position=opening_position, - position_z_axis=Vector((0.0, -1.0, 0.0)), - position_x_axis=Vector((1.0, 0.0, 0.0)), - extrusion_vector=Vector((0.0, 0.0, -1.0)), + **shape_builder.extrude_kwargs("Y") ) return shape_builder.get_representation(context, [extrusion]) diff --git a/src/blenderbim/blenderbim/bim/module/model/window.py b/src/blenderbim/blenderbim/bim/module/model/window.py index 96d3cd5a6b..24499ee6b6 100644 --- a/src/blenderbim/blenderbim/bim/module/model/window.py +++ b/src/blenderbim/blenderbim/bim/module/model/window.py @@ -68,9 +68,7 @@ def update_simple_openings(element, opening_width, opening_height): shape_builder.rectangle(size=Vector([opening_width, 0.0, opening_height]).xz), magnitude=thickness / unit_scale, position=Vector([0.0, -0.1 / unit_scale, 0.0]), - position_x_axis=V(1, 0, 0), - position_z_axis=V(0, -1, 0), - extrusion_vector=V(0, 0, -1), + **shape_builder.extrude_kwargs("Y") ) new_representation = shape_builder.get_representation(context, extrusion) diff --git a/src/blenderbim/scripts/generate_furniture_library.py b/src/blenderbim/scripts/generate_furniture_library.py index d18920e900..a6153a30a3 100644 --- a/src/blenderbim/scripts/generate_furniture_library.py +++ b/src/blenderbim/scripts/generate_furniture_library.py @@ -1134,8 +1134,7 @@ class LibraryGenerator: back_wall_extruded = builder.extrude( back_wall, back_wall_depth + back_wall_border_mask_depth, - position_z_axis=V(0, -1, 0), - extrusion_vector=V(0, 0, -1), + **builder.extrude_kwargs("Y") ) items_3d_to_center.append(back_wall_extruded) diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_door_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_door_representation.py index df01f767db..4da8d5b1be 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_door_representation.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_door_representation.py @@ -66,9 +66,7 @@ def create_ifc_door_lining( door_lining = builder.extrude( door_lining, size.y, - position_x_axis=V(1, 0, 0), - position_z_axis=V(0, -1, 0), - extrusion_vector=V(0, 0, -1), + **builder.extrude_kwargs("Y") ) builder.translate(door_lining, position) diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py index 47b2f3745b..94b97636aa 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_window_representation.py @@ -59,10 +59,8 @@ def create_ifc_window_frame_simple( return builder.extrude( profile, size.y, - position_x_axis=V(1, 0, 0), - position_z_axis=V(0, -1, 0), - extrusion_vector=V(0, 0, -1), position=position, + **builder.extrude_kwargs("Y") ) # if all lining sides are present then we can just use two rectangles @@ -212,10 +210,8 @@ def create_ifc_window( glass = builder.extrude( glass_rect, glass_thickness, - position_x_axis=V(1, 0, 0), - position_z_axis=V(0, -1, 0), - extrusion_vector=V(0, 0, -1), position=glass_position, + **builder.extrude_kwargs("Y") ) output_items = [lining_items, frame_extruded_items, [glass]]