You can now split objects using a drawn edge, especially useful when creating slab pour breaks and fixing lazily modeled walls and columns. Thanks Gorgious56!

This commit is contained in:
Dion Moult
2021-10-27 12:06:12 +11:00
parent 04b3b9b60e
commit f69de3324a
12 changed files with 117 additions and 4 deletions
@@ -35,3 +35,16 @@ Scenario: Resize to storey
And I press "bim.assign_container(structure={storey})"
When I press "bim.resize_to_storey"
Then nothing happens
Scenario: Split along edge
Given an empty IFC project
And I add a cube
And the object "Cube" is selected
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
And I press "bim.assign_class"
And I add a plane of size "4" at "0,0,0"
And the object "IfcWall/Cube" is selected
And additionally the object "Plane" is selected
When I press "bim.split_along_edge"
Then the object "IfcWall/Cube" is an "IfcWall"
And the object "IfcWall/Cube.001" is an "IfcWall"
+6
View File
@@ -105,6 +105,12 @@ def i_add_a_cube_of_size_size_at_location(size, location):
bpy.ops.mesh.primitive_cube_add(size=float(size), location=[float(co) for co in location.split(",")])
@given(parsers.parse('I add a plane of size "{size}" at "{location}"'))
@when(parsers.parse('I add a plane of size "{size}" at "{location}"'))
def i_add_a_plane_of_size_size_at_location(size, location):
bpy.ops.mesh.primitive_plane_add(size=float(size), location=[float(co) for co in location.split(",")])
@given(parsers.parse('I press "{operator}"'))
@when(parsers.parse('I press "{operator}"'))
def i_press_operator(operator):