MetalMaster

上传 STEP,拿到报价要用的数

板厚、折弯道数、孔与孔径分组、展开毛坯、切割总周长、估重——一次读出来,可导出 Excel / CSV,也可由 agent 直接调 JSON 接口。算不准的地方它会说算不准。

从制造角度读几何

同一个圆柱面,是折弯、是孔壁、还是去毛刺圆角,取决于它怎么被做出来。折弯认的是「内外两张圆柱面半径差恰好等于料厚」这一对同轴关系——不在配对里的圆柱面,一次性排除掉孔壁与装饰圆角。

关键数走两条独立路径

展开毛坯用体积恒等式兜底:塑性变形材料不增不减,所以毛坯净面积恒等于 V/t。这条式子没有可调参数,对不上就说明漏摊了面板或重复计入——它抓出过 7 处算法缺陷。

不确定的不装懂

K 因子从几何推不出来,所以毛坯给的是区间不是一个数;翻边孔的预冲孔并列给出两条独立算法的结果,标成待裁定项。该由人定的,标出来交给人。

非钣金件也不空手而归

铣削件 / 回转体 / 铸件照样给出类型判断与依据、孔与凸台清单。钣金专用口径此时明确标注「不适用」——而不是填个 0 让人误以为「这是块没折弯的钣金」。

整包 ZIP 传上来,来源不丢

一包图纸拖进来自动解包,目录并进文件名(订单A/支架/左板.step → 订单A__支架__左板.step),并记下它来自哪个包、包内原路径——之后按压缩包一键筛出「这单有哪些件」。路径穿越、解压炸弹、中文名乱码都已处理。

一份数据,多种取用

60+ 字段、10 个分组,一份定义同时供网页表格、Excel/CSV 导出与 JSON API。看到的列就是导出的列,不存在两边对不上。

结果落盘,重启不丢

解析结果与缩略图写到磁盘,重启即用。缓存的钥匙里带着计算代码指纹:改算法必然作废,改样式、改译名不掉——用旧版本算出来的数,比重算慢糟得多。

除几何内核外零依赖

只依赖 OCCT(读 STEP、算几何),其余全部标准库——连 xlsx / CSV 的写出器、ZIP 解包、账号体系都是现写的。装得上、跑得动、好审计。

解析出来长这样

文件来源压缩包状态形态板厚外形 mm毛坯 mm折弯切割总长 mm估重 g
订单A__支架__左板.step订单A.zip自动通过钣金件2.0578×55×38611×128561590.51148
订单A__支架__右板.step订单A.zip自动通过钣金件2.51078×81×791227×974163072.31768
st416-170-009.stp非钣金件棱柱类不适用17.7×17.7×7.8不适用不适用不适用不适用6.9

前两行来自同一个 ZIP:目录并进了文件名,来源也记着,之后按压缩包一键就能筛出「这单有哪些件」。
最后一行是块铣削件:钣金口径标「不适用」,而不是填 0——0 会被求和、被筛选,读的人会当成「一块没折弯的钣金」。

最近更新 · 全部 →

测试环境上域名:共享账号、分开数据(2026-08-17)

用户:"线上正式版本用现在的域名,dev 环境改成用 metalmaster-dev 的域名。 两个环境共享同一套用户名和密码,但是底层的数据要区分开。"

落地页开更新日志与博客;分支策略与 CI 上闸门(2026-08-17)

用户:"landing 页里面也增加一个 blog 和 changelog 的环节……都是静态的信息, 每次更新发布之前都应该把它们刷新一下"、"未来上线应该有一个 PR 的过程"、 "只有合到 main 上才能正常安装使用,其他的合到 dev 分支在测试环境做"。

助手顺手收集产品反馈(2026-08-17)

用户:"助手只需要筛选一下是不是跟产品优化有关的问题,如果有的话就直接 存下来。未来你可以通过这些反馈来持续优化。"

博客 · 全部 →

2026-08-17

墨迹一本帐:工程图排布的整体避让

出工程图最难的不是画几何,是把标注放对地方:尺寸数字、零件气球、剖切字母、基准符号,每一样都要找一块没被占用的空地。此前我们的避让是零散的——气球看气球的登记,外移数字看数字的登记,视图名看自己的包围盒。各记各的帐,帐本之间就是盲区:右上角

2026-08-17

让页面助手看得见零件,也听得见意见

MetalMaster 的每个分析页面右下角有一个对话助手。它了解当前页面已算好的一切:板厚、折弯明细、孔表、工艺类型结论。但直到最近,它有两个短板:认不出零件的长相,也留不住用户随口说出的意见。这周把两块都补上了。

本机跑:python -m server ./parts --open · agent 接口:/api/analyze /api/inspect /api/schema
文件按账号隔离;除几何内核外零依赖。