General Discussion Undecided where to post - do it here. |
|
![]() |
#1 |
|
I'm running quite frequently into issues importing IFC files. Also I guess I will do some refactoring of the IFC importer soon. Both are good reasons to have some kind of test framework for importing IFC files. So maybe that's where I will start, but I have some questions:
1) I actually have a number of IFC test files and wonder where to put them to make them available to everybody. Some a very small and focus on specific aspects like what's side 1 and side 2 of a wall. Others are full models exported from ArchiCAD and Revit with different settings to explore the possibilities of IFC a bit. Some of the latter are huge. I guess it might make sense to submit some of the more interesting ones for git, but it probably doesn't make sense to force gigabytes of IFC files onto everybody. Also the IFC files aren't supposed to change, so putting them under version control probably is of no benefit other then as convenient distribution method. Obviously when doing systematic testing of the importer, we want everybody to be able to contribute files. So where/how do we collect them? 2) We probably don't want to include IFC import tests in the official tests, because of three reasons: a) ifcopenshell is not available on everywhere and the test would fail then. b) Running such a test suite will require lots of CPU time and also lots of RAM for some tests. c) Probably quite some tests will be failing for the forseeable future. (a) would be easy to work around, but (b) seems like a hard limit: Don't make everybody wait hours before submitting a PR, just because they have ifcopenshell installed locally. I see two solutions to (1) and (2) ATM: a) Include the test framework and a small collection of particularly interesting but small IFC files into FreeCAD proper and have a large collection of additional IFC files somewhere else. b) Have the test framework as an external workbench/module and also collect all the IFC test files there. I'm leaning towards (b), but I'm asking you for ideas and opinions. 3) Which tests to we want to implement? This is my list of ideas so far: a) Import a file twice with different settings into different documents. Then check if we ended up with the same geometry. This would test things like clone handling. b) Compare the calculated properties from the geoemetry (like volume) with the values declared in the IFC file. Most of this seems to be in ArchiCAD specific property sets, so maybe it isn't worth it? c) Compare imported objects with a reference file saved in FCStd format. This would detect regressions. d) Your idea here! |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|