【问题标题】:Get the GUIDs contained in an IFCGROUP获取 IFCGROUP 中包含的 GUID
【发布时间】:2022-08-15 22:51:34
【问题描述】:

如何使用 IfcOpenShell 获取 IFCGROUP 中包含的 GUID?

http://ifcopenshell.org/

在此示例中,我在 IFCGroup 中有两个 GUID IFCWall

IFCGROUP GUI: 0MP5lKfsX6pBH1cXwBPLF0

IFCWALLSTANDARDCASE GUI: 0MP5lKfsX6pBH1cXwBPLEX

IFCWALLSTANDARDCASE GUI: 0MP5lKfsX6pBH1cXwBPLEA

我需要一个返回这个的函数:

res = getElements(\'0MP5lKfsX6pBH1cXwBPLF0\')

print(res) // [0MP5lKfsX6pBH1cXwBPLEX, 0MP5lKfsX6pBH1cXwBPLEA]

    标签: python ifc


    【解决方案1】:

    关键是理解逆属性 (IsGroupedBy) 和对象化关系 (http://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssignsToGroup.htm)

    import operator
    import ifcopenshell
    
    ifc_file = ifcopenshell.open(...)
    group = ifc_file['0MP5lKfsX6pBH1cXwBPLF0']
    if group.IsGroupedBy:
        result = list(map(operator.attrgetter('GlobalId'), group.IsGroupedBy[0].RelatedObjects))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多