Nanbeige 4.1-3B 工业软件辅助:SolidWorks API脚本自动生成与参数化设计

Nanbeige 4.1-3B 工业软件辅助:SolidWorks API脚本自动生成与参数化设计 Nanbeige 4.1-3B 工业软件辅助SolidWorks API脚本自动生成与参数化设计1. 引言当AI遇见机械设计如果你是机械设计工程师每天在SolidWorks里重复画着相似的零件修改着繁琐的尺寸那你一定想过能不能让电脑自己写代码把那些重复劳动都自动化了我最近试了一个挺有意思的工具——Nanbeige 4.1-3B大模型。它不是什么新出的CAD软件而是一个能理解你设计意图的AI助手。你告诉它“帮我创建一个参数化的齿轮模数要能随时调整”它就能给你生成一段可以直接在SolidWorks里运行的VBA宏脚本或者告诉你该怎么设置方程式和设计表。听起来有点科幻其实这就是AI在工业软件辅助上的一个实际应用。传统上SolidWorks二次开发需要工程师懂VBA或者C#还得熟悉API文档门槛不低。现在有了这种AI辅助哪怕你编程基础一般也能快速实现一些自动化设计功能。这篇文章我就结合自己的使用体验聊聊怎么用Nanbeige 4.1-3B来辅助SolidWorks的二次开发特别是参数化设计这块。我会用几个实际的例子展示从描述需求到生成可执行代码的完整过程。2. 它能帮你做什么几个真实的设计场景在深入技术细节之前咱们先看看这个AI助手在实际工作中能解决哪些具体问题。我试了几天发现它在下面这几个场景里特别有用。2.1 快速生成标准件脚本画过标准件的工程师都知道虽然SolidWorks有Toolbox但有时候公司有自己的标准或者需要一些特殊变体。这时候就得自己建模。比如公司常用的一个带密封槽的法兰每次都要重新画挺麻烦的。我试着对Nanbeige说“生成一个创建法兰零件的SolidWorks宏法兰要有六个螺栓孔中心孔直径50mm外径120mm厚度15mm还要有一个标准的O型圈密封槽。”它生成的VBA代码基本上可以直接用。我稍微调整了一下尺寸参数的输入方式就能一键生成这个法兰了。关键是代码结构清晰注释也写得明白哪里是画草图哪里是拉伸特征一看就懂。2.2 实现参数化驱动设计参数化设计是提高效率的关键。比如齿轮、弹簧、皮带轮这些零件尺寸一变整个模型都得跟着变。手动改太慢用方程式或者设计表又得记语法。我测试了一个更复杂的需求“创建一个渐开线直齿轮的宏模数、齿数、压力角、齿宽都要能作为参数输入并且能自动计算分度圆直径、齿顶圆直径这些关键尺寸。”Nanbeige不仅生成了创建齿轮轮廓的代码还自动添加了尺寸间的关联公式。比如齿顶圆直径 (齿数 2) * 模数这样的公式它都帮你写好了。你只需要在宏运行时输入几个基本参数一个完整的参数化齿轮模型就出来了。2.3 自动化装配体操作除了零件装配体操作也能自动化。比如批量替换零部件、按照一定规律阵列组件、检查干涉等等。我让它写了一个“在装配体里把所有某个型号的螺钉批量替换成另一个型号并更新配合关系”的脚本。虽然生成的代码需要根据实际装配体结构微调但它把核心的遍历组件、判断类型、替换零件、刷新配合的流程都写出来了大大节省了我查API文档的时间。2.4 解释和优化现有宏代码有时候网上找到一段宏代码看不懂或者运行报错。你可以把代码贴给Nanbeige让它解释每段代码在干什么或者帮你找出错误。我试过把一段有点复杂的、用于生成BOM表的代码丢给它问“这段代码为什么在遍历装配体时特别慢”它分析了代码指出是因为在循环内频繁调用GetComponents方法建议我先一次性获取所有组件列表再处理。按照它的建议改速度果然快了不少。3. 上手实践从描述到生成第一个宏光说可能有点抽象咱们动手试一个简单的例子看看整个过程是怎么跑的。这个例子是创建一个带孔的矩形板长宽高和孔直径都可以参数化调整。3.1 第一步准备你的SolidWorks环境首先确保你的SolidWorks是打开状态并且启用了宏功能。一般在“工具”-“宏”-“安全性”里把安全级别设为“启用所有宏”仅用于测试学习工作中请遵循公司IT规定。然后打开宏工具栏方便录制和运行。3.2 第二步向AI描述你的设计意图接下来打开Nanbeige 4.1-3B的对话界面。描述需求的时候尽量具体、清晰。我是这样输入的“请帮我写一个SolidWorks VBA宏用于创建一个零件。这个零件是一个矩形板需要能输入长度、宽度、厚度三个参数。然后在板子的中心位置打一个通孔孔的直径也需要能输入。请使用拉伸特征创建板使用拉伸切除特征打孔。”3.3 第三步理解并运行生成的代码AI很快会回复一段完整的VBA代码。代码开头通常会定义一些变量然后是一个主过程。我们把它复制下来。在SolidWorks里按AltF11打开VBA编辑器。插入一个新的模块把代码粘贴进去。你会看到类似下面的核心部分这是简化示意实际代码会更完整Sub CreateParameterizedPlate() Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swPart As SldWorks.PartDoc Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long 获取当前SolidWorks应用 Set swApp Application.SldWorks 创建新零件文档 Set swModel swApp.NewDocument(“C:\ProgramData\SolidWorks\SOLIDWORKS 2023\templates\Part.prtdot”, 0, 0, 0) Set swPart swModel 提示用户输入参数实际代码中这里可能会用输入框 Dim dLength As Double: dLength 100.0 ‘ 长度单位mm Dim dWidth As Double: dWidth 60.0 ‘ 宽度 Dim dThickness As Double: dThickness 10.0 ‘ 厚度 Dim dHoleDia As Double: dHoleDia 10.0 ‘ 孔直径 ‘ ... 这里省略了详细的草图绘制和特征创建代码 ... ‘ 包括选择前视基准面、绘制矩形、标注尺寸、拉伸凸台 ‘ 然后选择上表面、绘制圆、标注直径、拉伸切除 swModel.ViewZoomtofit2 ‘ 缩放至合适大小 MsgBox “参数化板零件创建完成” End Sub回到SolidWorks界面在宏工具栏里找到这个宏点击运行。如果一切顺利你会看到一个新的零件文档被创建并且里面有一个根据代码中预设参数生成的带孔矩形板。3.4 第四步让它变得更实用第一次生成的代码参数往往是写死在代码里的。你可以继续和AI对话让它改进。比如我说“能不能修改一下让长度、宽度、厚度、孔径这四个参数在运行宏的时候弹窗输入”AI就会修改代码加入InputBox函数。修改后再运行就会先弹出四个输入框让你填尺寸然后根据你输入的尺寸生成模型。这就真正实现了“参数化”。4. 进阶技巧处理更复杂的设计逻辑简单的拉伸切除还好但实际工作中会遇到更复杂的逻辑比如条件判断、循环创建特征等。Nanbeige 4.1-3B在这方面表现如何呢我测试了两个场景。4.1 使用条件判断生成不同特征比如我想创建一个零件当厚度超过一定值时就需要添加加强筋。我把这个需求描述给AI“创建一个箱体零件有长宽高参数。如果高度大于100mm则在底部内侧四周添加一圈加强筋。请用VBA宏实现。”它生成的代码框架里真的加入了If...Then判断语句。核心逻辑类似这样If dHeight 100 Then ‘ 调用创建加强筋的子过程 CreateRibs swPart, dLength, dWidth, dHeight End If虽然CreateRibs这个子过程里的具体草图需要根据实际情况调整但AI给出了正确的逻辑结构和必要的API方法提示比如如何选择边线、如何使用筋特征。4.2 利用循环创建阵列特征阵列是常用的功能。我测试了圆周阵列螺栓孔。需求是“在一个法兰盘上创建N个均布的螺栓孔N和螺栓孔圆的直径由用户输入。”AI生成的代码包含了计算角度间隔、循环或使用FeatureCircularPattern方法的逻辑。对于简单的圆周阵列它更倾向于直接使用SolidWorks自带的阵列特征API这比用循环画草图更高效、更稳定。这说明它对SolidWorks的最佳实践有一定了解。‘ 先创建第一个螺栓孔特征假设名为”Cut-Extrude1” ‘ ... ‘ 然后创建圆周阵列 boolstatus swPart.FeatureCircularPattern4(NumInstances, Angle, False, “”, False, True, True, True, True, True, longstatus, longwarnings)4.3 集成方程式和设计表对于更复杂的参数化有时用宏直接建模反而不如用方程式或设计表方便。Nanbeige也能在这方面提供指导。你可以问它“我想用SolidWorks的设计表来控制一个系列零件的尺寸该怎么做请给出步骤和关键点。”它会告诉你先创建好带命名尺寸的模型然后在Excel里创建设计表第一列是配置名称第一行是尺寸名称中间单元格填具体数值。最后它会提醒你在SolidWorks中通过“插入”-“表格”-“设计表”来插入并关联这个Excel文件。它甚至能帮你写出用于自动生成设计表文件的VBA代码片段。5. 实际效果与使用感受用了这么一段时间我对这个AI辅助工具的效果有了一些直观的感受。好的方面很明显。首先是门槛大大降低。以前想自动化一个操作我得翻半天API手册查某个方法叫什么名字、参数怎么填。现在只要用自然语言描述清楚AI就能给我一个八九不离十的代码草稿我只需要做调试和微调。对于不常写代码的工程师来说这等于多了一个随时在线的编程助手。其次是学习成本低。通过看它生成的代码和注释我能反向学习SolidWorks API的结构和用法。比如它经常用PartDoc对象的FeatureExtrusion3方法来做拉伸用SelectByID2方法来选择面或边线。看多了我自己也记住了一些常用API。当然它也不是万能的。生成的代码不能保证100%直接运行尤其是涉及复杂草图约束或特定选择逻辑时经常需要人工干预调试。比如选择某个特定的模型面AI可能用名称选择但模型面名称可能随着建模顺序变化这时就需要改成更稳定的选择方式如通过坐标或相邻几何体。另外它对非常新或非常冷门的API支持可能不够。SolidWorks每年更新API会有增减。如果用到最新版本才有的功能AI生成的代码可能基于旧版本需要你自己去查阅最新文档进行更新。总的来说我觉得它是一个强大的“加速器”和“启发器”而不是“替代者”。它能把工程师从繁琐的语法和API查找中解放出来更专注于设计逻辑本身。但它无法理解你心中那个完美的、未表达出来的设计意图最终的调试、优化和集成还是需要工程师的专业知识和经验。6. 总结让AI帮我们写SolidWorks宏这件事已经从概念走到了实用阶段。Nanbeige 4.1-3B这类模型在理解机械设计意图并转化为API脚本方面展现出了不错的潜力。从我自己的体验来看它特别适合用来处理那些有明确规则、重复性高的建模和装配任务。比如参数化标准件库的构建、特定设计流程的自动化、批量文档操作等。它能快速给你一个可工作的基础代码让你站在一个更高的起点上开始优化。如果你想试试我的建议是从一个小而具体的任务开始。别一上来就让它生成一个包含几十个特征的复杂设备模型。先从“创建一个带可变半径的圆角”这样的单一功能宏开始熟悉整个流程——描述需求、获取代码、在SolidWorks中调试、与AI交互修改。等你摸清了它的“脾气”和能力的边界再逐步尝试更复杂的场景。这个技术还在快速发展未来肯定能更好地理解三维建模的上下文生成更精准可靠的代码。对于机械设计工程师来说早点接触和掌握这类工具或许就是提升未来工作效率的关键一步。毕竟我们的目标不是成为编程专家而是更好地完成设计。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。