ifcpatch.recipes.FixArchiCADToRevitDoorSwings#

Module Contents#

class ifcpatch.recipes.FixArchiCADToRevitDoorSwings.Patcher(src, file, logger)#

Fix missing door swings in Revit when viewing ArchiCAD IFCs

ArchiCAD has the ability to store 2D data with objects like doors for door swings. ArchiCAD’s implementation is not 100% correct (using footprint instead of annotation contexts), but otherwise not too shabby.

Revit, however, is incapable of understanding this 2D representation. Revit users linking in IFCs produced by ArchiCAD may experience the following symptoms:

  1. Invisible doors, and difficulty selecting doors

  2. Invisible door swings, or only visible at particular view ranges

  3. Weird arc shapes around doors

  4. Extra lines around doors and walls

  5. Cannot easily change visibility graphics of 2D vs 3D elements

  6. Cannot view 2D data in a 3D view

This is caused by the perfect storm of Revit IFC bugs, which we will work through methodically. For programmers interested in the details of how we fix this, read the comments of the patch function.

Example:

ifcpatch.execute({"input": "input.ifc", "file": model, "recipe": "FixArchiCADToRevitDoorSwings", "arguments": []})
patch(self)#