
autodesk.edit2d 扩展旨在为 forge viewer 提供二维图形编辑功能,例如多边形绘制工具。然而,需要注意的是,该扩展目前**不直接支持**触摸屏设备上的触控输入。尽管通过鼠标连接可以正常操作,但在移动设备上直接使用触控手势时,相关工具将无法响应。因此,在开发移动端应用时,需考虑此限制并寻求替代方案或自定义实现。
Autodesk.Edit2D 是 Forge Viewer 的一个强大扩展,它提供了一系列用于在二维平面上创建和编辑几何图形的工具,例如线、圆和多边形。其中,polygonEditTool 便是常用的一个,它允许用户通过点击或拖动来定义多边形的顶点,从而创建复杂的形状。
Edit2D 扩展的激活与工具使用
通常,我们通过加载 Autodesk.Edit2D 扩展并利用其提供的 defaultTools 来激活特定的编辑功能。以下代码片段展示了如何加载扩展并启动多边形编辑工具:
export const startTool = (tool) => {
const viewer = window.VIEWER;
var controller = viewer.toolController;
// 检查当前激活的工具是否属于 Edit2D
var activeTool = controller.getActiveTool();
var isEdit2D = activeTool && activeTool.getName().startsWith("Edit2");
// 如果有其他 Edit2D 工具正在运行,则先停用
if (isEdit2D) {
console.log('isEdit2D');
controller.deactivateTool(activeTool.getName());
activeTool = null;
}
// 如果没有指定工具,则停止所有编辑工具
if (!tool) {
return;
}
// 激活指定的工具
controller.activateTool(tool.getName());
}
// 在 Viewer 加载完成后激活多边形工具
window.VIEWER.loadExtension('Autodesk.Edit2D').then(edit2d => {
const polyTool = edit2d.defaultTools.polygonTool;
startTool(polyTool);
});上述代码首先定义了一个 startTool 函数,用于管理工具的激活与停用。它会检查当前是否有其他 Edit2D 工具处于活动状态,并确保在激活新工具之前停用它们。随后,通过 viewer.loadExtension('Autodesk.Edit2D') 异步加载扩展,并在加载成功后获取 polygonTool 并调用 startTool 来激活它。
移动设备上的触控限制
尽管上述方法在桌面端(PC)配合鼠标操作时能够良好运行,但在移动设备上,当用户尝试通过触控屏幕进行多边形绘制时,polygonEditTool 或其他 Edit2D 工具将无法响应。这表明 Autodesk.Edit2D 扩展在设计时并未原生支持触控事件,它主要依赖于传统的鼠标事件(如 mousedown, mousemove, mouseup)。
支持模板化设计,基于标签调用数据 支持N国语言,并能根据客户端自动识别当前语言 支持扩展现有的分类类型,并可修改当前主要分类的字段 支持静态化和伪静态 会员管理功能,询价、订单、收藏、短消息功能 基于组的管理员权限设置 支持在线新建、修改、删除模板 支持在线管理上传文件 使用最新的CKEditor作为后台可视化编辑器 支持无限级分类及分类的移动、合并、排序 专题管理、自定义模块管理 支持缩略图和图
核心限制: Autodesk.Edit2D 扩展不直接支持触摸屏设备的触控输入。
注意事项与总结
- 平台兼容性: 在规划使用 Autodesk.Edit2D 扩展时,务必明确其主要面向桌面环境,并依赖鼠标交互。
-
移动端替代方案: 如果您的应用需要在移动设备上提供二维图形编辑功能,您可能需要考虑以下替代方案:
- 自定义工具开发: 基于 Forge Viewer 的事件系统(如 viewer.registerCustomTool()),自行开发支持触控事件的编辑工具。这通常涉及监听 touchstart, touchmove, touchend 等事件,并将其转换为对应的几何操作。
- 考虑其他库或框架: 探索是否有其他第三方库或框架能够更好地与 Forge Viewer 集成,并提供移动友好的二维编辑功能。
- 限定功能: 在移动端仅提供查看功能,将编辑操作限制在桌面端。
总之,虽然 Autodesk.Edit2D 扩展为 Forge Viewer 提供了强大的二维编辑能力,但在移动设备上直接使用触控功能时存在局限。开发者在设计移动端应用时应充分了解这一限制,并根据项目需求选择合适的实现策略。









