alphacam-bridge — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited alphacam-bridge (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
通过 alphacam-bridge 插件提供 69 个 MCP 工具,用于直接控制 AlphaCAM 2016 R1。
CDM 工程中已安装 modAutoImportNest 模块与 frmAutoNest 窗体,实现一键自动化:
菜单 → CDM → 自动化生产排版(弹出 frmAutoNest 窗体,CSV 路径记忆回填)
→ 选择/输入 CSV → 确定
→ 客户"自动化生产" → 创建订单(重名取消)→ 逐行导入门板明细(复制 UserStyle 参数)
→ 勾选"只导入订单,不生产排版"? 是→仅导入,结束
→ 否 → g_Make_Master 批量生产 + 排版 + NC 输出m_AutoImportNest → AutoImportNest()(弹 frmAutoNest 窗体);窗体"确定"→ AutoImportNestWithParams(CSV路径, "自动化生产", bRunNest, bOverwrite, sMaterialOverride)(v1.10:sMaterialOverride = 窗体材料下拉选中的材料,非空即整批覆盖并忽略 CSV 第 13 列;为空才回退逐行取 CSV 第 13 列。两条路径都要求材料已存在于 AD_MATERIALS)lblCSV/txtCSV/cmdBrowse/chkOnlyImport(只导入勾选框)/chkOverwrite(强制覆盖重名订单勾选框)/cmdRegenLabel(重新生成标签)/cmdOK/cmdCancel/lblMaterial + cboMaterial(v1.10 材料下拉,Style=2 只可选,启动时从 AD_MATERIALS 加载,预选 = 上次选择 → MaterialDefault=True 行 → 第一项);AlphaCAM 不支持导入 .frm,窗体需手动创建一次(见 CDM功能/frmAutoNest_手动创建.md)StyleName=UserStyleName + UserValue_0~6,否则报"无法连接用户定义的宏"_get_vba_project())通过 COM 访问 Application.VBE 扩展对象模型,可编程添加/修改窗体控件、替换窗体代码,无需手工拖拽:
链路: VBE → VBProjects → VBComponents("窗体名")
├─ .Designer.Controls.Add(ProgID, 名称) ← 添加控件(Forms.CheckBox.1 / TextBox.1 / CommandButton.1 / Label.1 ...)
└─ .CodeModule.DeleteLines / AddFromString ← 替换代码proj = com._get_vba_project()
comp = proj.VBComponents('frmAutoNest')
d = comp.Designer
cb = d.Controls.Add('Forms.CheckBox.1', 'chkOnlyImport') # 先加控件
cb.Caption = '只导入订单,不生产排版'; cb.Left = 78; cb.Top = 54
cm = comp.CodeModule # 再改引用它的代码
cm.DeleteLines(1, cm.CountOfLines); cm.AddFromString(code) # 建议先备份,失败回滚Controls.Add 再更新代码,反了会编译报"找不到方法或数据成员"c.Left/c.Top)辅助定位;前提:AlphaCAM 运行中、工程未锁定| 场景 | 使用 |
|---|---|
| 快速创建几何 | MCP 工具 |
| 标准加工操作 | MCP 工具 |
| 复杂批量操作 | run_workflow |
| 自定义逻辑/循环/条件 | 生成 VBA 代码 |
| 自定义菜单/插件 | 生成 VBA 代码 |
| 事件处理(保存前、输出后) | 生成 VBA 代码 |
| 交互式用户选择 | MCP 工具 |
| 多步骤自动化工作流 | MCP run_workflow |
| 安装/读取/删除 VBA 模块 | install_vba_module / get_vba_code / delete_vba_module |
Project.Module.Procedure 格式Drawing.WorkPlanes.count,若包含工作平面则无法插入running_snapshot.py 存基线 →component_deploy.py audit(运行版/仓库/基线三方比对,不匹配就拒绝写)→ deploy (整体替换 + 读回校验 + 失败回滚)→ deploy_probe.py(标记断言 + 全工程编译探针)。 详见 tools/README.md
(.Add → .add),按字节比对会误报"部署失败"
CDM.ctx 等文本资源槽(Frame.ReadTextFile(文件, 行, 列))绝不能盲试行号:槽不存在会弹模态框并让 AlphaCAM 的错误处理开一堆 CDM.err 记事本;而且它不阻塞 COM, 探针照样返回 ok —— "探针过了"不能当作"屏幕上没弹窗"
Acam.exe(主窗口类 AlphaCAM_3DMILL),用 ProcessName -match 'alphacam' 过滤不到它
.env 文件配置 ALPHACAM_PROG_ID、ALPHACAM_VISIBLE 等环境变量open_vba_editor.py(激活/最大化 AlphaCAM 窗口 + Alt+F11),已获用户授权~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.