From 0e9c4159a706ded8d911c1b028e274c5bc6486e7 Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Tue, 12 May 2020 10:29:07 +0200 Subject: [PATCH] Create IFC_roundtrip_specifications.md --- IFC_roundtrip_specifications.md | 40 +++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 IFC_roundtrip_specifications.md diff --git a/IFC_roundtrip_specifications.md b/IFC_roundtrip_specifications.md new file mode 100644 index 0000000..6be1d9e --- /dev/null +++ b/IFC_roundtrip_specifications.md @@ -0,0 +1,40 @@ +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. + +## 1. importing and exporting a simple extrusion + +The application should be able to export and import an IFC file containing one IfcBuildingElementProxy +entity, with one representation, which is an IfcExtrudedAreaSolid, based on an IfcArbitraryClosedProfileDef +made of an IfcPolyline, like the example below: + +``` + #20= IFCBUILDINGELEMENTPROXY('0ohBfsArr3ruXYxacT4yl5',#1,'NOTDEFINED',$,$,#2,#21,$,.NOTDEFINED.); + #21= IFCPRODUCTDEFINITIONSHAPE($,$,(#22)); + #22= IFCSHAPEREPRESENTATION(#9,'Body','SweptSolid',(#23)); + #23= IFCEXTRUDEDAREASOLID(#24,$,#25,2000.); + #24 = IFCARBITRARYCLOSEDPROFILEDEF(.AREA., $, #26); + #26 = IFCPOLYLINE((#27, #28, #29, #30)); + #27 = IFCCARTESIANPOINT((0., 0.)); + #28 = IFCCARTESIANPOINT((1000., 0.)); + #29 = IFCCARTESIANPOINT((1000., 1000.)); + #30 = IFCCARTESIANPOINT((0., 1000.)); + #25= IFCDIRECTION((0.,0.,1.)); +``` + +#### Import criteria + +* The extrusion can be changed after import +* The base polyline can be edited after import + +#### Export criteria + +* The exported IFC file contains an IfcBuildingElementProxy, with an IfcExtrudedAreaSolid as its representation +and an IfcArbitraryClosedProfileDef made of an IfcPolyline as its profile + +#### Results + +| | BlenderBIM | FreeCAD | Revit | ArchiCAD | BricsCAD | +| -------------- | ---------- | ------- | -------- | -------- | -------- | +| passed? | | | | | | +| exported file: | | | | | | +| imported file: | | | | | |