This file lists "exercises" to be performed by a BIM application to achieve adequate round-tripping with IFC files. The application should successfully complete all the steps.
The application should be able to export and import an IFC file containing three IfcBuildingElementProxy entities, each with one representation, which is an IfcExtrudedAreaSolid, each based on IfcArbitraryClosedProfileDef made of an IfcPolyline, like the example below. One profile should lie on the XY plane, one in the YZ plane, and a third on a plane made of one of the former rotated 45° along the Y axis. Extrusion directions should be normal to the profiles.
Test files here: [FreeMVD_WorkFlow/Specifications_Test_Files/Extrusions/](https://github.com/OpeningDesign/FreeMVD_WorkFlow/tree/master/Specifications_Test_Files/Extrusions)
Mapped Items, which go by many different names in different BIM apps (a few called out below), are objects where the definition of one object is connected to another. That is, if one istance is modified, these changes will also be reflected in other connected or linked instances.
Test files here: [Specifications_Test_Files/Mapped_Items/](https://github.com/OpeningDesign/FreeMVD_WorkFlow/tree/master/Specifications_Test_Files/Mapped_Items)
The application should be able to export and import an IFC file containing four objects, two extruded rectangles and two extruded circles (four IfcBuildingElementProxy entities, two of them made of an IfcExtrudedAreaSolid of an IfcRectangleProfileDef, and two of an IfcCircleProfileDef). One rectangle and one circle should be placed on the ground XY plane, and one rectangle and one circle in any other arbitrary plane.
* The extrusion directions and profile positions are correct
* The extrusions can be changed after import
* The height or width of the rectangles can be changed independently after import
* The radius of the circles can be changed after import
### Export criteria
* The exported IFC file contains four
* IfcBuildingElementProxy, each with an
* IfcExtrudedAreaSolid as its representation, two with an
* IfcRectangleProfileDef and two with an
* IfcCircleProfileDef
### Results
Test files here: [FreeMVD_WorkFlow/Specifications_Test_Files/Circles_Rectangles/](https://github.com/OpeningDesign/FreeMVD_WorkFlow/tree/master/Specifications_Test_Files/Circles_Rectangles)