CAD 代码评审预览

硬件团队提交 LuaCAD 代码时,自动生成几何差异和边界参数检查,让问题在合并前暴露。

硬件团队把 LuaCAD 模型放进代码仓库后,每次提交参数或几何算法,评审者都该看见零件实际变成了什么。这个服务接在拉取请求上,自动拉取修改前后的脚本、默认参数和设计者声明的可调范围。

构建任务会渲染两版实体,生成可旋转的叠影、剖面和关键尺寸对照。评审者能拖动滑块查看螺孔偏了多少、卡扣厚了多少,点击模型上的区域便能回到相关脚本行。对于支架、外壳这类零件,视觉差异不再藏在一段难读的参数计算里。

服务还会用设计者给出的上下限批量生成样件,检查孔位是否消失、实体是否自相交、壁厚是否过薄。失败案例附着对应参数值和渲染图,开发者可以复现后修正。评论固定在具体几何区域,合并后会随代码和模型版本一起留档。

起步时接入 GitHub 与 LuaCAD,覆盖 STL 导出和常见 FDM 打印约束。它负责让代码变更可见、可讨论,不替代材料强度计算、机加工公差确认或最终实物验收。

为什么是现在

LuaCAD 的 Show HN 帖于 8 月 14 日出现;截至 8 月 15 日记录为 67 points、13 comments,并位于第 15 名。S1 这让更多脚本化 CAD 使用者开始尝试把 Lua 模型纳入现有代码流程,几何变化难以随拉取请求评审的问题也更容易被遇到。

目标用户

核心用户是把 LuaCAD 零件脚本放进 GitHub 的小型硬件团队。问题发生在参数或几何函数改完、准备请同事合并时。评审者能读 Lua,却很难仅凭文本判断孔位、壁厚和装配空间。此时若还要本地装环境并逐组参数渲染,评审很容易退化成只看代码。

最小切入点

入口做成 GitHub App,监听拉取请求及后续提交。执行器分别检出基线与当前版本,调用 LuaCAD CLI 导出 STL,并生成 PNG 预览。LuaCAD 已提供转换、渲染、包围盒与三角面统计命令,可先复用这些稳定接口。S2 网页端用同一相机展示两版网格,再叠加剖切面和尺寸标记。参数范围先采用仓库内的声明文件,不尝试从任意 Lua 代码推断。边界检查先覆盖构建失败、空实体、包围盒突变和非流形输出。源码定位要求设计者给部件命名,并在声明文件中绑定脚本行;暂不承诺自动追踪任意布尔运算后的面。

以小博大

第一批用户可从 LuaCAD 的 GitHub 仓库、Show HN 讨论者和脚本化 CAD 社区触达。提供一个可直接复制的示例仓库,让维护者在真实拉取请求里看见叠影与失败参数。公开仓库免费生成可分享的检查页面,页面保留回到 GitHub 的安装入口。再提交一个通用工作流模板,覆盖已有 LuaCAD 项目的最低接入成本。

竞品与缝隙

History Workbench for FreeCADGoogle
History Workbench 已能在 FreeCAD 内保存迭代,并以颜色对比三维几何。它还能比较模型树、尺寸、约束和属性,适合设计者在本机回看版本。S4 不过,它的工作流围绕 FreeCAD 文档和工作台展开。GitHub 远端推送仍列在路线图中。它没有把 LuaCAD 提交直接变成拉取请求检查,也未针对声明的参数上下限批量构建。这里的缝隙是把评审入口留在 GitHub,并让每个失败参数成为可复现证据。团队无需先迁移到另一套 CAD 文档格式,也不用要求所有评审者安装 FreeCAD。
OpenSCAD 加自建 GitHub ActionsGoogle
OpenSCAD 已提供成熟的脚本化实体建模方式。代码可配置参数,也可读取和生成 STL 等格式。S3 团队可以用 Git 审查脚本,再在 CI 中调用命令行导出模型。这套做法便宜、开放,也容易自行拼装截图和制品。缺口在于 Git 的文本差异不会说明实体哪里改变。普通 CI 也不会自动组织参数边界、几何叠影和区域评论。团队仍要维护渲染脚本、制品页面和失败复现格式。面向 LuaCAD 的专用服务可把这些零散步骤收成一次评审,并保留参数值与模型版本的对应关系。

怎么赚钱

按 GitHub 组织订阅,包含固定的私有仓库数与每月构建额度。公开仓库可免费使用,超额参数样件按构建分钟计费。团队版增加自托管执行器、审计留存和合并必检规则。

反方视角

任意 Lua 脚本可能访问文件或执行副作用,云端构建必须隔离网络、权限和资源。依赖、字体与渲染器版本不一致,会让同一提交产生不同网格。参数组合很快膨胀,完整枚举会拖慢拉取请求,也会推高计算成本。薄壁和打印约束依赖喷嘴、材料与方向,通用规则容易误报。布尔运算后,网格表面未必能稳定映射回某一行源码。若评论位置漂移或检查结果不可复现,团队会关闭必检规则,产品价值也随之消失。

依据与来源

共引用 4 条可核验来源
讨论快照· Hacker News
LuaCAD:Lua 脚本化参数 CAD
热度
67 分
评论
13 条
抓取时名次
第 15 位
发帖时间
快照时间
截至 抓取
查看 Hacker News 讨论阅读原文
来源核对
S2

LuaCAD 官方页面说明其使用 Lua 编写参数化二维和三维模型;CLI 可转换 STL、渲染 PNG,并输出三角面数量和包围盒。引擎使用 Manifold 处理 CSG,也可生成 OpenSCAD 代码。

Telegram 频道