在Revit图纸中标记区域对象 [英] Marking The Area objects in Sheets of Revit

查看:22
本文介绍了在Revit图纸中标记区域对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已尝试通过Forge APIRevit文件的工作表(3D提交)获取区域对象。使用此链接GET /modelderivative/v2/designdata/{urn}/metadata/{guid of sheet}/properties区域信息不存在,即使我已在工作表中添加了区域

我的目标是在2D/图纸(3D提交)中标记区域。我如何才能做到这一点?

面积,我的意思是这样>>marking The Area in 2D

推荐答案

区域对象看起来类似于RevitRoom或RevitZoom。如果您的缩放或房间在查看器上是可以点击的,那么您可以通过Get Properties接口获取其属性。以下是我用来存档您想要的内容的几个步骤,您可以比较您是否遗漏了什么。

  1. 检查房间/面积元素在您的Revit图纸中是否有效。房间/区域应用墙或Room Separation/Area Boundary围起来。

  2. 确保包含您的房间/面积的图纸包含在Revit组中Publish Setting

  3. 将配置良好的RVT上传到Forge进行翻译。

  4. 翻译完成后,通过Forge Viewer加载工作表视图(在本例中称为A102 - Plans),并确保视图中的房间/面积元素可点击。

  5. 通过viewer.getSelection()取回所选房间/面积的objectId。例如objectId of the selected room/area in this view is4089`。

  6. 调用GET :urn/metadata接口获取Sheet的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"
            }
        ]
    }
}
  1. 调用GET :urn/metadata/:guid接口获取该视图实例树,查看是否有我们想要的id为的房间/区域。例如,接口返回中名为Kitchen & Dining 101 [857279],id为4089的房间。
{
    "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]"
        }
     ]
}
  1. 调用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"
                    }
                }
            }
        ]
    }
}


希望这会有帮助~

这篇关于在Revit图纸中标记区域对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆