Fix terrible bug #1819 where duplicating mapped elements didn't actually copy the geometry mapping.

This commit is contained in:
Dion Moult
2021-10-22 11:16:03 +11:00
parent 9ae2c6352a
commit a8c99cebaf
10 changed files with 139 additions and 10 deletions
@@ -89,3 +89,19 @@ Scenario: Override duplicate move - with active IFC data
And the object "IfcWall/Cube.001" is an "IfcWall"
And the object "IfcBuildingStorey/My Storey.001" exists
And the object "IfcBuildingStorey/My Storey.001" is an "IfcBuildingStorey"
Scenario: Override duplicate move - copying a type instance with a representation map
Given an empty IFC project
And I add a cube
And the object "Cube" is selected
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
And I press "bim.assign_class"
And I set "scene.BIMTypeProperties.ifc_class" to "IfcWallType"
And the variable "cube" is "{ifc}.by_type('IfcWallType')[0].id()"
And I set "scene.BIMTypeProperties.relating_type" to "{cube}"
And I press "bim.add_type_instance"
And the object "IfcWall/Instance" is selected
When I press "object.duplicate_move"
Then the object "IfcWall/Instance.001" exists
And the object "IfcWall/Instance.001" has a "MappedRepresentation" representation of "Model/Body/MODEL_VIEW"
@@ -0,0 +1,28 @@
@model
Feature: Model
Scenario: Add type instance - add from a mesh
Given an empty IFC project
And I add a cube
And the object "Cube" is selected
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
And I press "bim.assign_class"
And I set "scene.BIMTypeProperties.ifc_class" to "IfcWallType"
And the variable "cube" is "{ifc}.by_type('IfcWallType')[0].id()"
And I set "scene.BIMTypeProperties.relating_type" to "{cube}"
When I press "bim.add_type_instance"
Then the object "IfcWall/Instance" exists
Scenario: Add type instance - add from an empty
Given an empty IFC project
And I add an empty
And the object "Empty" is selected
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
And I press "bim.assign_class"
And I set "scene.BIMTypeProperties.ifc_class" to "IfcWallType"
And the variable "empty" is "{ifc}.by_type('IfcWallType')[0].id()"
And I set "scene.BIMTypeProperties.relating_type" to "{empty}"
When I press "bim.add_type_instance"
Then the object "IfcWall/Instance" exists