ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

text-to-cad 的 CAD Brief 方法:把自然语言、参考图与工程图转化为可建模的设计契约

text-to-cad 的 CAD Brief 方法:把自然语言、参考图与工程图转化为可建模的设计契约 text-to-cad 的 CAD Brief 方法把自然语言、参考图与工程图转化为可建模的设计契约【免费下载链接】text-to-cadA library of agent skills for CAD, CAE and CAM项目地址: https://gitcode.com/GitHub_Trending/tex/text-to-cad在 text-to-cad 这个面向 Agent 的 CAD/CAE/CAM 技能库中$cad技能定义了从用户的一句话需求到经验证的 STEP 工件的完整工作流其中撰写 CAD brief建模简报是动手写代码前强制执行的中间步骤。本文以仓库内 cad-brief.md 为主体完整讲解 brief 应回答的六个核心问题、参考图与工程图两类输入模态的提取规则、标准 brief 格式模板及两个可直接套用的示例并结合 SKILL.md 的十步工作流与 inspection-and-validation.md 的几何验证工具说明 brief 中的每一项假设如何落地为可执行的measure/refs检查。读完本文你能够为任意 CAD 需求散文描述、参考图、2D 工程图或其组合写出信息完备的建模简报并据此规划 build123d 源码、参数命名与验证目标。1. 定位Brief 是写代码前的强制中间产物cad-brief.md 开篇明确了该文件的使用场景当你要把用户的请求——散文描述、参考图、技术图纸或它们的组合——转化为 CAD brief 时读取它。两个关键定性brief 是内部的笔记脚手架internal note-taking scaffold。不要要求用户填写它也不要要求用户提供 JSON。即使用户主动给出了 JSON也应提取其中同样信息但继续以散文笔记和 build123d 源码推进工作流。brief 的目标是在写源码或运行工具之前把请求变成可执行的建模简报。所有输入模态文字、图片、图纸都汇入同一个 brief下游工作流不随输入形式改变。这一点在 SKILL.md 的 Required workflow 中可以得到印证CAD 技能定义了十步强制流程其中第 1 步是任务分类新零件、新装配体、源码修改、直接 STEP 检查、快照审查、二次输出等第 3 步正是撰写自然语言 CAD brief——从所有已提供的输入中提取尺寸、单位、坐标约定、特征意图、输出路径、假设与验证目标并且明确指向references/cad-brief.md。换句话说brief 不是可选的文档练习而是从理解需求跨入编辑源码第 6 步之前的关卡。1.1 Brief 必须回答的六个问题cad-brief.md 要求 brief 逐一回答建模对象是什么是单个零件part、装配体assembly、修改任务modification、检查任务inspection还是二次输出请求secondary output指定了哪些尺寸和单位哪些缺失的尺寸是可以推断的哪些特征是必需的holes, slots, ribs, bosses, pockets, shells, text 等哪些面、轴、原点、关节或接口控制定位请求了哪些输出文件在报告成功之前必须验证什么最后一条问题把 brief 直接连接到技能库的验证体系brief 中的 Validation targets 不是愿景而是后续必须实际运行的检查项见第 4.3 节的工具映射。1.2 输入冲突时的裁决规则当输入互相矛盾时原文给出两条裁决规则带标注尺寸的来源胜过图片比例。工程图或文字给出的 120 mm 优先于从参考图目测出的比例。两个带标注尺寸的来源冲突时标记冲突而不是默默二选一。例如文字说孔距 30 mm、图纸标注 32 mm正确做法是在 brief 中 flag 这个矛盾而不是悄悄选一个值继续建模。这条规则防止了 Agent 类工作流中最典型的静默错误——把不可靠的推断当成规格执行。2. 输入模态一参考图——设计意图而非规格cad-brief.md 对参考图的第一句定性很重要没有给定尺寸的图是设计意图design intent不是规格spec。围绕这一定性有四条操作规则建立比例尺。从一个已给定的尺寸、或画面中的已知物体确定比例如果两者都不存在且装得下fit又很重要这是唯一一个应该向用户提出的澄清问题。其余比例从图中估算并像其他推断值一样记录为假设assumption而不是悄悄采用。区分复刻与灵感。把这个零件建模出来reproduction与来点类似这样的东西inspiration在 brief 中必须区分标注复刻提高了保真度期望灵感则保留自由发挥空间。复刻任务要规划一个从参考图视角出发的快照在视觉审查阶段把它与原图对比。最后一条规则在 snapshot-review.md 的Targeted additions一节有直接对应的操作支撑当 brief 是参考图复刻任务时应追加one snapshot from the reference images viewpoint for side-by-side comparison——即按参考图视角渲染一张快照做并排对比。该文档同时给出快照 JSON 作业的完整示例view模式、多相机输出、sizeProfile: diagnostic渲染参数brief 中的这一条计划最终就落地为这样一份快照作业。3. 输入模态二工程图——带尺寸的契约与参考图相反工程图是带尺寸的契约dimensioned contract必须系统化提取。cad-brief.md 给出六条提取规则先读标题栏和注释单位、投影法第一角/第三角、版本revision、免责声明。先分清每个视图是什么再提取数字——主视/俯视/侧视、剖视、局部放大、轴测以及各视图映射到哪些模型轴。信任标注callouts和视图标签不要信任版式惯例。剖视图是内部特征的事实来源孔bores、沉孔与盲孔深度、壁厚都以剖视为准。把每条尺寸标注转化为一个命名参数和一个验证目标。数量标注4X、TYP.典型值、螺纹/沉孔/锪孔标注要展开为特征 检查项。绝不从图片上缩放未标注的几何。能在约束下从已给尺寸推导就推导否则假设并报告。跨视图交叉核对特征视图之间不一致时优先采用带尺寸的视图并标记冲突。图纸驱动模型的验收标准图纸上的每一条尺寸要么在生成后通过measure/refs得到验证要么被明确报告为未验证。规则 3 中命名参数的落点在 parameters.md参数是模型契约的一部分应使用 snake_case 语义命名如wall_thickness、bearing_clearance并写明单位、默认值、min/max、步长、影响的特征与验证方式。工程图标注 → 命名参数 → 验证目标构成一条完整的可追溯链。规则 6 中measure/refs的落点在 inspection-and-validation.md验证序列要求每个工件先跑refs --facts --planes --positioning基线检查再对用户规格点名的每一个尺寸、间隙或关系运行定向的measure、align、frame、diff检查——来自技术图纸的尺寸被明确列为必须用measure/align/frame验证的对象之一。CLI 侧的实现入口是 inspect_cad_refs其签名暴露了facts、planes、positioning、detail、include_topology等开关以及平面容差plane_coordinate_tolerance、最小面积比plane_min_area_ratio、平面数量上限plane_limit等可调参数。4. Brief 格式模板与逐行解读cad-brief.md 规定 brief 使用简洁的 Markdown 笔记而不是面向用户的结构化 schema。标准模板如下完整继承原文可整体复制使用CAD brief: - Model: part or assembly name - Task type: new part, assembly, modification, inspection, secondary output - Inputs: reference images or drawing views used; omit when prose-only - Units: explicit or assumed - Coordinate convention: origin, base plane, up axis - Overall dimensions: width/depth/height or equivalent - Functional features: holes, slots, ribs, bosses, pockets, shells, text, etc. - Manufacturing assumptions: only when relevant - Positioning/mating: interfaces, datums, child placements, joints, alignment rules - Paths: generator .py, STEP target, secondary outputs if requested - Validation targets: bbox, solid count, labels, spec-driven measurements, refs - Assumptions: only meaningful inferred choices逐行补充仓库上下文让每个字段都有可操作的含义Task type五选一的划分与 SKILL.md 工作流第 1 步任务分类一一对应并决定后续流程深度简单零件需要短 brief 和少量规格驱动检查装配体与配合关键任务则需要完整的定位与对齐验证scale depth to the task。Units / Coordinate convention对应技能的默认假设毫米、XY 基准面、Z 为挤出/向上方向原点选择遵循 positioning.md 的零件类型默认值——对称独立件取体心、板类取 footprint 中心、壳体取 footprint 中心且盖/底座配合面由 Z 参数控制、轴对称件取旋转轴。Positioning/mating是装配体 brief 的核心字段。positioning.md 要求定位在源码中编写、生成后验证authored in source and validated after generation每个数值Location(...)应对应一个已陈述的基准面、偏移、间隙、螺钉轴或面接触关系装配结构优先采用AssemblyHelper语义关系face_to_face、coaxial、revolute等加原生 build123d 关节而不是任意变换。Paths一行受 step-generation.md 的命名约定约束可独立构建的生成器必须命名为name.step.py这是查看器目录与构建工具扫描的标记生成的逻辑 STEP 为同名的name.step纯辅助模块保持name.py。SKILL.md 还要求STEP 输出与它的 Python 生成器放在同一目录、同名基名除非用户另有要求——brief 里先写清这两条路径避免生成后再纠结落盘位置。Validation targets把 brief 直接绑定到 inspection-and-validation.md 的工具集bbox/solid count/labels→refs --facts报告数量、包围盒、标签spec-driven measurements→ 逐条measure--from #sel_a --to #sel_b --axis xaxis 可推断但确定性检查建议显式指定 x/y/z配合面共面/居中 →align返回两 ref 间平移差修正回源码执行朝向与 placement →frame修改任务 →diff对比前后工件。另需注意refs --facts的ok字段只表示所有 ref 解析成功不是几何正确性声明——五面的开放盒子和倒置的实体都会报ok: true几何健全性闭壳、正体积、无自交要靠inspect validate确认。Assumptions只记录有意义的推断选择如圆角未指定取 3 mm这些值最终会出现在给用户的最终报告里——SKILL.md 要求最终响应包含实际运行的验证、假设与注意事项。4.1 示例一简单零件用户输入cad-brief.md 原文示例Make a 100 mm by 60 mm by 6 mm mounting plate with rounded corners, four M4 clearance holes 10 mm in from the corners, and a 20 by 12 mm rectangular cutout in the center.Agent 生成的 briefCAD brief: - Model: mounting_plate, single STEP part. - Units: millimeters. - Origin: center of plate; base plane XY; Z is thickness direction. - Body: rounded rectangular plate, 100 × 60 × 6 mm. - Corner radius: not specified; assume 3 mm. - Holes: four 4.5 mm M4 clearance through-holes, 10 mm in from each corner. - Cutout: centered rectangular through-cut, 20 × 12 mm. - Validation: one positive-volume solid, bbox 100 × 60 × 6 mm, four holes, one center cutout, label mounting_plate.这个示例浓缩了 brief 方法的三个典型手法M4 clearance holes 被展开为具体数值4.5 mm 通孔。这正是 SKILL.md 默认假设表中的标准值——M3/M4/M5 常规通孔3.4/4.5/5.5 mm除非用户要求其他标准。标准件展开成数字是特征 检查项落地的样板。未指定项显式记为假设圆角半径未给定 → assume 3 mm与默认假设表装饰性圆角几何局部安全时 1.0–3.0 mm一致且假设被写进 brief 而不是消失在代码里。验证目标与几何一一对应一个正体积实体、bbox 100×60×6 mm、四个孔、一个中心切槽、label 为mounting_plate。这些在生成后分别由refs --facts数量、包围盒、标签和定向measure检查兑现。4.2 示例二装配体用户输入Design a two-piece enclosure, 120 by 80 by 35 mm, with a lid that sits on top and four screw bosses aligned between base and lid.Agent briefCAD brief: - Model: enclosure assembly with base and lid. - Units: millimeters. - Assembly origin: center of enclosure footprint; Z upward. - Base: hollow lower shell, exterior 120 × 80 mm footprint; height derived from total height minus lid thickness. - Lid: separate plate on top; assume 3 mm lid thickness unless user gave another value. - Bosses: four aligned screw bosses; assume M3 unless unspecified dimensions make this unsafe. - Positioning: base top face and lid bottom face are mating datums; screw axes must align; native build123d joints may be used if they clarify reusable mount points or motion. - Validation: labeled base and lid children, bbox near 120 x 80 x 35 mm, aligned hole/boss axes.装配体 brief 相对零件 brief 多了三个要点派生尺寸显式声明推导链base 高度 总高 − 盖厚而不是塞一个 magic number。定位字段点明配合基准底座顶面与盖底面是配合基准mating datums螺钉轴必须对齐——这与 positioning.md每个数值变换应对应一个已陈述的基准/关系的核心规则同构brief 中native build123d joints may be used if they clarify reusable mount points or motion一句也对应 SKILL.md 对装配体的建议AssemblyHelper 源码级关节 命名胜任面 原生标签。验证目标升级为装配体语义带标签的 base/lid 子节点、bbox near近似120×80×35 mm、孔/凸台轴对齐——轴对齐检查在 CLI 侧由frameoccurrence 变换与世界坐标系与align--mode flush --axis z类检查承担。5. 澄清策略什么时候该问什么时候该继续cad-brief.md 的总原则只有当缺失信息影响配合fit、安全safety、合规compliance或使零件根本无法建模时才问一个聚焦的问题。其余情况一律带着假设继续推进并在报告中说明假设。应当提问的情形物理对象完全没有给出尺寸且所供图片中不存在比例参照描述了配合接口但配合几何未指定零件是安全关键、承力、承压、医疗或受合规约束的请求的输出依赖一个缺失的源文件或缺失的导入几何。不应当提问的情形默认通孔标准已经够用对应 SKILL.md 的 M3/M4/M5 通孔默认值装饰性圆角半径可以安全假设对应 1.0–3.0 mm 默认区间原点/朝向可以自己选定并报告用户要的是概念性初版 CAD 模型。这套二分法与技能级规则完全一致SKILL.md 在 Default assumptions 末尾同样写着ask one focused clarification question only when missing information makes the model impossible, fit-critical, safety-critical, or compliance-bound。其工程动机在于 Agent 工作流的轮次成本每多问一轮用户上下文就多一分漂移而假设 报告策略既保住了进度又让用户在最终报告中有一处可推翻推断的明确入口。6. 成功标准什么样的 brief 算可以开工cad-brief.md 结尾给出了 brief 就绪的判定标准——包含足以定义以下五项的信息brief 即可进入建模源码文件路径与 STEP 目标路径Paths单位与局部坐标系Units / Coordinate convention命名参数Functional features 展开后的参数集特征计划与标签feature plan and labels预期包围盒或关键测量值Validation targets。把这五条与技能库下游流程对照brief 的价值闭环就完整了SKILL.md 第 5 步plan before coding先定义参数、意图标签、源路径、预期 bbox、配合基准再动笔、第 8 步几何验证refs --facts --planes --positioning基线 规格驱动的measure/align/frame/diff、第 9 步主 STEP 快照审查是强制的snapshot-review.md 规定每个新建或可见更新的主工件至少一张经审查的 PNG 快照确定性检查通过不是跳过理由最终在第 10 步形成检查失败 → 修改最小责任源码段 → 重新生成 → 重跑失败的验证的修复回路详见 repair-loop.md。brief 里没写进 Validation targets 的尺寸就没有对应的检查义务写进去的每一条都必须在最终报告的 Validation 段落里以passed/实际运行的形式交代——inspection-and-validation.md 的验证报告结构STEP generation、solids/assembly、bounding box、major planes/refs、positioning、feature checks、visual review 七段正是这份交账清单。7. 小结Brief 作为 Agent 建模的契约层把 cad-brief.md 放回 text-to-cad 仓库的整体结构中它的角色可以概括为需求与代码之间的契约层brief 字段下游兑现位置Coordinate conventionpositioning.md 的零件局部原点/基准规则源码中的Location/关节Functional features命名参数parameters.md 的 snake_case 参数契约与 sidecar 声明Pathsstep-generation.md 的name.step.py/name.step命名约定scripts/gen --write落盘Validation targetsinspection-and-validation.md 的refs/measure/align/frame/diff/validate与强制快照审查Assumptions最终响应的assumptions and caveats报告段这套设计对用 LLM 做 CAD这个任务类型有三个直接收益其一把图片/图纸这类不可验证输入强制降解为尺寸、假设、验证目标三件套推断值全部显性化其二冲突裁决规则尺寸源胜过图片比例、双尺寸源冲突必须标记从流程上消除了静默选择其三澄清策略的二分法该问的四类 / 不该问的四类控制了 Agent 与用户之间的交互轮次同时把安全关键件挡在自行假设之外。参考 cad-brief.md 的模板与两个完整示例配合 SKILL.md 的十步工作流即可在自己的 CAD 自动化流水线中复刻这套先契约、后代码、再验证的建模纪律。【免费下载链接】text-to-cadA library of agent skills for CAD, CAE and CAM项目地址: https://gitcode.com/GitHub_Trending/tex/text-to-cad创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表