The operational costs of a viewer would be pretty minor.
In terms of development there are two things to consider: processing and interface. If the processing is serverside, there's already a lot of great options and I'd say IfcOpenShell is the best bet. If the processing is clientside, the options are ThatOpenCompany's platform but it doesn't scale and tends to fall flat on larger models, or IfcOpenShell-WASM which is super experimental and no idea how it scales.
For interface, there's tradeoffs with any you pick but none seem to outshine all the others: there's Xeokit, ThatOpenCompany, Cesium, or roll-your-own ThreeJS / BabylonJS. There's also VIM which I haven't investigated.
Comments
What about Speckle ?
https://speckle.systems
Maybe not yet all features available but they develop fast.
The operational costs of a viewer would be pretty minor.
In terms of development there are two things to consider: processing and interface. If the processing is serverside, there's already a lot of great options and I'd say IfcOpenShell is the best bet. If the processing is clientside, the options are ThatOpenCompany's platform but it doesn't scale and tends to fall flat on larger models, or IfcOpenShell-WASM which is super experimental and no idea how it scales.
For interface, there's tradeoffs with any you pick but none seem to outshine all the others: there's Xeokit, ThatOpenCompany, Cesium, or roll-your-own ThreeJS / BabylonJS. There's also VIM which I haven't investigated.