If you're reading this, we've just migrated servers! If anything looks broken please email dion@thinkmoult.com :)

Revit and IFC similarities in high-level logic

edited August 2022 in General

Hi, so I'm a developer who's pretty new to the field of AEC, so forgive my ignorance on this :)

I was wondering how similar the RVT and IFC logic are, on a high level? I understand that they are completely different in that one is proprietary and the other human-readable and so on. What I'm interested in is whether the internal logic is somewhat comparable between the two (e.g. is the dependency tree that IFC has with IfcRoot etc. something to which Revit has a pendant?)

I guess they need to be since you can convert one into the other (though admittedly, Revit does a pretty bad job at it)?

I know I'm being a bit general here, so maybe another example (again, new to the field, so maybe obvious):
I know that in Revit, there isn't really anything relating a room's furniture to the room itself. This is an example of a certain logic (or lack thereof). Would I find the same to be true in IFC files?

Hope I'm being clear!

Tagged:
theoryshaw

Comments

  • I know that in Revit, there isn't really anything relating a room's furniture to the room itself. This is an example of a certain logic (or lack thereof). Would I find the same to be true in IFC files?

    I have some experience with RevitPythonShell and IfcOpenShell, I don't think they're comparable at all. Revit works with elements which they call Builtin Categories, I always had trouble finding good documenation (This is four years ago, maybe it has improved?).
    IFC is way better documented in my opinion and there is a more enthusiastic community around it it seems, or it's my perception. :-)
    I would advise to start reading the BuildingSmart documentation.

    or the osarch wiki
    https://wiki.osarch.org/index.php?title=IFC_-_Industry_Foundation_Classes

    Kind of a general answer, but the question was also generic ;-)

    theoryshawAcecvillagrasa
  • edited August 2022

    Depending on what you mean by "high level logic", there are similarities, some due to the fact that Autodesk did play a significant role in the creation of IFC, and some due to the fact that "that's just the way our industry works". Things like:

    • Types vs occurrences (Revit: types vs instances)
    • Properties grouped into property sets (Revit: parameters grouped into parameter groups)
    • Built in properties, and properties apply to specific IFC classes (Revit: built in parameters, and parameters apply to specific Revit family categories)
    • Elements can have multiple representations (Revit: coarse, medium, fine, 2D symbols)
    • Material layer sets and connection priorities (Revit: wall layers)

    But of course you could ask the same question about ArchiCAD and you will find lots of surface similarities too.

    However as far as the internal class hierarchy goes, the main hierarchy of IFC is significantly different from Revit, because Revit only covers a tiny proportion of BIM. In IFC, which covers a much broader scope, early on there are divisions in the class hierarchy into things like actors, processes, and resources, of which Revit has zero coverage. For these things, such as tasks, you'll see influences come in from other players like Microsoft Project (I've literally seen copy pasted data from the MS Project schema) and vendors like Bexel.

    Similarly for geometry, IFC is incredibly influenced by STEP, and a lot of the geometry classes are basically rebranded existing STEP classes that were battle-tested in fabrication. Revit generally isn't seen as a fabrication tool.

    For textures and materials, IFC was influenced by X3D, which again deviates from Revit quite a bit under the hood.

    theoryshawJanFAcefellowistcvillagrasaCadGirupaullee
  • Exactly the info I was looking for, thanks a lot!

Sign In or Register to comment.