户型图编辑

本文主要介绍编辑户型图的方法和响应事件。

1、切换画刷

说明

门,窗物体绘制,要在墙体的基础上才能绘制

  • 开启墙体绘制

palette.setBrush("wall", {name: ""});
  • 画门

palette.setBrush("door", {name: "singleDoor"});
画门
  • 画滑门

palette.setBrush("door", {name: "slidingDoor"});
画滑门
  • 画窗

palette.setBrush("window", {name: "frenchWindow"});
画窗
  • 画门洞

palette.setBrush("door", {name: "holeDoor"});

画门洞

2、事件响应

// 画刷变更事件
palette.subscribe("brushChanged", (brush) => {
    console.log("brushChanged", brush);
});

// 选中画板中物体变更事件
palette.subscribe("selectChanged", (data) => {
    // data: 选中项的类型及其位置信息(相对画布)
    console.log("selectChanged", data);
});

3、画板(背景图+绘制内容)操作

// 缩放
palette.worldScale(ratio: number)

// 平移
palette.worldTranslate(x: number, y: number)

// 旋转
palette.rotate(rotation: number)

4、操作选中对象

// 选中物体后才可执行
palette.removeSelected() // 删除
palette.rotateSelected() // 翻转,仅门窗
palette.copySelected() // 复制,仅门窗
palette.clear() // 清空画板

5、其他方法和属性

// 获取当前绘制数据
palette.data

// 获取画布中闭合空间面积(根据plottingScale换算,单位:mm^2)
palette.getDimension().then(data => {}).catch(err => {})

// 初始化户型图数据
palette.initData(vectorMap)