Hi guys,
I am trying to access the Space property as per the picture above, but then I can not get or access their Parameter. I would like to get information of Room Name and Room Number of them.
Here is my code:
def UpdateSpaceInfo(ele):
roomName = None # Khởi tạo mặc định
roomNumber = None
with Transaction(doc, "Update Space Info") as t:
t.Start()
lstCheck = []
try:
if isinstance(ele, FamilyInstance):
# Lấy vị trí của FamilyInstance
space = ele.Space
# roomName = Element.Name.__get__(space)
# roomNumber = Element.Number.__get__(space)
roomName = space.get_Parameter(BuiltInParameter.ROOM_NAME).AsString()
roomNumber = space.get_Parameter(BuiltInParameter.ROOM_NUMBER).AsString()
# location = ele.Location
# if location and isinstance(location, LocationPoint):
# point = location.Point
#
# # Tìm Space tại vị trí đó
# space = doc.GetRoomAtPoint(point)
# if space:
# roomName = space.get_Parameter(BuiltInParameter.ROOM_NAME).AsString() or "N/A"
# roomNumber = space.get_Parameter(BuiltInParameter.ROOM_NUMBER).AsString() or "N/A"
#
# # Lấy Parameter cần cập nhật
# DPNameSpace = ele.LookupParameter("DP Space Name")
# DPNumberSpace = ele.LookupParameter("DP Space Number")
#
# # Cập nhật giá trị nếu Parameter tồn tại
# if DPNameSpace and roomName:
# DPNameSpace.Set(roomName)
# if DPNumberSpace and roomNumber:
# DPNumberSpace.Set(roomNumber)
except Exception as ex:
print("Failed to update element {}: {}".format(ele.Id, ex))
t.Commit()
return roomName,roomNumber
I tried it by C# and it works but when I try by Python it doesn’t work. Can anyone help me to solve it by Python?
This is what I return when print them:
‘indexer#’ object has no attribute ‘get_Parameter’

