virtualWall.md 1.4 KB

虚拟墙 Item 示例

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

源代码

::: details 查看代码

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

:::

代码说明

数据说明

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

::: tip 注 1、虚拟墙是一段一段组成的
2、outline是二维代表是由多段虚拟墙组成
3、outline无排序要求
4、轮廓数据单位均为毫米 :::

计算边界矩阵

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

Y轴取反

revit 坐标使用的是数学坐标系, Y 轴方向是向上的, canvas 坐标使用的绘图坐标系, Y 轴方向是向下的;
数据是通过 revit 模型导出

绘制示例

::: details 查看代码

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

:::