在汽车、航空航天等复杂产品的研发过程中,一个总成往往由数百个零件组成,每个零件可能采用不同的材料、厚度和制造工艺。工程师需要在疲劳分析中快速评估不同设计参数组合对结构耐久性的影响,例如板材厚度变化、材料替换或装配方案调整。传统方法需要为每种配置重新构建分析流程,效率低下。
物料清单(BoM,Bill of Materials)分析功能正是为解决这一问题而设计。通过将材料组名到材料名的映射关系定义为CSV数据文件,DesignLife可以在一次分析中自动为不同零件分配不同的材料和属性,并在结果中直接展示零件级别的疲劳信息。本节教程将带您完成BoM分析流程的搭建、配置和结果对比,掌握参数化设计对比的核心技能。
物料清单(BoM)是一个多列逗号分隔值(CSV)数据文件,包含材料组名到材料名的映射关系,用于特定的材料映射。DesignLife的BoM分析遵循基本疲劳分析的"5-Box Trick"流程,五个盒子转化为BoM DesignLife流程,包含三个输入Glyph:FE模型(几何)、载荷时间历程和物料清单。
完成本实例包括以下几个阶段:
• 修改SN CAE Fatigue Glyph以添加BoM输入端口
• 创建BoM分析流程
• 运行并查看BoM流程的结果
• 比较不同板材厚度下的FE结果
文件位于nCode安装文件夹下的 \demo\designlife\05_BillOfMaterials\ 目录中,所需文件包括:
• BoM1.flo / BoM2.flo — 预设流程文件
• Shock_BoM.csv / Shock_Thinner_BoM.csv — 物料清单文件
• Shock_Loads.s3t — 载荷时间序列文件
• Shock.op2 / Shock_Thinner.op2 — FE结果文件
首先,我们需要使用Advanced Edit功能修改标准的SN CAE Fatigue Glyph,为其添加BoM输入端口。
步骤1 从DesignLife调色板拖拽SN CAE Fatigue Glyph到分析工作区
步骤2 右键点击Glyph,从上下文菜单中选择Advanced Edit,打开DesignLife Configuration Editor
要为此Glyph添加BoM输入端口,需要在MaterialMap对象上添加"Material map loader from pipe"。
步骤3 选择Material Map对象
步骤4 右键点击并从上下文菜单中选择Add Material map loader
步骤5 选择Material map loader from pipe选项以添加输入管道
由于新Glyph将使用BoM输入,FE组的导入方式也必须更改。
步骤6 选择Job > FE Results > FEResultsImport > AnalysisGroup对象
步骤7 将SelectionGroupType属性更改为Property。这使DesignLife为FE结果中的每个属性组创建一个材料组
步骤8 确保GroupNames属性设置为 *(通配符)。"*"值是通配符,使DesignLife无需指定名称即可导入所有组
GroupNames说明
通常此属性的值用于指定组名列表,如SHELL_1、SHELL_2、SOLID_3等。"*"通配符值使DesignLife导入所有组而无需指定名称。
步骤9 点击Configuration Editor的OK按钮保存更改。BoM输入端口已添加到此Glyph,返回GlyphWorks Analysis Workspace
步骤10 将鼠标光标悬停在新输入端口上,验证Material map loader from pipe对象的名称
步骤11 (可选)返回DesignLife Configuration Editor并使用Rename菜单选项更改Material map loader from pipe对象的名称,使输入端口名称更有意义
现在组装流程并建立Glyph之间的连接。
步骤1 将三个输入数据文件拖到工作区:Shock.op2、Shock_BoM.csv、Shock_Loads.s3t,并将它们连接到SNAnalysis1的相应输入端口
步骤2 将FE Display Glyph拖到SNAnalysis1的顶部输出端口上
步骤3 右键点击SNAnalysis1 Glyph并选择Advanced Edit,定义BoM信息的使用方式
步骤4 在Run Flow?对话框中点击Yes,运行当前流程到此Glyph
步骤5 在DesignLife Configuration Editor中,展开MaterialMap对象并选择MaterialMapLoaderPipe1。右侧GUI显示BoM文件中可用的属性
设置以下属性映射:
• 在Material Group Key中,选择MaterialGroup属性
• 在Material Name Key中,选择Material属性
• 在Additional Data Keys中,选择除Material和MaterialGroup外的所有属性。按住Shift键进行块选择,按住Ctrl键选择或取消非连续成员
• 保持Material Map Keys列不选中
步骤6 点击OK关闭DesignLife Configuration Editor
关于"Clear the material map"复选框
勾选此复选框意味着每次重新加载流程时都需要重新进行此分配。取消勾选将保留设置——如果您的BoM格式始终相同,这很有用。
步骤1 点击Run按钮运行基本BoM流程。最大化FEDisplay1 Glyph查看结果
排错提示
如果在构建此流程时遇到困难,可以加载演示文件夹中提供的示例流程BoM1.flo。
虽然基本BoM流程与基本疲劳5-Box流程相关,但它不能提供最有用的疲劳结果。为了从疲劳分析中获得更多信息,我们将在流程中再添加一个Glyph——Hot Spot Detection Glyph。
步骤1 从DesignLife调色板拖拽Hot Spot Detection Glyph到工作区
步骤2 按图示连接输入和输出端口
步骤3 右键点击Hot Spot Detection Glyph打开Properties对话框,将MaxNumHotSpots属性从10更改为20,然后点击OK关闭
步骤4 重新运行流程,再次最大化FE Display Glyph,使用图标打开Feature List
步骤5 (可选)可能需要调整Feature List窗口大小以查看更多结果列
Feature List现在显示包含上述选择的Additional Data Keys的结果,即Assembly ID、Part ID、Thickness、Re-Design Constraint和Re-Design Cost。
在一个结果表格中,Feature List包含以下信息:
• 节点编号、壳单元表面层、材料组名、属性ID、材料ID
• 损伤值、平均双轴比、非比例度、主导应力方向
• 厚度、再设计成本、再设计约束、零件ID、装配体ID、寿命
此信息提供了关于疲劳热点位置的即时反馈(点击Feature List第一列中的框会高亮选定的节点),并给出损伤的实际值、多轴性评估以及节点所在零件的信息。正是这些关于零件的附加信息——Assembly ID、Part ID以及Re-Design Constraints和Cost——使设计师能够知道在哪里进行更改以减少热点位置的疲劳损伤。
Re-Design Constraint和Re-Design Cost属性是为本实例创建的,用于说明BoM的使用方式。这些属性可用于告知设计师在需要更改时有哪些灵活性。例如,某些零件可能是从上一代产品沿用的,或已有模具投入,这限制了任何重新设计。
默认Feature List中包含的属性列数量相当多。您可能希望减少此表中显示的信息。一种方法是通过关闭MultiAxialAssessment选项来移除多轴评估属性。
步骤1 右键点击SNAnalysis1并选择Advanced Edit菜单选项打开Configuration Editor。对Run Flow?选择No
步骤2 选择Job > Analysis Runs > Run1 > AnaDef: SNEngine。在Standard SN分析引擎对象上,将MultiAxialAssessment属性从Standard更改为None
步骤3 点击OK关闭编辑器
步骤4 重新运行分析,点击FEDisplay1并点击图标。Feature List现在将更加紧凑
注意,现在不显示多轴评估结果后,显示更加紧凑(平均双轴比、非比例度和主导应力方向的列已关闭)。更改属性可以进一步减少Feature List中显示的列数。
注意,在上图中,Feature List底部已开启Rotate model to selected feature。这使您能够在Hot Spot List上定位任何项目。
本节扩展实例,演示BoM概念在比较不同板材厚度分析中的进一步应用。
步骤1 加载流程BoM2.flo
此流程使用两个BoM文件(Shock_BoM.csv和Shock_Thinner_BoM.csv)比较Shock.op2与Shock_Thinner.op2的结果。
步骤2 将第一个FE结果文件shock.op2拖到FEInput1 Glyph上并勾选Display
步骤3 将第一个BoM文件Shock_BoM.csv拖到MultiColumnInput1 Glyph上
步骤4 将载荷时间历程文件Shock_Loads.s3t拖到TSInput1 Glyph上并勾选Display
步骤5 将第二个FE结果文件Shock_Thinner.op2拖到FEInput2 Glyph上并勾选Display
步骤6 将第二个BoM文件Shock_Thinner_BoM.csv拖到MultiColumnInput2 Glyph上
步骤7 对于此流程,您不需要设置材料数据列的使用方式,因为这些已在流程中定义
步骤8 运行流程并查看结果
您可以看到更改某些零件的厚度如何改变其疲劳损伤及其在Hot Spot Feature Lists中的排名。
✅ 掌握通过Advanced Edit修改SN CAE Fatigue Glyph添加BoM输入端口
✅ 学会配置SelectionGroupType=Property以支持BoM分析
✅ 掌握BoM文件中Material Group Key和Material Name Key的映射设置
✅ 学会使用Hot Spot Detection和Feature List查看包含零件信息的疲劳结果
✅ 掌握通过BoM对比不同板材厚度对疲劳损伤的影响