用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/bimface/bimface-helper-skills --skill bimface-helper-v4-3d命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | bimface-helper-v4-3d |
| description | 开发基于BIMFACE的Web应用,用于实现在前端页面上对3D模型的可视化和交互。基于JSSDK v4版本,大量接口采用异步Promise模式。 |
references/ 目录下对应文档的代码写法,不自行变更接口调用方式v4 相比 v3 的核心变化,编码时必须特别注意:
await import('...BimfaceSDKLoader-v4.esm.js')),也可使用 script 标签 fallbackgetComponentProperty、getFloors、getBoundingBoxByIds、getMatchIds、setStatus、setStandardView、zoomToBoundingBox、getStatus 等),必须使用 .then() 或 async/await 处理结果*Config 类均被移除,构造函数直接接收对象参数Plugins → Plugin(单数);Color 类路径变更为 Glodon.Bimface.Common.Graphics.Colorapp.initializeWidget("WidgetName") + app.getWidget("WidgetName") 获取接收用户需求后,先完成以下步骤再开始编码:
§2 功能模块 找到匹配的 reference 文档viewer.getModel(modelId) 指定目标模型所有reference文档统一使用以下变量名,不再逐个声明:
| 变量名 | 类型/说明 | 获取方式 |
|---|---|---|
viewer3D | 3D查看器对象 | app.createViewer({...}) |
app | WebApplication应用对象 | new Glodon.Bimface.Application.WebApplication3D({domElement, tool:{...}}) |
model | 3D模型对象 | viewer3D.getModel()(单模型)或 viewer3D.getModel(modelId)(多模型) |
camera | 3D相机对象 | viewer3D.getCamera() |
关键约束:
model必须在模型加载完成后才能获取;多模型场景下必须用viewer3D.getModel(modelId)指定目标模型。
开发完成后逐项检查:
viewer3D / model / app / camera)getComponentProperty、getFloors、getBoundingBoxByIds、getMatchIds、getDrawingList、setStatus、setStandardView、zoomToBoundingBox、getStatus(SectionBox/SectionPlane/Annotation/ModelEditor)、getProperty(Room)、getComponents(Room)、getAreas(Model)等返回 Promise 的方法,是否通过 .then() 或 async/await 处理结果new Glodon.Bimface.Common.Graphics.Color() 而非 Glodon.Web.Graphics.ColorPlugin(单数)而非 PluginsGlodon.Bimface.Plugin.Room.RoomItem 而非 Roomviewer3D.getRoomManager() 获取而非 new RoomManager()addEventListener / removeEventListener 模式{ids: [...], all: true})而非裸数组viewer3D.loadModel({viewMetaData}) 而非 viewer3D.addView(viewToken)| ❌ 错误 | ✅ 正确 |
|---|---|
model.setColor(...) | 构件着色用 overrideComponentColor,房间用 setColor |
viewer3D.addView(viewToken) | 应使用 viewer3D.loadModel({viewMetaData/modelId}) |
model.hideComponentsById(ids) | 应使用 model.hideComponents({ids: componentIds}) |
model.getComponentProperty(id, callback) | 应使用 model.getComponentProperty(id).then(property => {...}) |
new Glodon.Web.Graphics.Color(255,0,0,1) | 应使用 new Glodon.Bimface.Common.Graphics.Color(255,0,0,1) |
Glodon.Bimface.Plugins.Marker3D.Marker3D | 应使用 Glodon.Bimface.Plugin.Marker3D.Marker3DItem |
new Glodon.Bimface.Plugin.Room.Room(...) | 应使用 new Glodon.Bimface.Plugin.Room.RoomItem({...}) |
new RoomManager({viewer}) | 应使用 viewer3D.getRoomManager() |
sectionBox.exit() | 应使用 sectionBoxTool.switchOff() |
measure.setUnits({...}) | 应使用 measureTool.setResultFormat({...}) |
camera.setView(...) | 应使用 camera.setStandardView(...) |
camera.setState(state) | 应使用 camera.setStatus(state).then(...) |
基于 SOC 职业分类