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

ADN Club => Revit API => Тема начата: Олег от 27-04-2022, 18:33:32

Название: GUID произвольный
Отправлено: Олег от 27-04-2022, 18:33:32
Добрый день.
Подскажите пожалста, есть ли возможность установить GUID произвольный для каждого элемента в проекте?
Например воздуховод -"труба-угол-труба". Каждому элементу установить GUID из заранее созданного списка (считай может быть каким угодно). Это нужно чтобы при экспорте файла в IFC экспортировать GUID.


(https://i.postimg.cc/hzP7RcCt/image.png) (https://postimg.cc/hzP7RcCt)
Название: Re: GUID произвольный
Отправлено: Александр Ривилис от 27-04-2022, 22:16:23
Наверное так: https://jeremytammik.github.io/tbc/a/0567_extensible_storage.htm
Только не знаю будет ли это экспортироваться в IFC.
Название: Re: GUID произвольный
Отправлено: trir от 28-04-2022, 06:58:59
настройки экспорта
Название: Re: GUID произвольный
Отправлено: Александр Игнатович от 29-04-2022, 11:52:27
Наверное, тут только пост-обработкой экспортированного файла, ifc же текстовый формат.
Название: Re: GUID произвольный
Отправлено: trir от 29-04-2022, 12:16:09
BuiltInParameter.IFC_GUID
Название: Re: GUID произвольный
Отправлено: Александр Игнатович от 29-04-2022, 12:20:34
он, вроде, после экспорта появляется только? А ещё, он разве не read-only?
Название: Re: GUID произвольный
Отправлено: trir от 29-04-2022, 12:22:23
ручками редактируется
Название: Re: GUID произвольный
Отправлено: Александр Игнатович от 29-04-2022, 12:44:56
Ручками то понятно и логично, вопрос в том, read-only ли он или только UserModifiable = false.

Кстати, а чем не устраивают id-шки, сгенерированные Revit-ом?
Название: Re: GUID произвольный
Отправлено: Олег от 29-04-2022, 21:20:44
Нам нужно для экспорта IFC. Наш рабочий процесс заключается в том, что у нас есть база данных master, из которой нам нужно генерировать и повторно генерировать объекты в Revit, но мы хотели бы, чтобы при экспорте в IFC их GlobalId был настроен на то, что мы сгенерировали в нашем собственном проекте, а не на новое назначение Revit в каждом случае.
Название: Re: GUID произвольный
Отправлено: trir от 04-05-2022, 07:16:38
пишите в BuiltInParameter.IFC_GUID
Название: Re: GUID произвольный
Отправлено: Олег от 04-05-2022, 12:23:16
так не получается. потому что его нету, этого параметра.
нужно сделать вот так:
Код - C# [Выбрать]
  1. ElementId eid = new ElementId( BuiltInParameter.IFC_GUID );
  2. Autodesk.Revit.DB.IFC.ExporterIFCUtils.AddValueString( instance, eid, ifcguid );
Код - C# [Выбрать]
  1. public static void AddValueString(
  2.         Element element,
  3.         ElementId builtInParameter,
  4.         string propertyValue
  5. )
правда после этого параметр ручками не редактируется. но мне это и не нужно.
пока что этот параметр в ifc не экспортируется. не могу понять пока почему. может экспортер проверяет само значение на валидность. я его записываю сейчас, пока как тест, почти от фонаря. всетаки там тип параметра - текст.
Название: Re: GUID произвольный
Отправлено: Олег от 04-05-2022, 20:24:55
какие-то проблемы с версией 2017 года. попробовал на 2022 все отлично экспортирует