Autodesk ObjectId и ElementId в dwg

Я использую для разработки одного веб-приложения с использованием Forge API. Работает хорошо и хорошо. В то же время я использую автоматизацию проектирования в кузнице. Я могу создать пакет, и он работает нормально.

Я обработаю файл DWG, используя forge api, готовящийся к просмотру. Я могу просматривать DWG в браузере.

Моя проблема заключается в том, что у меня есть событие щелчка средства просмотра, щелчок события заполняет идентификатор элемента. Однако в моем пакете я могу получить только идентификатор объекта. ID элемента и ID объекта совершенно разные.

Каков постоянный идентификатор каждого объекта клиента и стороны сервера.

Резюме: когда пользователь щелкает объект в программе просмотра, я хочу получить идентификатор и сохранить свою локальную базу данных. и с помощью пакета мне нужно обработать объект, выбранный пользователем.

Пример: когда пользователь щелкает номер чертежа во вьюере. Со следующего раза я хочу динамически изменить номер чертежа, используя пакет вызовов из кода C#.

1 ответ

Для файла RVT один простой способ справиться с этим - извлечь Forge externalId из свойств объекта Forge. Это равно элементу Revit UniqueId имущество. Надстройка Revit RvtMetaProp использует это.

О, теперь я только что нашел лучшее, более полное и краткое объяснение уникальных идентификаторов для элементов Forge Viewer:

Средство просмотра дает доступ к трем типам идентификаторов при работе с файлами Revit:

  • dbId: это зависит от средства просмотра и используется для манипулирования элементами в средстве просмотра, например, для .getProperties() метод.
  • Revit ElementID: выставлено как часть Name собственность в зрителе. Когда вы выбираете что-то, заголовок панели свойств имеет вид "Имя [12345]". Вы можете проанализировать эту строку имени и извлечь идентификатор элемента.
  • Revit UniqueID: выставлено как externalId недвижимость в .getProperty() ответ.
Другие вопросы по тегам