news 2026/10/15 17:46:42

为什么选择SketchForge本地优先设计:你的3D模型如何100%留在浏览器里

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为什么选择SketchForge本地优先设计:你的3D模型如何100%留在浏览器里

【免费下载链接】SketchForge-3D

A local-first browser 3D design editor for building, cutting, importing STL files, and exporting models.

项目地址:https://gitcode.com/gh_mirrors/sk/SketchForge-3D
点击查看免费下载

SketchForge 是一款免费的开源 3D 建模工具,也是真正"本地优先"(local-first)的浏览器 3D 设计编辑器:你画的每一个形状、挖的每一个孔,都自动保存在你自己的浏览器里,导出文件由浏览器直接生成下载,全程不需要注册账号,也不存在所谓的"SketchForge 云端"。

什么是"本地优先":先搞清楚你的模型存在哪

很多在线工具宣传"网页版建模",但你的文件其实存放在别人的服务器账号里。SketchForge 的做法完全不同:所有设计数据都写入你浏览器自己的本地存储,具体分布在两处——

数据内容存储位置说明
项目列表、名称、时间戳localStorage(键名sketchForge.projects)首页项目卡片的元数据
模型几何体、撤销/重做历史、导入的网格IndexedDB(数据库sketchForge.projectShapes)容量大、异步读写,适合存 3D 数据
剪贴板、主题、下载偏好等localStorage小体量设置项

对应的实现分别位于 apps/web/src/app/page.tsx 和 apps/web/src/components/SketchForgeEditor.tsx。

这里有一个容易被忽略的细节:IndexedDB 是浏览器沙箱内的独立数据库,它和你日常浏览网页的 Cookie、缓存隔离管理,只有你打开 SketchForge 的那个站点才能读取。换句话说,"留在浏览器里"不是营销话术,而是架构上的默认行为。

自动保存在本地:关闭浏览器,模型也不会丢

你在编辑器里拖动尺寸、旋转模型、把某个形状变成"孔"再分组——这些操作会同步写入 IndexedDB,形成带撤销历史的完整项目记录。

  • 自动备份:不需要手动"保存到服务器",离开页面再回来,项目原样恢复
  • 缩略图本地生成:首页的项目卡片缩略图在浏览器端生成,不需要把模型传给任何后端
  • 历史可回滚:撤销/重做状态也一起持久化,重开项目后还能继续回退

文件如何离开浏览器:导出即下载,全程不经云端

当 3D 模型做完了,文件"出浏览器"的唯一方式就是你自己的下载动作。SketchForge 支持五种导出格式:

STL(3D打印) ·OBJ·STEP(工程B-Rep) ·SVG·.skf(原生项目包)

其中 STL 的生成完全在浏览器端完成——三角面坐标在页面内转换、拼接,然后触发浏览器下载,见 apps/web/src/lib/stlExport.ts,文件名规则见 apps/web/src/lib/exportNames.ts。

最值得了解的是原生的.skf项目格式:它本质是一个 ZIP 压缩包,内含project.json(完整可编辑的模型定义)和去重后的资源文件,每个资源都带SHA-256 校验,打开时会先做完整性验证再恢复。格式细节完整记录在 docs/SKF_PROJECT_FORMAT.md,打包与校验逻辑在 apps/web/src/lib/skfProject.ts。这意味着你可以把.skf当作"设计存档"随意拷贝到 U 盘、发给同事,而不依赖任何在线服务。

想要多人共享?可选的共享库,而非强制上云

如果是教室、FabLab 或局域网多人使用,SketchForge 提供可选的Docker 部署:通过一条命令启动服务,局域网内其他电脑打开http://<服务器IP>:3000/即可使用。

即便启用共享模式,本地优先的底线依然成立:

  • 私有项目始终自动保存在每位用户自己的浏览器里,共享库只是额外的.skf文件库
  • 共享保存走同源接口并做版本号冲突检查,别人改过的文件会拒绝覆盖,见 apps/web/src/app/api/shared-projects/route.ts
  • 部署配置见 deploy/docker/compose.yaml,服务只监听局域网,没有对外云依赖

本地优先带来的 4 个实际好处

  1. 零账号、零锁定——不注册、不登录,浏览器一关数据不丢,换电脑拷一个.skf就走
  2. 隐私可控——设计图不上网,对保密的零件模型尤其友好
  3. 算力就在本地——布尔运算、STEP 解析由浏览器内的 WASM 几何内核(Manifold、OCCT)完成,局域网部署下延迟极低
  4. 轻部署——没有数据库、没有账号系统,一条docker compose命令即可在旧工作站上跑起来

快速上手:把SketchForge跑起来

两种方式任选其一(推荐 Docker):

方式一:Docker(推荐,适合教室/机房)

git clone https://gitcode.com/gh_mirrors/sk/SketchForge-3D cd SketchForge-3D docker compose -f deploy/docker/compose.yaml up --build -d

方式二:本地开发(适合想改代码的人)

npm install npm run dev

然后打开http://127.0.0.1:3000/,新建项目、拖一个方块、导出 STL——从这一刻起,这个 3D 模型就只属于你的浏览器了。

总结

选择 SketchForge 的本地优先设计,本质上是选择了一种数据主权归你的 3D 建模方式:项目自动存在浏览器的 IndexedDB 里,导出文件由浏览器本地生成并下载,多人协作时共享库也是你局域网里可选的一台 Docker 服务。对于不想被账号和云端绑住的个人创客、教师或工作室来说,这就是浏览器 3D 建模工具最让人安心的一种形态。

【免费下载链接】SketchForge-3D

A local-first browser 3D design editor for building, cutting, importing STL files, and exporting models.

项目地址:https://gitcode.com/gh_mirrors/sk/SketchForge-3D
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 17:46:42

CAsyncSocket实战:MFC异步Socket事件机制与避坑指南

简介&#xff1a;一个涵盖客户端与服务端的CAsyncSocket示例项目&#xff0c;完整演示了在MFC框架下构建基于TCP/IP的异步通信过程&#xff0c;适合正在学习Windows网络编程、希望掌握套接字事件驱动模型的开发者。客户端与服务端双工程对照展示&#xff0c;从Create创建套接字…

作者头像 李华
网站建设 2026/10/15 17:45:36

C++从零手搓CNN:MNIST实战与嵌入式部署指南

简介&#xff1a;这份资源面向深度学习初学者与具备一定C基础的开发者&#xff0c;用纯C从零实现卷积神经网络与全连接神经网络&#xff0c;并在MNIST手写数字数据集上完成训练与精度验证&#xff0c;帮助读者绕开框架黑盒&#xff0c;真正理解卷积、池化、反向传播与梯度下降的…

作者头像 李华
网站建设 2026/10/15 17:45:36

浏览器扫码实战:html5-qrcode 同时识别条形码与二维码的落地指南

简介&#xff1a;这是一份面向前端开发者的网页扫码功能插件资源&#xff0c;基于 HTML5 与 JavaScript 实现&#xff0c;可在浏览器中调用摄像头识别条形码与二维码&#xff0c;适用于电商商品查询、物联网设备配对、移动支付验证等需要便捷数据录入的场景。压缩包共 88 个文件…

作者头像 李华
网站建设 2026/10/15 17:45:23

并查集实战:无向迷宫与有向树的判定逻辑差异

1. 这两道题不是“树”的判断题&#xff0c;而是并查集的临床诊断手册刚接触 HDU 1773 和 HDU 1325/POJ 1308 的时候&#xff0c;我下意识地翻开了《算法导论》里关于“树”的定义&#xff1a;连通、无环、边数 顶点数 - 1。结果交了七次&#xff0c;WA&#xff08;Wrong Answ…

作者头像 李华
网站建设 2026/10/15 17:45:21

小学C++初赛卷深度解析:信息学选拔的计算思维门槛

简介&#xff1a;本资源为第二十九届厦门市小学生计算机C语言竞赛&#xff08;初赛&#xff09;试卷&#xff0c;面向备战小学信息学竞赛的学生、指导教师及家长&#xff0c;可用于赛前模拟自测与知识点查漏补缺。试卷内容覆盖信息技术概念、C语法基础、算法特性、数据结构、硬…

作者头像 李华