一款名为 KetchUp(GitHub 项目名 KetchUp3D)的免费开源 3D 建模工具在 2026 年 11 月 7 日更新至 v0.6.5 版本。它采用 MIT 协议开源,由 Rust 语言和 WebGPU 构建,直接对标木工与家具设计领域最常用的 SketchUp。用户无需注册任何账号,就能在 Windows、macOS、Linux 原生桌面端或桌面浏览器里直接拉出三维家具模型。这款工具的价值不在于挑战大型工业软件,而在于它精准拆除了商业软件设下的云端围栏,把离线自由和垂直木工功能还给了造物者。
逃离云端围栏与深耕木工痛点
木工和 DIY 玩家苦 SketchUp 久矣。早年的 SketchUp 凭借直观的推拉(Push/Pull)直接建模机制,几乎成了木工画草图的标配。但自从母公司 Trimble 收购并全面转向订阅制后,免费的独立桌面版成为历史。如今的 SketchUp Free 仅限网页端运行,强制绑定 Trimble Connect 云存储,还把通用的 OBJ 格式导出锁进了付费墙;即便是付费的 SketchUp Pro 桌面版,也要求大约每 28 天联网验证一次许可证,而 Linux 桌面原生客户端更是长期空白。至于 FreeCAD 或 Blender,用来画几块木板拼装的书架又显得学习曲线过于陡峭。

KetchUp 切中的正是这片夹缝市场。它保留了木工最熟悉的肌肉记忆:画矩形、直线或自由轮廓,用推拉工具赋予木板厚度,再配合精确尺寸输入、轴向捕捉、卷尺测量以及群组、组件和标签来完成装配。所有操作都在本地自动保存,没有任何账号体系或云端同步强制要求。
更实质的差异在于,KetchUp 没有停留在做一款通用的克隆软件,而是直接向木工垂直工作流深挖。在最新发布的 v0.6.5 版本(版本主题为 Editable construction guides and angled wood joints)中,开发团队除了改进工作区,还专门上线了三项纯正的木工特性:支持持久化的可编辑构造参考线、带预览与自动修剪功能的斜角木工接合,以及直接导出项目的时间与成本估算。
商业软件把免费用户逼上云端,开源项目用本地化和垂直功能接盘。
对于在车库里做一张高架床或工作台的木工来说,斜角切口怎么咬合、整套板材要花多少工时和预算,恰恰是动锯子之前最核心的算账环节。KetchUp 把这些原本需要依赖第三方扩展插件的能力直接做进了主程序。
Rust 与 WebGPU 撑起的双层架构
为什么一个小体量的开源项目,能同时交付三端原生桌面应用和免安装的网页端 3D CAD?底气来自近年来日趋成熟的 Rust 结合 WebGPU 与 WebAssembly 技术栈。

翻开 KetchUp 的代码仓库可以看到,它采用了清晰的双 Rust workspace crate 解耦架构。底层的 ketchup-core 专门负责双精度几何计算、面发现与三角剖分、捕捉推导、射线拾取、相机逻辑以及撤销历史,这一层完全独立于任何图形界面和 GPU 接口。上层的 ketchup-app 则负责 egui 界面绘制、本地文件持久化、原生与浏览器启动器以及 wgpu/WGSL 渲染管线,网页端直接通过 Trunk 编译成 WebAssembly 运行。
在浏览器里跑 3D CAD,最怕遇到大模型卡顿和持续发热。KetchUp 采用的是事件驱动渲染机制,浏览器端优先调用现代的 WebGPU 接口,并在旧设备上自动回退至 WebGL2。面对复杂的不透明透视场景时,软件会把主体几何数据一直驻留在 GPU 显存中;当用户移动鼠标进行悬停或点选零件时,系统不需要每帧重新上传庞大的几何网格,而是只更新一个极小的状态纹理。这种工程巧思,既保证了 CAD 级别的双精度几何准确度,又压低了浏览器端的交互延迟。
迁移前必须看清的格式陷阱与治理盲区
如果你手里攒了一批以前用 SketchUp 画的家具图纸,现在想立刻搬进 KetchUp 接着改,先别急着动手。对照官网宣传与底层技术文档,KetchUp 在格式互通上还有几道绕不开的硬门槛。

最容易让人踩坑的是组件关联丢失。官网落地页把支持可复用组件(components)与导入 SketchUp(.skp)几何体放在一起宣传,很容易让老用户以为旧图纸能无缝迁移。但仓库技术文档明确写道,本地导入 .skp 文件时,除了严格拒绝大于 64 MiB 的文件、忽略纹理、透明度、场景和尺寸标注外,原模型里所有嵌套的群组和组件实例都会退化为独立的普通群组。
放在真实的木工场景里,这个限制非常要命。平时画一张餐桌,木工通常会把一条桌腿定义成组件,复制出另外三条;后续只要修改其中一条桌腿的榫头尺寸,其余三条就会自动同步。但把 .skp 导入 KetchUp 后,四条桌腿变成了四个毫无关联的独立群组,想改尺寸就得挨个重画四遍。它虽然保留了面孔洞、纯色、显式隐藏状态以及英寸到米的单位自动转换,但更适合拿来参考旧图尺寸,而不是直接二改老项目。
| 维度 | 原生保存格式 (.k3d / .ketchup) | 本地导入 SketchUp (.skp) | 导出 Wavefront (.obj) |
|---|---|---|---|
| 容量与方向 | 本地自动保存与便携下载 | 仅支持导入,上限 64 MiB | 仅单向导出(米为单位,Z 轴向上) |
| 组件与群组 | 完整保留群组、组件与标签 | 组件退化为独立群组,丢失关联 | 仅可见边缘与三角化面,无组件链接 |
| 材质与标注 | 支持基础涂色与尺寸标注 | 保留纯色与孔洞,忽略纹理与标注 | 无材质、无尺寸标注信息 |
在自有格式与导出边界上,细节也在快速变动。官网页面目前仍写着下载 .ketchup 项目文件,但最新文档已经将主推的可编辑格式更新为 .k3d(同时向下兼容旧的 .ketchup 后缀)。至于导出能力,它不支持把模型重新保存回 .skp 格式;导出的 OBJ 文件也只包含三角化后的网格面和可见边缘,剥离了所有材质、尺寸和组件层级,仅够把几何造型送进渲染器或切片软件。
- 风险.旧版 .skp 图纸导入后会丢失所有重复组件的联动关系,老项目迁移存在隐性返工成本,目前更适合用它从零新建木工项目。
最后还要留心项目背后的治理变量。目前 KetchUp 的版权归属统一署名为 KetchUp3D contributors,所有版本均由 github-actions 自动打包发布,从公开仓库里暂时无法核实具体人类开发者的真实身份与团队规模。同时,在 Hacker News 与 Reddit 等技术社区里,也还没有出现针对复杂大型装配体的独立性能实测反馈。对于厌倦了云端订阅制的木工和 Linux 用户而言,KetchUp v0.6.5 已经是一个趁手的新建项目利器;但它能否真正动摇 Trimble 的付费转化漏斗,接下来要看社区压测下的帧率表现,以及后续版本能否补上 .skp 组件实例的无损导入。
