免安装的浏览器 CAD 五分钟上手:SolidCraft 改一个参数,整个零件跟着重建

发布时间:2026/11/4 11:56:37
免安装的浏览器 CAD 五分钟上手:SolidCraft 改一个参数,整个零件跟着重建 免安装的浏览器 CAD 五分钟上手SolidCraft 改一个参数整个零件跟着重建【免费下载链接】solidcraftSolidCraft: an open-source parametric 3D CAD application built in pure Rust. Desktop, web, and automation through MCP.项目地址: https://gitcode.com/gh_mirrors/so/solidcraftSolidCraft 是一个纯 Rust 编写的开源参数化 3D CAD桌面应用、浏览器 WASM 端和给 AI 代理用的 MCP 服务器共享同一套内核与同一套命令体系不存在功能阉割。下文免安装跑一遍浏览器版并拆解改一个参数整个模型重建的机制。先读懂分层一个内核如何装进三种入口动手之前先看 architecture.md 里的分层表workspace 按层切分crate 只能依赖更低的层cargo xtask layers会强制校验。自底向上是geom向量、平面、网格→sketch/kernel/render约束求解器、B-rep 内核边界、光栅化→doc参数、表达式、特征时间线及其增量求值→io设计文件与 STEP/3MF 等导入导出→engine会话与命令注册表用户能做的一切都是一条命令→ui-egui/mcp可替换的前端和 MCP 服务最上面才是solidcraft与solidcraft-cli两个应用壳。浏览器版的位置一句话它不是重写版而是桌面前端编译成 wasm 后换了个宿主。main.rs 的文件头注释写得直白——通过 eframe 的 web runner 运行与桌面版相同的solidcraft_ui_egui::SolveAppWebGPU 可用则用 WebGPU否则回退 WebGL2本地构建命令是trunk build --releasebuilding.md。入口本身就一页 HTML一个全屏canvas加一行加载提示其余全在 wasm 里完成。首次访问后应用本身可离线运行浏览器会留一份副本getting-started。分层带来的直接后果工具栏点击、JSON 脚本、solidcraft-cli、控制通道、MCP 工具走的是同一份命令注册表全量清单见 features.md。浏览器里每一次点击本质上都是往这套 WASM CAD 内核里发一条命令。实操一遍把 thickness 从 8 mm 改成 12 mm看时间线怎么重建打开网页入口URL 上带?sample内置示例 Sample Plate 直接加载。它的构建脚本就在 sample.rs共 24 条命令主干是这样{commands: [ {command: parameters.change, params: {name: width, expression: 80 mm}}, {command: parameters.change, params: {name: thickness, expression: 8 mm}}, {command: sketch.create, params: {plane: XY, name: Base}}, {command: sketch.rectangle.two_point, params: {p0: [0, 0], p1: [80, 50]}}, {command: sketch.constraint.coincident, params: {a: p1, b: origin}}, {command: sketch.dimension, params: {entities: [l1], value: width}}, {command: sketch.finish, params: {}}, {command: solid.extrude, params: {distance: thickness, body_name: Plate}}, {command: solid.fillet, params: {edges: [[0,0,4],[80,0,4],[80,50,4],[0,50,4]], radius: 6 mm}} ]}省略的部分是两枚 Ø8 通孔、顶面 Ø24 凸台和 Ø12 底孔它们的平面偏移量与拉伸距离全部引用thickness。注意sketch.dimension的 value 写的是width而不是80——尺寸值直接绑定用户参数这就是参数化建模的最小闭环。实操线四步加载内置示例?sample相当于把上面脚本一次性跑完命名 Sample Plate。改一个参数打开 Change Parameters即parameters.change命令把thickness的表达式改成12 mm回车。观察增量重建板厚、凸台平面、底孔平面全部跟随新值。规则写在 parameters.md——时间线从第一个引用该参数的特征起重建而不是推倒全部引擎在 eval.rs 里用last_recomputed记录每次求值实际重算了几个特征。sample.rs 里的测试断言了这件事改成 12 mm 后模型无一处报错零件顶面精确落在 26 mm板厚 12 凸台 14底孔依然打穿。手动追加一条特征再回滚选中顶面执行solid.fillet时间线多一格然后移动回滚标记timeline.rollbackfeatures.md 里的 Move Timeline Marker零件退回回滚点之前的状态不必连按 CtrlZ。仓库自带的演示动图记录了另一轮完整迭代树莓派 4 外壳的参数化草图、圆角、抽壳、阵列支架最后把高度从 24 mm 改成 32 mm整个模型当场重建6 倍速播放。两个机制细节值得记住表达式是单位感知的README 的卖点清单原话 unit-aware expressions2 * width 5 mm这类写法合法约束求解是自研的草图里的尺寸由求解器驱动参数改动的传播靠时间线而非全局刷新。对一笔差异账浏览器版到底舍掉了什么同一套代码不等于零差异。差异的来源是浏览器沙箱源码把每一项都交代得明白维度桌面版浏览器版渲染管线wgpu 原生后端MSAA 默认 4×24 位深度 8 位模板main.rs 的MSAA/STENCIL_BITS常量eframe web runner32 位浮点深度模板缓冲为 0注释直言 eframes web painter has no stencil buffermain.rs文件存储系统对话框直接读写磁盘虚拟/opfs/路径后接 OPFS浏览器按源隔离的私有存储未保存工作每 30 秒自动备份离开页面时弹beforeunload确认页面非 HTTPS/localhost 时降级 localStorage容量几 MB 顶天files.rs空间鼠标HID 直读六轴Windows/macOS/Linux 三套驱动space_mouse.rs走浏览器 Gamepad APIChrome/Edge 可用Firefox 不枚举设备getting-started外部自动化--control PORT控制端口solidcraft-cli mcp --connect桥接驱动态 appmcp.md无控制端口改由页内window.solidcraft.execute(...)驱动命令 id 与撤销历史和桌面控制通道一致browser-api.md崩溃恢复恢复文件写本地用户数据目录recovery.rs恢复文件存 OPFS重开页面弹 Recover unsaved work? 询问CJK 字体本地内置界面切到中日韩语言才按需拉取字体文件拉取失败本次会话回退英文避免拖慢首屏main.rs 的tick_font收窄的原因其实只有一条浏览器只通过沙箱化 API 暴露 GPU、文件与设备读不到的要么降级要么去掉。但有一个反向收益设计数据默认不出浏览器——保存的零件只存在于这个浏览器源头的 OPFS 里换浏览器、换设备就互相不可见。对在意数据落点的场景这种隔离反而是加分项代价是设计想带回家必须点下载把文件取出来。按场景选入口哪些活给浏览器哪些活装桌面版快速验证想法、给学生做网页 3D 建模演示、单纯好奇内核怎么跑 → 浏览器版。免下载建模要求只有 WebGPU 或 WebGL2?sample直接给一个带参数、带时间线的零件约束、尺寸、表达式、增量重建这些参数化 CAD 的核心一环不少。要本地文件管线、空间鼠标 HID、崩溃日志、--control自动化 → 桌面版。README 的 Download 一节有各平台安装包源码构建只需 stable Rust。无头建模、批量出图 → CLI 与 MCP。solidcraft-cli run examples/bracket.json --out bracket.step一条命令把 JSON 脚本变成 STEPsolidcraft-cli mcp不开窗口独立跑一个设计会话AI 代理通过 MCP 工具直接建模、测量、导出mcp.md。无界面建模这条线在 CLI 侧比浏览器版更完整。一个可执行的下一步在浏览器里把零件改到位后打开文件面板点 Download open design 把.sc文件存到电脑随后用桌面版打开继续编辑或丢给solidcraft-cli批处理。两个入口共享同一设计格式、同一套命令——在网页里画到一半的零件随时可以带走。【免费下载链接】solidcraftSolidCraft: an open-source parametric 3D CAD application built in pure Rust. Desktop, web, and automation through MCP.项目地址: https://gitcode.com/gh_mirrors/so/solidcraft创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考