Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- from Autodesk.Revit.DB import FilteredElementCollector as FEC
- map = doc.ParameterBindings
- iterator = map.ForwardIterator()
- param_elements = {}
- while iterator.MoveNext():
- param_elements[iterator.Key.Id] = 0
- for cat in iterator.Current.Categories:
- if iterator.Current.ToString() == 'InstanceBinding':
- param_elements[iterator.Key.Id] += FEC(doc). \
- OfCategoryId(cat.Id).WhereElementIsNotElementType().GetElementCount()
- else:
- param_elements[iterator.Key.Id] += FEC(doc). \
- OfCategoryId(cat.Id).WhereElementIsElementType().GetElementCount()
- lst_sorted = sorted(param_elements.values(), reverse=True) # [137, 86, 82, 34, 30, 29, 25, 11, 0, 0]
- param_sum, elem_sum = 0, 0
- for key, value in param_elements.items():
- for i in range(3):
- if value == lst_sorted[i]:
- param_sum += key.IntegerValue
- elem_sum += value
- print '{}, {}'.format(param_sum, elem_sum)
- # 3281797, 305 - не верно
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement