# 业务空间 Item 示例
::: details 目录
[[toc]]
:::

## 源代码

::: details 查看代码

<<< @/docs/guides/big/items/src/SZoneItem.ts

:::

## 代码说明
    
### 数据说明
```
    Zone: {
            xxx: xxx,                           // 等业务空间属性
            OutLine: [
                [
                    [{X:0,Y:0,Z:0},...],        // 第一个空间的外轮廓
                    ...                         // 第一个空间的内轮廓
                ],
                [
                    [{X:0,Y:0,Z:0},...],        // 第二个空间的外轮廓
                    ...                         // 第二个空间的内轮廓
                ],
                ...                             // ...
            ],                                  // 轮廓线
        }
```
::: tip 注
1、业务空间由多个空间组成 <br/>
2、每个空间可能挖洞,所以 outline 是三维数组 <br/>
3、外轮廓数据顺时针排序,内轮廓为逆时针排序 <br/>
4、轮廓数据单位均为毫米
:::

### 计算边界矩阵
不能在绘制的时候计算,因为绘制是高频调用方法,尽量不要在绘制方法中做大量计算工作;<br/>
计算方法一般在数据变化的时候做,如果只是展示的话,则只需要在构造函数中计算一次;

### Y轴取反
业务空间轮廓线由空间轮廓线直接组成或者由空间轮廓线计算而来<br />
revit 坐标使用的是数学坐标系, Y 轴方向是向上的, canvas 坐标使用的绘图坐标系, Y 轴方向是向下的;<br/>
数据是通过 revit 模型导出

## 绘制示例

<big-items-zone />

::: details 查看代码

<<< @/docs/.vuepress/components/big/items/zone.vue

:::


