工业软件集成设想:Nanbeige 4.1-3B 辅助SolidWorks宏脚本编写

张开发
2026/4/17 20:11:43 15 分钟阅读

分享文章

工业软件集成设想:Nanbeige 4.1-3B 辅助SolidWorks宏脚本编写
工业软件集成设想Nanbeige 4.1-3B 辅助SolidWorks宏脚本编写1. 引言如果你用过SolidWorks肯定对宏脚本不陌生。那些用VBA写的自动化脚本能帮你把重复的建模步骤打包成一个按钮点一下就能自动完成。想法很美好但现实是写宏脚本这事儿对很多工程师来说门槛不低。你得懂VBA语法还得熟悉SolidWorks那庞大的API对象模型哪个属性对应哪个操作记起来就头疼。于是一个很自然的想法就冒出来了能不能用自然语言来指挥SolidWorks比如我直接说“给这个零件的外边缘倒个R5的圆角”或者“在这几个面上打一排等距的孔”然后电脑就能自动把对应的宏脚本写出来甚至直接执行。这听起来有点像给SolidWorks配了个AI助手。最近像Nanbeige 4.1-3B这类轻量级大语言模型的出现让这个设想有了落地的可能。它不需要庞大的算力可以部署在本地或边缘设备上正好契合工业软件对数据安全和响应速度的要求。今天我们就来聊聊如何把这样一个“AI助手”集成到SolidWorks的工作流里让它帮你从繁琐的代码编写中解放出来把精力真正花在设计上。2. 场景与痛点当工程师面对重复建模想象一下这些日常场景参数化系列件设计你需要基于一个基础模型生成十几个尺寸不同的变体。每个变体都要手动修改草图尺寸、重新拉伸、重新打孔……一遍又一遍。标准特征库应用公司有一套标准的设计特征比如特定规格的散热齿、安装凸台。每次使用你都需要回忆并重复那一连串的拉伸、切除、倒角操作。工程图批量处理出完图后要给几十张图纸的注释统一字体、添加特定格式的标题栏。手动操作枯燥且易错。设计变更同步一个关键尺寸改了与之关联的多个特征都需要手动调整。漏掉一个就可能出问题。这些工作的共同点就是高度重复、规则明确但步骤繁琐。用宏脚本自动化是标准解决方案但瓶颈在于脚本的创建和维护。工程师需要花费额外时间学习编程、调试代码这偏离了他们的核心价值——设计与创新。一个能理解设计意图、并转化为代码的AI助手价值就在这里。3. 解决方案设想Nanbeige模型如何充当“翻译官”我们的核心思路是让Nanbeige 4.1-3B模型扮演一个“从自然语言到API指令”的翻译官。它不需要理解复杂的物理场或进行有限元计算它的任务更聚焦理解用户关于几何创建和修改的意图并映射到正确的SolidWorks API调用序列上。整个流程可以设想为以下几个步骤3.1 用户输入与意图解析用户通过一个插件界面输入自然语言描述。例如“在前视基准面上创建一个直径50mm、高20mm的圆柱体。” 模型Nanbeige的任务是解析这句话提取关键参数和操作意图操作类型创建 - 对应Part.Extrude草图平面前视基准面 - 对应FrontPlane草图轮廓圆形 - 对应SketchManager.CreateCircle尺寸参数直径50mm - 设定草图尺寸特征参数高20mm - 设定拉伸深度3.2. API调用序列生成基于解析出的结构化信息模型需要生成正确的VBA代码片段。这要求模型在训练时学习过SolidWorks API的常见模式。它生成的不是随意代码而是符合VBA语法和SW API对象模型的代码。对于上面的例子它应该生成类似下面的代码框架 声明变量 Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim skSegment As Object 获取当前SolidWorks实例和活动零件 Set swApp Application.SldWorks Set Part swApp.ActiveDoc 选择前视基准面 Part.ClearSelection2 True boolstatus Part.Extension.SelectByID2(前视基准面, PLANE, 0, 0, 0, False, 0, Nothing, 0) 进入草图绘制模式 Part.SketchManager.InsertSketch True 创建圆心在原点、半径为25mm的圆 Set skSegment Part.SketchManager.CreateCircle(0, 0, 0, 0.025, 0, 0) 单位米 添加尺寸约束直径50mm ... (此处省略具体的尺寸标注API代码) 退出草图 Part.SketchManager.InsertSketch True 创建拉伸凸台 Dim myFeature As Object Set myFeature Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, 0.02, 0.01, False, False, False, False, 0, 0, False, False, False, False, True, True, True, 0, 0, False) 深度0.02米注以上代码为示意实际API调用可能需要更完整的参数和错误处理。3.3 交互与修正生成的代码不可能第一次就完美。一个好的集成方案应该允许交互。比如模型生成代码后可以在一个侧边栏预览它将要执行的操作例如“将在前视基准面拉伸一个圆柱体直径50mm高20mm”。用户确认后再插入到宏编辑器中或直接执行。 如果用户说“不对高度应该是30mm”模型应该能理解这是对上一轮生成的修正并更新代码中的对应参数。4. 实践路径探讨从简单到复杂要实现这个设想我们可以分步走从能力范围明确的小任务开始验证。4.1 第一阶段特征参数修改助手这是最容易入手的点。目标不是创建全新特征而是修改已有特征的参数。用户输入“把第一个拉伸的深度从20mm改成30mm。”模型任务识别“第一个拉伸”可能指特征树中的第一个拉伸特征。这需要模型能“看到”或查询到当前文档的特征树列表。找到该特征的深度参数属性Depth。生成修改该参数的代码Part.FeatureByName(“拉伸1”).Depth 0.03。 这个阶段模型主要学习特征名称、参数名与API属性的映射关系。4.2 第二阶段标准特征生成助手针对公司或团队内部常用的标准结构如特定规格的孔、加强筋、卡扣。用户输入“在所选面上添加一个M3的沉头孔通孔。”模型任务理解“M3沉头孔”对应一系列标准尺寸孔径、沉头直径、深度。理解“通孔”意味着终止条件为“完全贯穿”。生成调用Part.FeatureManager.HoleWizard方法的完整代码并设置好所有参数标准类型、大小、终止条件等。 这个阶段需要为模型注入领域知识标准件库让它能将行业术语转换为具体的API参数。4.3 第三阶段简单草图与特征创建助手这是核心挑战需要模型理解几何约束和拓扑关系。用户输入“在右视基准面画一个矩形长100mm宽50mm然后向内侧拉伸10mm。”模型任务分解任务先创建草图实体矩形再添加尺寸约束最后创建拉伸特征。生成正确的草图绘制API调用序列CreateCenterRectangle。正确添加尺寸约束AddDimension。生成拉伸特征代码。 这个阶段模型的代码生成逻辑会复杂很多可能需要引入“思维链”提示让它一步步推理出正确的API调用顺序。5. 技术实现的关键考量把设想变成可用的插件有几个关键问题要解决领域知识注入Nanbeige作为通用模型不具备SolidWorks API知识。我们需要通过检索增强生成RAG技术来解决。建立一个本地的SolidWorks API知识库官方文档、示例代码片段当用户提出需求时先从这个知识库中检索最相关的API用法示例连同用户问题一起送给模型指导它生成正确的代码。上下文管理设计对话是连续的。模型需要记住当前打开的文档、选中的面/边线、上一步操作等上下文。这需要插件为模型维护一个“会话状态”。安全与可靠性生成的代码直接操作CAD模型必须非常谨慎。初期一定要坚持“生成代码 - 用户审核 - 手动执行”的模式。可以在沙箱环境中预运行代码或先对模型副本进行操作。绝不能赋予AI直接、无条件执行代码的权限。错误处理与反馈模型生成的代码可能运行出错。插件需要捕获这些错误并将其转化为自然语言反馈给用户例如“无法创建拉伸因为当前没有草图被选中”从而形成“用户描述 - 生成代码 - 执行反馈 - 修正描述”的闭环。6. 总结让AI辅助编写SolidWorks宏脚本不是一个要取代工程师的激进想法而是一个增强工具易用性、降低自动化门槛的务实探索。Nanbeige这类轻量化模型为在本地、安全的环境中实现这种能力提供了可能。从实际来看最可行的路径是从“参数修改助手”和“标准特征调用助手”这类边界清晰、风险可控的场景开始。这不仅能立即带来效率提升工程师不用再去翻API手册找某个具体的属性名也能让我们逐步积累经验理解模型在CAD领域的能力边界。长远看这或许是人机协同设计的一个小切口。工程师负责定义“要什么”设计意图和约束AI负责解决“怎么做”繁琐的软件操作和代码实现。当重复性的操作被自动化工程师就能更专注于创造性的设计、更复杂的仿真分析和更重要的工程决策。这个过程肯定会有挑战比如对复杂意图的理解、几何推理的准确性等但每解决一个小问题都是向更智能、更流畅的设计体验迈进一步。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章