基于SOLIDWORKS-Isight-ABAQUS仿真优化产品设计

日期:2026-01-26 发布者: Penn 浏览次数:

在制造业向智能化转型的浪潮中,多学科协同优化(MDO)已成为突破设计瓶颈的核心路径 。传统研发中,SOLIDWORKS(参数化建模)、ABAQUS(高精度仿真)

在制造业向智能化转型的浪潮中,多学科协同优化(MDO)已成为突破设计瓶颈的核心路径 。传统研发中,SOLIDWORKS(参数化建模)、ABAQUS(高精度仿真)与手动衔接的低效性限制了产品的快速迭代 。

如何打破工具间的壁垒?通过 Isight 流程调度引擎,我们可以构建起“SOLIDWORKS 参数定义 - Isight 流程调度 - ABAQUS 仿真分析 - 结果反馈迭代”的自动化闭环体系 。本文将以悬臂梁优化为例,为您详细拆解这一高效的参数化驱动方案 。


一、优化流程核心准备工作

(一)参数化建模与控制文件配置

在产品中,我们需要通过对其某些尺寸进行修改,如壁厚、圆角半径、长宽等。这些关键参数决定了产品设计的性能,如果我们想进行自动化式的优化,就是在不同的尺寸设计下进行流程式的验证。在这样的流程中,主要涉及到有参数化建模、数据输出/输入、仿真计算和后处理。

其中我们可以通过SOLIDWORKS的方程式功能,将其控制文档映射至Isight,再通过Isight不同的抽样功能实现模型的参数化建模。再通过OS Command实现调用ABAQUS求解,最后将结果文件写入Isight。重要的一点是,对于SOLIDWORKS建模以及ABAQUS求解我们都需要创建.bat以实现在命令行中提交,所以我们在Isight中需要通过两个OS Command 组件分别实现对 SOLIDWORKS 模型更新和 ABAQUS 计算提交的自动化调用,如下图所示。

图1 Isight流程

图1 Isight流程

如图2所示,对于悬臂梁的控制变量有3个,分别是其长、宽、高,通过.txt文档控制。当我们在.txt文档中更改变量后需要打开悬臂梁模型进行重建,故需要通过SOLIDWORKS的宏功能实现这一步骤的自动化。

图2 悬臂梁的控制变量

图2 悬臂梁的控制变量

我们按照打开模型-更新重建-保存的流程录制宏文件,并在最后添加关闭SOLIDWORKS的命令,如图3所示:

图3 录制宏

图3 录制宏

脚本如下所示

Dim SOLIDWORKSApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set SOLIDWORKSApp = Application.SldWorks
' Open
Set Part = SOLIDWORKSApp.OpenDoc6("C:\Users\DELL\Desktop\Isight Study\SOLIDWORKS-ABAQUS\Model.SLDPRT", 1, 0, "", longstatus, longwarnings)
SOLIDWORKSApp.ActivateDoc2 "Model.SLDPRT", False, longstatus
Set Part = SOLIDWORKSApp.ActiveDoc
Set Part = SOLIDWORKSApp.ActiveDoc
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameLeft = 0
myModelView.FrameTop = 0
Set myModelView = Part.ActiveView
myModelView.FrameState = SOLIDWORKSWindowState_e.SOLIDWORKSWindowMaximized
Set myModelView = Part.ActiveView
myModelView.FrameState = SOLIDWORKSWindowState_e.SOLIDWORKSWindowMaximized
boolstatus = Part.Extension.SelectByID2("方程式", "EQNFOLDER", 0, 0, 0, False, 0, Nothing, 0)
Part.ClearSelection2 True
 
' Save
Dim SOLIDWORKSErrors As Long
Dim SOLIDWORKSWarnings As Long
boolstatus = Part.Save3(1, SOLIDWORKSErrors, SOLIDWORKSWarnings)
 
' Close Document
SOLIDWORKSApp.CloseDoc "Model.SLDPRT"
SOLIDWORKSApp.ExitApp
End Sub

由于Isight无法直接打开SOLIDWORKS调用.Swp脚本,故需要通过编写.bat文件实现CMD调用,SOLIDWORKS_Update.bat如图4所示:

SOSOLIDWORKS_Update.bat文件

图4 SOLIDWORKS_Update.bat文件

(二)跨工具调用脚本编写

同理,对于ABAQUS仿真计算,我们也需要通过一个脚本文件和一个.bat文件实现调用。首先在ABAQUS中,按照“设置工作目录-模型导入-材料创建-截面创建-截面赋予-装配创建-分析步创建-边界条件创建-划分网格-提交计算-后处理”手动执行完整仿真工艺路径。ABAQUS会在工作目录下自动生成.rpy文档,将其格式改为.py即可。

在后处理中,我们可以设置一个报告场变量输出,设置基于唯一结点的最大位移及应力输出,如图所示,其可在工作目录下生成一个.rpt文档。

图5 .rpy文档

图5 .rpy文档

同样,通过.bat文档实现ABAQUS_Update.py的调用,如下所示:

@echo off
:: ============================================================
:: 环境初始化:切换到当前脚本所在的目录
:: ============================================================
cd /d %~dp0
 
:: ============================================================
:: 清理旧文件
:: ============================================================
echo [INFO] Cleaning up old files...
if exist "abaqus_update.rpt" del /f /q "abaqus_update.rpt"
if exist "abaqus_update.odb" del /f /q "abaqus_update.odb"
:: 清理锁文件,防止因上次异常中断导致无法启动
if exist "*.lck" del /f /q "*.lck"
 
:: ============================================================
:: 核心命令:运行 Abaqus 并调用 Python 脚本
:: 请确保这里的路径与你电脑上的安装路径完全一致
:: ============================================================
echo [INFO] Starting Abaqus processing...
call "F:\Abq DS\Abaqus2025\win_b64\resources\install\cmdDirFeature\launcher.bat" cae noGUI=abaqus_update.py
 
:: ============================================================
:: 结果校验:检查 .rpt 是否真正生成
:: ============================================================
if exist "abaqus_update.rpt" (
    echo [SUCCESS] Calculation finished. New .rpt generated.
    exit /b 0
) else (
    echo [ERROR] .rpt file was not found! Check your .py script or .log file.
    :: 返回错误码 1,告知 Isight 任务失败,不要继续读取数据
    exit /b 1
    :: 请确保这里的路径与你电脑上的安装路径完全一致
:: ============================================================
echo [INFO] Starting Abaqus processing...
call "F:\Abq DS\Abaqus2025\win_b64\resources\install\cmdDirFeature\launcher.bat" cae noGUI=abaqus_update.py
 
:: ============================================================
:: 结果校验:检查 .rpt 是否真正生成
:: ============================================================
if exist "abaqus_update.rpt" (
    echo [SUCCESS] Calculation finished. New .rpt generated.
    exit /b 0
) else (
    echo [ERROR] .rpt file was not found! Check your .py script or .log file.
    :: 返回错误码 1,告知 Isight 任务失败,不要继续读取数据
    exit /b 1
)

至此,我们已经完成了所需文件的准备工作,接下来打开Isight完成接下来的工作。


二、Isight 流程搭建与参数配置

(一)基础环境设置

首先设置working directory及Model runtime directory。在其目录下的主要文件夹架构如图6所示。

图6 文件夹架构图6 文件夹架构

图6 文件夹架构

(二)组件拖拽与功能配置

在Application Components下,拖动2个Data Exchanger和2个OS Command模型至流程中。并命名为Model size Exchanger、SOLIDWORKS Update、ABAQUS Run和Simulation Result,如图7所示。

图8 Write to equations.txt

图7 Isight组件

如图8所示,双击Model size Exchanger打开Component Editor - Data Exchanger,单击Click here to opena new Data Source,选择Write a File浏览至SOLIDWORKS参数控制文档equations.txt,点击next。默认文件格式为General Text,点击Finish。在导入的文档中,分别选择L、W、H对应的数值并创建为Parameters。

image.png图8 Write to equations.txt

图8 Write to equations.txt

双击SOLIDWORKS Update,打开Component Editor - OS Command,如图9所示。单击Find Programe浏览至SOLIDWORKS Update.bat,并在Advanced下取消勾选There is output to the Standard Error stream,最后确定OK。双击ABAQUS Run,与上步骤相同,浏览至ABAQUS Update.bat,设置并在Advanced下取消勾选There is output to the Standard Error stream,最后确定OK。

图9 SOLIDWORKS Update设置

图9 SOLIDWORKS Update设置

双击Simulation Result打开Component Editor - Data Exchanger,单击Click here to opena new Data Source,选择Read a File浏览至ABAQUS输出文档Result.rpt,点击next。默认文件格式为General Text,点击Finish。在导入的文档中,分别选择MAX_U和MAX_S对应的数值并创建为Parameters,如图10所示。

图10 Read Result.rpt

图10 Read Result.rpt

在Process Components下拖动DOE模块至流程中,双击DOE,根据实际需求选择对应的抽样方式。此次选择为Optimal Latin Hypercube即最优拉丁超立方,输入样本数量为4。在Factors下,勾选设置的三个变量并设置上下限。在Postprocessing下,勾选设置的两个监测值MAX_U和MAX_S并设置类型为最大、最小或某个目标,同时可以对不同的检测值设置不同的权重系数。最后,在Design Matrix下点击Generate即可获得样本的设计矩阵如图11所示。

image.png图11 DOE模块设置图11 DOE模块设置

图11 DOE模块设置

三、仿真运行与结果分析

(一)流程运行与数据输出

至此所有的设置完成,选择运行进入Runtime Gateway,等待计算完成后如图12所示。

图12 运行结果

图12 运行结果

可以得到如下结果矩阵,这些原始数据为后续的深度设计空间分析奠定了基础。

 结果矩阵


H

L

W

MAX_S

MAX_U

1.00

29.00

180.00

19.00

147.03

0.32

2.00

31.00

220.00

18.00

193.02

0.57

3.00

33.00

194.00

22.00

138.43

0.29

4.00

27.00

206.00

21.00

217.84

0.66

(二)多维度结果分析工具

Isight提供多种数据分析和后处理工具,当优化完成以后,用户可以进行设计空间浏览、多准则权衡、多方案对比、数据筛选、并自动生成优化分析报告。

Pareto图反映样本拟合后模型中所有项对每个响应的贡献程度百分比,点击Pareto Plots即可获取三个Factor分别对结果的影响程度。蓝色的条形表示正效应,红色则表示反效应。

图13 Pareto图

图13 Pareto图

我们还可以通过Isight创建相关性图,相关性图显示了所有输入参数对某个输出参数的相关性。相关分析(correlation analysis)基于Pearson 和 Spearman 相关性,是一种线性分析方法。

图14 相关性图

图14 相关性图

通过主效应图我们可以得到因子的主效应。从概念上说,改变单个因子的水平,用每个水平和其他因子的所有可能的组合对结果的影响的平均值所画的图就是主效应图。

图15 主效应图

图15 主效应图

此外,我们还可以创建如图所示的多种关系图表用于分析因子的响应关系,如图16所示。

图16 Isight支持的图表关系

图16 Isight支持的图表关系

四、技术价值与应用展望

SOLIDWORKS-Isight-ABAQUS 的联合优化体系,通过 “参数化建模 - 自动化调度 - 高精度仿真 - 智能分析” 的闭环流程,彻底打破了传统设计中 “手动建模 - 逐一仿真 - 经验判断” 的低效模式,实现了三大核心价值:一是大幅提升优化效率,将多参数、多方案的验证周期从数天缩短至数小时;二是保证优化精度,依托 DOE 与优化算法全面探索设计空间,避免遗漏最优方案;三是降低操作门槛,通过脚本与批处理实现全流程自动化,减少人为干预导致的误差。

该技术不仅适用于悬臂梁这类简单结构,更可拓展至航空航天零部件、汽车关键部件、高端装备核心结构等复杂产品的设计优化中。未来,随着人工智能算法与该体系的融合,可进一步降低计算成本、提升优化速度;同时,结合多物理场耦合仿真,能够应对更复杂的工程场景,为制造业的智能化升级提供更强大的技术支撑。


加入收藏 我有疑问


获取正版软件免费试用资格,有任何疑问拨咨询热线:400-886-6353或 联系在线客服

未解决你的问题?请到「问答社区」反馈你遇到的问题,专业工程师为您解答!

社交账号登录