Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: enot от 16-08-2020, 19:40:20

Название: сортировка в порядке создания
Отправлено: enot от 16-08-2020, 19:40:20
возможна ли сортировка элементов в порядке их создания? пример:  собираем все элементы определенной категории и сортируем в порядке их создания
Название: Re: сортировка в порядке создания
Отправлено: Александр Ривилис от 17-08-2020, 11:46:30
Я не нашел свойств и методов, которые бы явно указывали на порядок создания. Думаю, что таких нет. Можешь попробовать сортировать по свойствам UniqueId и/или Id
Название: Re: сортировка в порядке создания
Отправлено: Александр Игнатович от 18-08-2020, 13:02:48
В режиме совместной работы - нет, в однопользовательском режиме - как посоветовал Александр по Id
Название: Re: сортировка в порядке создания
Отправлено: enot от 18-08-2020, 13:20:11
Спасибо за ответы.
В чем разница UniqueId и Id ?
Название: Re: сортировка в порядке создания
Отправлено: Александр Ривилис от 18-08-2020, 13:28:16
В чем разница UniqueId и Id ?
Это даже я в документации нашел...
Подробное описание здесь: https://thebuildingcoder.typepad.com/blog/2015/02/understanding-the-use-of-the-uniqueid.html
Название: Re: сортировка в порядке создания
Отправлено: Александр Игнатович от 18-08-2020, 21:44:49
ээээ...Id - представляет собой код, по которому можно найти элемент, вкладка управление, команда "выбрать по коду". Можно использовать для идентификации элементов в рамках одного запуска команды, хранить в сторонней базе (в каком бы то ни было варианте) не стоит, поскольку в режиме совместной работы может измениться после синхронизации с центральным файлом. UniqueId - строка, часть строки идентифицирует файл, вторая - guid, не меняется после синхронизации, условно уникальный, пока файл не был физически скопирован
Название: Re: сортировка в порядке создания
Отправлено: enot от 19-08-2020, 12:23:35
поскольку в режиме совместной работы может измениться после синхронизации с центральным файлом.
Ого, я думал Id неизменно. По какой причине в режиме совместной работы такое просходит ?
Название: Re: сортировка в порядке создания
Отправлено: Александр Ривилис от 19-08-2020, 12:29:11
enot,
Из документации:
 
Цитировать
Remarks
The Value within the ElementId is only unique with a single project. It is not unique across several projects. The Id can be used to retrieve a specific element from the database when needed. However ids are subject to change during an Autodesk Revit session and as such should not be retained and used across repeated calls to external commands. If a manner is needed to uniquely identify an element beyond this limitation then a shared parameter should be added to the element containing a unique identifier managed by the external application.
Название: Re: сортировка в порядке создания
Отправлено: Александр Игнатович от 19-08-2020, 12:37:03
Ого, я думал Id неизменно. По какой причине в режиме совместной работы такое просходит ?

Самый простой и понятный случай - пользователь А создает новый элемент с id = 13578, пользователь B создает элемент с id = 13578, нужно как-то объединить данные, остальные - под покровом тьмы, мало ли в каких случаях движок, возможно, с целью оптимизации, захочет поменять элементы местами.

В любом случае
Цитировать
However ids are subject to change during an Autodesk Revit session and as such should not be retained and used across repeated calls to external commands
Название: Re: сортировка в порядке создания
Отправлено: enot от 19-08-2020, 12:38:29
хочу разобрать на примерах чтобы понимать (что из написанного ниже верно, что нет)

допустим есть общий файл

Пример 1. в локальном файле пользователя 1 семейство имеет  id =123

в локальном файле пользователя 2 это же семейство имеет  id =123 либо может иметь другое ( id =234)

Пример 2. я работаю в локальном файле у семейства id = 123 но после синхронизации оно может измениться ( id =234)
Название: Re: сортировка в порядке создания
Отправлено: Александр Игнатович от 19-08-2020, 12:41:55
Пример 1 - сильно вряд ли, пример 2 - вполне реален
Название: Re: сортировка в порядке создания
Отправлено: enot от 19-08-2020, 14:48:10
пример 2 - вполне реален


(https://i.postimg.cc/rz2fWwcS/cat.jpg) (https://postimg.cc/rz2fWwcS)