
TextoCAD 发布:用自然语言生成可编辑 CAD 模型,本地运行
来源标题:Show HN: TextoCAD – Text to editable CAD (STEP/STL), runs locally with your key
TextoCAD 是一个免费、源码可得的文本转 CAD 引擎,用户用自然语言描述零件即可生成可编辑的参数化模型。它输出带命名尺寸的 CadQuery 和 OpenSCAD 脚本,并导出 STEP、STL、GLB、3MF 格式。支持 OpenAI、Anthropic、Gemini、DeepSeek 等多家模型密钥,本地运行。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
免费的、源码可获取的文本转 CAD 引擎:用通俗英语描述一个零件,得到可编辑的参数化模型。 生成带有命名尺寸的 CadQuery 和 OpenSCAD 脚本,并导出 STEP、STL、GLB 和 3MF,用于 3D 打印、机械设计和机器人。 在 textocad.com 上试用 · 示例 · 快速开始 · 故障排查 · 参与贡献 AI 图像和网格生成器给你的是一个无法编辑的团块。TextoCAD 则编写真正的 CAD 代码,因此你得到的是一个可以测量、修改和制造的模型。 📐 默认参数化。每个模型都是一个带有命名尺寸的 build(params) 脚本。把 wall_thickness 从 2 mm 改成 3 mm,几秒内即可重建,无需再次调用 AI。 ✅ 会自我检查。使用 --details 时,它会从你的提示词中提取可测量的要求(孔数、齿数、整体尺寸、圆角),测量构建出的零件,如果不匹配就重新生成。 🔑 可接入任意模型。支持 OpenAI、Anthropic (Claude)、Google Gemini、xAI、DeepSeek、OpenRouter、Mistral、Groq、Together 和 Fireworks 的密钥。 🖥️ 内置本地 Web 应用。通过对话设计和修改零件,在 3D 中旋转和检查它,拖动尺寸滑块,移动机器人关节并下载文件,全部在你自己的机器上完成。 只想做零件?textocad.com 上的托管版本无需安装。它增加了完整的浏览器编辑器、特征树、模型库,以及 Claude 和 ChatGPT 的连接器。你可以免费试用。 以下所有内容都是在 textocad.com 上根据所显示的提示词生成的。点击预览可观看完整视频。 创建一个带手柄的杯子。杯子应有一个小底座和一个略大、圆润的顶部,上面有一个椭圆形手柄。 即使是一个三个词的提示词,也会变成一个由两部分组成的模型,带有主体直径、高度、肩部和颈部的滑块。 创建一个无线电脑鼠标外壳,形状平滑、符合人体工学且对称,115 × 65 × 38 mm,壁厚 2 mm…… 创建一个无线电脑鼠标外壳,形状平滑、符合人体工学且对称。尺寸:长度 115 mm,宽度 65 mm,最大高度 38 mm,壁厚 2 mm,外边缘和拐角为圆角。包括:左右鼠标按键,间隔 1.5 mm;中央滚轮开口,宽 12 mm、长 28 mm;滚轮后方一个小的 DPI 按键开口;平坦的底面;底部的光学传感器开口;底部的 USB 接收器收纳仓;可容纳一节 AA 电池的电池仓;可拆卸的底部电池盖;四个用于鼠标脚垫的浅凹槽。不要添加线缆或线缆开口。模型应表示一个无线鼠标。将外壳创建为分开的顶部和底部零件,并将它们并排放置以便 3D 打印。 机器人模式构建一个 7 连杆机械臂,带有可拖动的关节限位,并导出 URDF。 你需要:Python 3.11 或 3.12(尚不支持 3.13+)、Git,以及来自任何受支持 AI 提供商的 API 密钥。 git clone https://github.com/harisharandangi/textocad.git 没有 Git?点击本页面上的 Code → Download ZIP 并解压。 首次运行会完成所有设置(需要几分钟)。之后几秒内即可启动。浏览器会在 http://127.0.0.1:8000 打开。 3. 在页面中粘贴你的 API 密钥并描述一个零件。密钥会由你的提供商进行校验,并且只保存在你的计算机上,位于 ~/.textocad/credentials.json。你可以随时通过顶部的密钥按钮更改或移除它。 就是这样。要停止 TextoCAD,请关闭窗口(或按 Ctrl+C)。要再次启动,运行同一个文件即可。 端口 8000 被占用?运行 start.bat --port 8080 或 ./start.sh --port 8080。 precision、organic 和 robotics 模式开箱即用。printing 模式还需要 OpenSCAD。请从 openscad.org 安装开发快照版,它比 2021 年的发布版快得多。 BOSL2 库会在首次需要时自行下载(固定版本并经过校验和验证)。 使用 uv 作为命令(无需克隆) uv 还会为你下载合适的 Python。 uv tool install --python 3.12 "textocad[server] @ git+https://github.com/harisharandangi/textocad.git" textocad serve 使用 uv tool upgrade textocad 更新,使用 uv tool uninstall textocad 移除。 在仓库的顶层文件夹(包含 pyproject.toml 的那个)中运行这些命令。 python3.12 -m venv .venv # Windows: py -3.12 -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\Activate.ps1 pip install -e ".[server,gears]" textocad serve gears 附加项会添加 cq_gears,用于精确的渐开线齿轮。 git pull 然后照常启动。启动脚本只在依赖项变化时才会重新安装。 命令行 如果你使用了启动脚本,命令位于 .venv 文件夹内:Windows 上是 .venv\Scripts\textocad,macOS 和 Linux 上是 .venv/bin/textocad。
生成一个模型
textocad generate "parametric phone stand, 75 degree angle" --mode printing --out stand
更改尺寸并重建,无需调用 AI
textocad rebuild stand/result.json --set angle=65 width=90
规划、对照提示词验证并修复(较慢,但更准确)
textocad generate "spur gear, module 2, 24 teeth, 8 mm bore" --mode precision --details 每次运行都会将脚本、result.json(参数和元数据)以及导出的文件写入输出文件夹。 textocad serve 会在 http://127.0.0.1:8000 启动一个包含三个面板的页面: 快捷键:F 适配,0 等轴测,1 前视,3 右视,7 顶视,O 正交,E 边线,X X 光,G 网格,Space 播放机器人运动。 同一个服务器会响应 POST /generate(传入 parentId 可修改先前的构建)和 POST /builds/{id}/rebuild。 from textocad.generate import generate result = generate("M8 flange bearing housing, 60 mm square base, four 6.5 mm holes", mode="precision", out_dir="housing") print(result.files["step"], result.params) 工作原理 prompt ──► 模式路由 ──► LLM 编写 build(params) 脚本 ──► 沙盒构建 ──► STEP / STL / GLB / 3MF ▲ │ └──── 对照要求测量 ◄─────┘ (--details) 路由。提示词会被匹配到一个模式,或者你使用 --mode 自行选择。 编写。模型会编写一个带有参数列表(名称、值、最小值、最大值、单位)的 CadQuery 或 OpenSCAD 脚本。
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。