I use the concept of closed volumes/areas representing zones, both for input for thermal simulations but also for visualizing data in 3D. Previously I have used IfcSpaces created from Revit rooms/spaces/zones or ArchiCAD zones/thermal blocks. I am now thinking of using Speckle instead of IFC and that raises a few questions.
Are Revit Rooms/Spaces and ArchiCAD Zones the same object type in Speckle? Preferable I would not like to care if the data came from Revit or ArchiCAD.
If I would like to send Room-/Zone-data back to Revit and ArchiCAD, could I use the same object in Speckle?
Sidenote besides your technical question @MaxT: You would make us at B+G very happy if IDA ICE would move in this direction … and if the team of Speckle enables the path for you
As you might understand I am looking into using Speckle as an alternative to using IFC for exchanging data between IDA ICE and BIM tools. There are a few problems:
Thermal simulations are often very simplified regarding geometry. For example walls are 2-dimensional and many objects ignored. The level of detail also varies with the type of simulation (energy, comfort, daylight, airflow, …).
Some imortant objects are usually not found in BIM-models, for example sensors, controller logic and detailed fenestration data. Also the concept of building bodies is not found in most BIM-models.
Few of our current users have access to BIM-tools so they need to convince other project members/architects to export data as Speckle streams instead of IFC.
Still, Speckle is very interesting and I would love to have a Speckle connector for IDA ICE. Initially the most iportant objects are thermal zones, shading geometries, windows/tranparent curtain panels and some basic room data and that might not be that difficult.
Yes (i guess). They are both part of the same Room class.
Archicad Zones → Objects.BuiltElements.Room:Objects.BuiltElements.Archicad.ArchicadRoom
Revit Rooms → Objects.BuiltElements.Room
Yes, and no. If the application id of the object coming back to Revit and Archicad is the same as the object you send, it would update. But if you are sending from Blender, it wouldn’t have the same applicationId. So you have to manually override this id to make it work.