::: details 目录 [[toc]] :::
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, // 高度
},
...
]
::: tip 注
1、空间会挖洞,所以 outline 是二维数组
2、 outline 中第一项是外轮廓,从第二项开始均为内轮廓,内轮廓即为挖洞
3、外轮廓数据顺时针排序,内轮廓为逆时针排序
4、轮廓数据单位均为毫米
:::
不能在绘制的时候计算,因为绘制是高频调用方法,尽量不要在绘制方法中做大量计算工作;
计算方法一般在数据变化的时候做,如果只是展示的话,则只需要在构造函数中计算一次;
revit 使用的坐标系与 canvas 使用的坐标系 Y 轴是相反的; revit 坐标使用的是数学坐标系, Y 轴方向是向上的, canvas 坐标使用的绘图坐标系, Y 轴方向是向下的;
数据是通过 revit 模型导出
::: details 查看代码 <<< @/docs/.vuepress/components/big/items/space.vue :::
空间默认传入样式
Style: {
Default: {
Stroke: "#2b2b2b",
Fill: "#f1fffd80",
LineWidth: 1,
Effect: {}
},
Selected: {
Stroke: "#2b2b2b",
Fill: "#1abc9c",
LineWidth: 1,
Effect: {}
},
Disabled: {
Stroke: "#2b2b2b",
Fill: "#afafaf",
LineWidth: 1,
Effect: {}
},
Highlight: {
Stroke: "#2b2b2b",
Fill: "#fbb029",
LineWidth: 1,
Effect: {}
}
}