Разметка объектов Area в листах Revit
Я пытался получить объекты Area из листов (3D-представление) файла Revit через Forge API. Используя эту ссылку GET /modelderivative/v2/designdata/{urn}/metadata/{guid of sheet}/properties
Информация о районе отсутствует, хотя я добавил область в листах.
Моя цель - отметить область в 2D / Sheets (3D Submission). Как я могу это сделать?
Площадь, я имею в виду, как это >> маркировка области в 2D
1 ответ
Объект области выглядит как Revit Room или Revit Zoom. Если в Viewer можно щелкнуть по вашему зуму или комнате, вы можете получить его свойства через API Get Properties. Вот несколько шагов, которые я использовал для архивации того, что вы хотите, вы можете сравнить, если есть что-то, что вы пропустили.
Убедитесь, что элементы комнаты / площади действительны в вашем Revit. Комната / территория должны быть огорожены стенами или
Room Separation
/Area Boundary
,Убедитесь, что лист, который содержит вашу комнату / площадь, входит в комплект Revit
Publish Setting
Загрузите хорошо сконфигурированный RVT в Forge для перевода.
После завершения перевода загрузите вид листа (называется
A102 - Plans
в этом случае) с помощью Forge Viewer и убедитесь, что элементы комнаты / области в представлении доступны для нажатия.Получить
objectId
выбранной комнаты / площади черезviewer.getSelection()
,objectId of the selected room/area in this view is
4089` например.Вызовите API GET: urn / metadata, чтобы получить листы
guid
, Теперь этоabdacd31-f94c-e84f-9a58-4663e281d894
например.
{ "data": { "type": "metadata", "metadata": [ { "name": "{3D}", "role": "3d", "guid": "6bfb4886-f2ee-9ccb-8db0-c5c170220c40" }, { "name": "A102 - Plans", "role": "2d", "guid": "abdacd31-f94c-e84f-9a58-4663e281d894" } ] } }
- Вызовите API GET: urn / metadata /: guid, чтобы получить дерево экземпляров этого представления, и проверьте, существует ли комната / область с требуемым идентификатором. например, комната с именем
Kitchen & Dining 101 [857279]
и идентификатор4089
в ответе API.
{ "objectid": 4084, "name": "Rooms", "objects": [ { "objectid": 4085, "name": "Bath 203 [857200]" }, { "objectid": 4086, "name": "Bath 205 [857203]" }, { "objectid": 4087, "name": "Bedroom 202 [857206]" }, { "objectid": 4088, "name": "Entry Hall 201 [857209]" }, { "objectid": 4089, "name": "Kitchen & Dining 101 [857279]" } ] }
- Таким образом вызовите API GET: urn / metadata /: guid / properties, чтобы получить свойства комнаты / области. Например,
/modelderivative/v2/{YOUR_RVT_URN}/metadata/abdacd31-f94c-e84f-9a58-4663e281d894/properties?objectid=4089
и его ответ будет показан ниже, и вы увидите область, которую вы хотите видеть в ответе.
{ "data": { "type": "properties", "collection": [ { "objectid": 4089, "name": "Kitchen & Dining 101 [857279]", "externalId": "e6ac360b-aaed-4c3b-a130-36b4c2ac9d13-000d1467", "properties": { "Constraints": { "Base Offset": "0.000 mm", "Level": "Level 1", "Limit Offset": "6500.000 mm", "Upper Limit": "Level 1" }, "Dimensions": { "Area": "26.971 m^2", "Computation Height": "0.000 mm", "Perimeter": "29060.000 mm", "Unbounded Height": "6500.000 mm", "Volume": "118.317 m^3" }, "Identity Data": { "Base Finish": "", "Ceiling Finish": "", "Comments": "", "Department": "", "Floor Finish": "", "Image": "", "Name": "Kitchen & Dining", "Number": "101", "Occupancy": "", "Occupant": "", "Wall Finish": "" }, "Phasing": { "Phase": "Working Drawings" } } } ] } }
Надеюсь, это поможет ~