# 楼层平面图底图数据格式

::: details 目录
[[toc]]
:::

## 整体数据格式

``` json5
    {
        EntityList:[
            Elements:{                          // 底图展示所需数据
                Columns:[],                     // 所有柱子数据
                Doors:[],                       // 所有门数据
                Spaces:[],                      // 所有空间数据
                VirtualWalls:[],                // 所有虚拟墙数据
                Walls:[],                       // 所有墙数据
                Windows:[],                     // 所有窗户数据
            },
            MBIName:'',
            ModelId:'',
            PlanName:''
        ]
    }
```

## 柱子具体数据内容

``` json5
    Columns:[
        {
            Name: '',                           // 名称
            OutLine: [
                [{X:0,Y:0,Z:0},...],            // 外轮廓 
                ...                             // 内轮廓
            ],                                  // 轮廓线
            RoomBoundary: '',                   // 房间边界
            Location: {X:0,Y:0,Z:0},            // 位置
            ModelId: '',                        // 模型id
            SourceId: '',                       // 对应Revit模型id
        },
        ...
    ]
```

## 门具体数据

``` json5
    Doors:[
        {
            FaceDirection: {X:0,Y:0,Z:0},       // 面朝方向
            HandDirection: {X:0,Y:0,Z:0},       // 把手方向
            Location: {X:0,Y:0,Z:0},            // 位置
            ModelId: '',                        // 模型id
            Name: '',                           // 名称
            OutLine: [
                [{X:0,Y:0,Z:0},...],            // 外轮廓 
                ...                             // 内轮廓
            ],                                  // 轮廓线
            Owner: '',                          // 拥有者的RevitId
            SourceId: '',                       // 对应Revit模型id
            Thick: 200,                         // 厚度
            WallId: '',                         // 所属墙
            Width: 200,                         // 宽度
        },
        ...
    ]
```

## 空间具体数据

``` json5
    Spaces:[
        {
            BoundarySegments: [[''],...],       // 轮廓线段
            Location: {X:0,Y:0,Z:0},            // 位置
            ModelId: '',                        // 模型id
            Name: '',                           // 名称
            OutLine: [
                [{X:0,Y:0,Z:0},...],            // 外轮廓 
                ...                             // 内轮廓
            ],                                  // 轮廓线
            SourceId: '',                       // 对应Revit模型id
            Tag: '',                            // 补充信息
            Height: 200,                        // 高度
        },
        ...
    ]
```

## 虚拟墙具体数据

``` json5
    VirtualWalls:[
        {
            Location: {X:0,Y:0,Z:0},            // 位置
            ModelId: '',                        // 模型id
            Name: '',                           // 名称
            OutLine: [
                [{X:0,Y:0,Z:0},...],            // 外轮廓 
                ...                             // 内轮廓
            ],                                  // 轮廓线
            SourceId: '',                       // 对应Revit模型id
        },
        ...
    ]
```

## 墙具体数据

``` json5
    Walls:[
        {
            LevelId: '',                        // 层id
            Location: {X:0,Y:0,Z:0},            // 位置
            ModelId: '',                        // 模型id
            Name: '',                           // 名称
            OutLine: [
                [{X:0,Y:0,Z:0},...],            // 外轮廓 
                ...                             // 内轮廓
            ],                                  // 轮廓线
            SourceId: '',                       // 对应Revit模型id
            Tag: '',                            // 补充信息
            Width: 200,                         // 厚度
        },
        ...
    ]
```

## 窗户具体数据

``` json5
    Windows:[
        {
            Location: {X:0,Y:0,Z:0},            // 位置
            ModelId: '',                        // 模型id
            Name: '',                           // 名称
            OutLine: [
                [{X:0,Y:0,Z:0},...],            // 外轮廓 
                ...                             // 内轮廓
            ],                                  // 轮廓线
            Owner: '',                          // 拥有者的RevitId
            SourceId: '',                       // 对应Revit模型id
            WallId: '',                         // 所属墙
            Width: 200,                         // 宽度
            Thick: 200,                         // 厚度
        },
        ...
    ]
```
