文本转CAD引擎
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_bc886e82/paolaoshi 技能。
技能介绍
解决什么问题
工程师日常的CAD工作流里,最耗时的环节往往不是建模本身,而是把脑子里的零件描述“翻译”成软件能执行的指令:找模板、查标准、配图层、标公差。这个技能瞄准的就是这一步——把自然语言工程描述直接转成CAD模型、工程图和制造数据,让 设计一个法兰,直径200mm,厚度20mm,材料304不锈钢 这样的句子变成一个带标注的DXF文件。
核心能力与执行流程
技能的执行流程分五个阶段,每个阶段都有明确的输入输出契约:
- 阶段一:意图解析。从文本中抽取技术实体(尺寸、材料、公差、特征),判断操作类型是创建、修改、分析还是导出,并确定目标格式与单位。
- 阶段二:知识检索。从
references/industry-knowledge/加载行业标准,从references/cad-templates/获取模板,从references/nlp-patterns/匹配语言模式。 - 阶段二点五:联网检索与分步推荐。当用户只给了一段模糊描述、没有完整尺寸时,技能不会盲猜:先联网搜索该对象的标准特征和参考图纸,找到就用并记录来源;找不到则通过三步式提问(类型 → 关键尺寸 → 输出内容)逐项确认,生成前再汇总一次参数。
- 阶段三:代码生成。按目标CAD系统选择对应的代码生成器。支持FreeCAD(Python API)、OpenSCAD(CSG)、Onshape/Fusion 360(API)、STEP/IGES交换格式,以及ZWCAD/中望CAD(Windows COM via PowerShell)。关键原则是写代码前必须先读对应参考文件——尤其是ZWCAD那条,文档里列了多个静默产生错误输出的坑。
- 阶段四:DXF+PNG预览。生成DXF后用
ezdxf+matplotlib(Agg后端,中文标签配CJK字体)渲染PNG,两个文件一起交付,没有CAD软件的人也能看到结果。 - 阶段五:校验。检查语法、核对工程规则(尺寸、公差、材料),并与行业数据库交叉比对。
适用边界与注意点
- ZWCAD COM的坑不少:
Document.ActiveLayer的setter有竞态,必须在AddLine返回后显式设置entity.Layer;AddPolyline传扁平数组会抛0x80210011,画矩形改用四次AddLine;Utility.CreatePoint不存在,直接传[double[]] @(x,y,z);SendCommand在_PLOT、_EXPORT这类向导命令上会阻塞,改用COM方法。另外默认txt.shx字体渲染中文是乱码,需要建CN文字样式并设ActiveTextStyle。 - PowerShell 5.1 按ANSI解析脚本,中文字面量会被截断,要么用
[char]0xXXXX形式,要么把脚本存为UTF-8 BOM。 - 模糊输入不猜。缺尺寸就联网查,查不到就分步问,这是设计上的硬约束而不是可选策略。
- 复杂几何体会建议简化或转人工;不支持的格式会给出最接近的替代方案,而不是硬凑。
适用场景举例
法兰、圆柱壳体、DN50管路展开图这类有明确标准件特征的零件最合适;生成工程图并标注尺寸公差、输出BOM表、把描述转成STEP文件也都是典型用法。
使用场景
- 机械设计时,用一句带尺寸和材料的描述,生成法兰等标准件的三维模型与带标注的DXF工程图。
- 模型定稿后,自动生成带尺寸公差标注的工程图,并导出PNG预览供没有CAD软件的同事查看。
- 只有一句模糊描述、没有完整尺寸时,先联网查标准图纸,再分三步确认类型尺寸后生成模型。
- 装配体图纸完成后,从模型描述生成含材料牌号和数量的BOM表,供采购和工艺使用。
适合人员
- 机械工程师:想让一句自然语言描述直接变成可用的CAD模型和工程图,少敲命令少找模板。
- CAD标准化管理员:需要统一团队图纸的标注风格和DXF输出,并附带PNG预览便于归档分发。
- 工科课程设计教师:希望学生用自然语言就能出图,降低CAD软件的上手门槛。
- 采购或工艺人员:要根据零件描述快速拿到材料清单和数量,而不是自己翻标准手册。