二次开发教程-自动赋材料
在完成整车网格划分后,通常需要对每个零部件命名和赋予相应的材料,如手动的为每一个零部件赋予材料名称和属性,这将是一个非常大的工程,而且还容易出现错误。
为提高工作效率,本次带来一个为每个零部件自动赋予各自对应材料名称和属性的二次开发插件。本二次开发插件是居于ANSA开发而成。因汽车前处理NASTRAN使用较多,所有本二次开发代码是在NASTRAN模块下实现的,其它模块类似。
整个思路如下:
首先在Properties属性列表中,自动填入对应材料的MID号
然后再MAT1材料模块下,对应的MID号中,填入对应的材料名称。
例如DOOR_TRIM-FT-R的零部件的材料名称B240ZK,则可将Properties属性中,名称为DOOR_TRIM-FT-R的零部的材料MID1设置为1007;MAT1材料模块下,设置MID为1007,材料Name名称为B240ZK。MID1编号可随意设置,只要保证Properties属性的MID1的编号与材料MAT1中的MID编号一致即可。
根据以上思路,首先需要编制一个简单的BOM表,采用excel编制,里面包含各零部件的名称,材料了的MID号以及材料的名称,通常可根据设计提供的BOM表整理而得,如下图所示。
然后编写代码,读取EXCEL中的内容,将ANSA属性Properties的名字,与BOM表中的名字项匹配,如果名字一致,就将EXCEL中的对应的材料ID号与材料名称赋予ANSA中的属性Properties与MAT1材料中。具体代码如下:#号后面的灰色字体,为解释代码的信息。
上述代码值,只是根据BOM表,为每一个零部件,创建了相应的材料牌号,并赋予了相应的材料名称,并未更改材料的E与NU值。可根据材料库(如有材料库,并且材料库中材料名称与BOM表中的一致)中Update by NAMES,一件更新材料中的E与NU值。当然也可另写代码,同时更新,此文不在做此方面的工作。
注意,运行程序时,EXCEL表格必须关闭,不然会报错,表格中不要出现空的行,代码中未写相应的判断处理。此外根据利用字典查找匹配的思路,可另写检查零部件材料名称是否赋予正确,零部件厚度是否正确等二次开发的插件。