Сообщество программистов Autodesk в СНГ
ADN Club => Revit API => Тема начата: Alex25 от 28-08-2020, 09:43:15
-
Доброго времени суток. Работаю в файле АР и подгружен файл ВК. Задача выбрать в связанном файле все семейства определенной категории (Окна) с содержанием в имени слова "Отв". Выбираю элементы
через PickObjects(ObjectType.LinkedElement ... Происходит такая ситуация: выбирая один элемент рамкой в IList<Reference>приходит всегда два Reference - одинаковые по всем параметрам (дубликаты). При выделении рамкой, как я понимаю он не должен заходить два раза в true метода AllowReference, а он заходит. Если выбирать рамкой системные элементы - воздуховоды , трубы и тд , то приходит один элемент. Если выбирать нажатием на один элемент (не рамка) , то приходит один элемент. Окна , двери и тд , также дублируются, а вот стены , например, не дублируются. Категорию семейства менял (Окна на Обобщенную модель). Очень интересуют следующие вопросы:
1. Почему происходит дублирование в IList<Reference> с семействами FamilyInstance (мое предположение) что только с ними ?
2. Наилучший способ это исправить ?
(https://i.postimg.cc/ppVWvzxJ/image.png) (https://postimg.cc/ppVWvzxJ)
-
1. Да, поведение странное, согласен, хотя reference-ы не совсем одинаковые на самом деле.
первый:9ef8c863-8620-436f-a86b-e26a0e829245-00039e53:0:RVTLINK/9ef8c863-8620-436f-a86b-e26a0e829245-00039e52:414482
второй:9ef8c863-8620-436f-a86b-e26a0e829245-00039e53:0:RVTLINK/9ef8c863-8620-436f-a86b-e26a0e829245-00039e52:414482:0:INSTANCE:469411
Здесь по факту:
9ef8c863-8620-436f-a86b-e26a0e829245-00039e53 - uniqueid RevitLinkInstance
:0:RVTLINK/
9ef8c863-8620-436f-a86b-e26a0e829245-00039e52: - uniqueid RevitLinkType
414482 - ид элемента в связанном файле
:0:INSTANCE:
469411 - какая-то очень странная id, по ней находится FamilySymbol, но его нет в списке Family.GetSymbolIds()
2. реализацию ISelectionFilter лучше не трогать, обработать результаты, возвращаемые PickObjects
-
Если не трогать реализацию ISelectionFilter, то как сделать проверку на категорию и имя семейства? Получается нельзя выбирать FamilyInstance в связанном фале и получать правильный результат ? Нашел похожий вопрос тут https://adn-cis.org/forum/index.php?topic=2757.msg38137#msg38137 (https://adn-cis.org/forum/index.php?topic=2757.msg38137#msg38137)