Get IfcGuid, how?

Hello,

i stuck for any reason… UnwrapElement did not change the result.

import clr
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument



#collector
collector = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Walls)
all_elements = collector.WhereElementIsNotElementType().ToElements()

walls = [i for i in all_elements if i.Name.Contains("STB")]

out = []

for e in walls:
	BIP = BuiltInParameter.IFC_GUID
	ifcguid = (e.get_Parameter(BIP)).AsString()
	out.append(ifcguid)
    
OUT = out

grafik

thats any more the solution :frowning:

import clr
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *

out = []

for e in UnwrapElement(IN[0]):
	BIP = BuiltInParameter.IFC_GUID
	ifcguid = (e.get_Parameter(BIP)).AsString()
	out.append(ifcguid)
    
OUT = out

KR

Andreas

Hi,
you can add a conditional statement


import clr
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument

#collector
walls = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Walls).WhereElementIsNotElementType().ToElements()

out = []

for e in walls:
	paraifc = e.get_Parameter(BuiltInParameter.IFC_GUID)
	if paraifc is not None:
		out.append([e, paraifc.AsString()])
    
OUT = out
3 Likes

@c.poupin ,

it works well


KR
Andreas

1 Like