Объект области выглядит как 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"
}
}
}
]
}
}
Надеюсь, это поможет ~