mcpField
B
bimface-helper-v3-2d

bimface-helper-v3-2d

github.com/bimface开发736 次安装16 周前更新
代码仓库

关于 bimface-helper-v3-2d

bimface-helper-v3-2d 是面向 BIMFACE Web 应用的二维矢量图纸开发技能,针对 JSSDK v3 提供按模块查阅文档和代码自查的流程,避免使用未确认的 API。

主要功能

  1. 01按需求匹配功能参考文档
  2. 02覆盖图纸与视图操作
  3. 03支持图元和图层管理
  4. 04涵盖标签、批注与测量
  5. 05校验 API 调用及异步处理

适用场景

  1. 01实现二维图纸视图控制
  2. 02添加图元选择或图层操作
  3. 03开发图纸标签、批注或测量功能
  4. 04核对代码是否符合 SDK 约束

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bimface/bimface-helper-skills --skill bimface-helper-v3-2d

安装后在 Claude Code 中输入/bimface-helper-v3-2d确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
annotation.md
boundingBox.md
camera.md
clusterItem.md
displayMode.md
drawable.md
element.md
events.md
initialize.md
layer.md
measure.md
snapshot.md
state.md

详细介绍

来自项目 README

BIMFACE 矢量图纸 Web应用开发技能

使用须知

  • 仅支持BIMFACE平台Web应用,使用JSSDK v3版本
  • 严格参照 references/ 目录下对应文档的代码写法,不自行变更接口调用方式
  • 仅实现用户明确要求的功能

接口调用指南

1. 页面初始化
1.1 需求解析(编码前强制执行)

接收用户需求后,先完成以下步骤再开始编码:

  1. 能力映射:将用户需求的关键词对照 §2 功能模块 找到匹配的 reference 文档
  2. 范围确认:如果需求涉及 3 个以上模块,列出计划调用的模块清单,让用户确认优先级
  3. 不支持告知:如果需求无法匹配到任何现有 reference,立即告知用户"当前 SDK 能力范围不支持",避免沉默生成错误代码
  4. 多图纸判断:如果需求涉及切换或同时加载多张图纸,确认是否需要通过 drawing2D.getDrawing(modelId) 指定目标图纸
2. 功能模块
2.1 图纸交互相关
2.2 图元操作相关
2.3 图层相关
2.4 注记相关
3. 全局变量命名约定

所有reference文档统一使用以下变量名,不再逐个声明:

变量名类型/说明获取方式
viewer2D二维图纸查看器对象app2D.getViewer()
app2DWebApplicationDrawing应用对象new Glodon.Bimface.Application.WebApplicationDrawing(config)
drawing2D图纸对象viewer2D.getDrawing(modelId)(不传modelId则返回默认图纸对象)
drawableContainer二维标签容器对象new Glodon.Bimface.Plugins.Drawable.DrawableContainer(config)

关键约束:drawing2D 必须在图纸 Loaded 事件触发后才能获取;操作图层/图元前需通过 viewer2D.getDrawing(modelId) 获取目标图纸对象。

4. 代码自查

开发完成后逐项检查:

  • 功能回溯:将生成的代码与原始需求逐条比对,确认需求中的每个功能点都有对应实现,不存在"需要A却生成了B"或额外生成未要求的功能
  • 变量名是否与命名约定一致(viewer2D / app2D / drawing2D / drawableContainer)
  • 每个 API 调用是否能在对应 reference 中找到一模一样的方法签名(不自行编造方法名、参数名),如果某个功能在对应 reference 文档中找不到明确的 API,请告知用户"当前 SDK 能力范围不支持",不要自行编造方法名或参数
  • 异步操作(getObjectDataById、getAllObjectIds、createSnapshotAsync 等)的结果是否在回调函数中处理
  • 状态变更后是否调用 viewer2D.render()
  • 事件处理函数是否为具名函数(确保可注销)
  • 图纸操作前是否已通过 Loaded 事件确认图纸加载完毕
  • 颜色构造是否使用了 new Glodon.Web.Graphics.Color() 而非裸颜色字符串或数组
  • 代码中是否存在未在 §3 全局变量命名约定 中声明的"野生变量"
4.1 常见错误速查
❌ 错误✅ 正确
new WebApplication3DConfig() + WebApplication3D矢量图纸应使用 WebApplicationDrawingConfig + WebApplicationDrawing,详见 BIMFACE初始化
viewMetaData.viewType == "3DView"矢量图纸应判断 viewMetaData.viewType == "dwgView",详见 BIMFACE初始化
在 ViewAdded 事件中操作图元二维图纸应监听 Loaded 事件而非 ViewAdded,详见 监听事件
二维坐标传入 {x, y, z}图纸的世界坐标为 {x, y} 不含 z 值,传入 z 值会被忽略或报错
viewer2D.getObjectDataById(id, cb)应使用 drawing2D.getObjectDataById(id, cb),该方法是图纸对象的方法,不是 viewer 的方法

评论

支持 Markdown