-
Notifications
You must be signed in to change notification settings - Fork 22
Description
Hey guys! I just want to start by saying that your work is awesome! However (here it comes!) I think it is important to have a more comprehensive comparison of dotbim and IFC so that people understand the strengths of each and know which to use for their purpose. The table seemed a little simplistic right now. Would you be interested in updating the README comparison table with some of these differences?
- Serialisation. dotbim is JSON only. IFC is serialisation agnostic, including SPF, JSON, XML, HDF5, TTL, SQLITE, ZIP. Obviously the latter adds complexity (both docs and implementation) in exchange for portability.
- Schema definition. dotbim seems to be described with C#. This is great for those in the C# ecosystem and comes with the lib prepackaged. Outside, especially on Linux, perhaps not so fun. IFC is defined in EXPRESS, UML, and OWL, but actual language classes/bindings are provided by third party library developers. Again, a tradeoff in a rapid hello world in a language and tech stack flexibility.
- Scope. dotbim seems to optimise simplicity: meshes with key value pairs. IFC is designed for more domains: structural analysis, profile libraries, energy analysis, tasks and sequencing, textures, facility management, building operations, events, procedures, lifecycle flows, cost databases and schedules, and so on. These primarily non-geometric usecases are what make IFC cool, but as a trade off, comes with an extra 99 pages of docs :)
- Classification. dotbim seems to be classification agnostic, this is pretty awesome! IFC comes built-in with an implicit classification system (though it can be ignored) which is sometimes a requirement of other standards (e.g. COBie). This difference makes dotbim far easier to use as you don't need to learn another vocabulary, but can be harder to collaborate if people use different classifications.
- Ecosystem. Early days, but exciting days, for dotbim! Obviously with a 25 year headstart and a ton of funding IFC has its creepers everywhere for better or for worse and the apps and developer libraries that exist are more mature.
- Standardisation. dotbim is not an ISO standard. IFC is. This means dotbim is much more nimble and can adapt to user needs faster. However, it also means that governments and neutral parties or those who need stability are more likely to prescribe IFC. As an ISO standard, it also integrates other standards: gbXML explicitly references IFC for energy analysis, Brickschema has a two-way IFC integration for building management systems, IFC textures and shaders are compatible with X3D and glTF, and so on. So whereas dotbim can translate to other things, it probably won't quite get the "native" integration that ISO standards do.
It's probably good to have IFC on the comparison table because IFC is stupidly popular, but at the same time has such a strikingly different audience: things like ISO, tech agnosticism, and an appetite for building scope that is downright scary - but many people either don't know what IFC can do, or they do, but they legitimately want a more lightweight solution.
To emphasize what makes dotbim truly awesome, it'd be good to perhaps add some other libraries that have a similar scope to dotbim (as opposed to IFC which is at the other end of the spectrum). Maybe https://hypar-io.github.io/Elements/index.html Hypar Elements or Speckle Objects https://speckle.guide/dev/objects.html comes to mind.
Keep up the great work! I've added dotbim to https://wiki.osarch.org/index.php?title=AEC_Open_Data_Standards_Directory :)