在《使用Python脚本跨装配实例批量创建Node Set及Coupling约束》中介绍过批量创建节点集合、耦合约束的方法,而且使用了一个仅有24行代码的Python脚本即可实现。短小精悍肯定有美中不足,如果一次批量创建不同种类的耦合约束,或既有MPC又有Coupling时,则要频繁改动脚本。下面一个例子,如标题所示,共分4部分:
Part-1 建模要求简介;
Part-2 Python脚本简介;
Part-3 Python程序主体部分简介;
Part-4 模型简例应用。
——————————————
Part-1 建模要求简介
如下图所示,1块板、1个框,板与框建立MPC、Coupling约束,框上节点为约束的控制点,板上节点为从属节点。下图中,左侧4列约束为Coupling,约束U1、U2、U3自由度;中间3列约束为BEAM_MPC;右侧4列约束为Coupling,约束U1、U3自由度。

Part-2 Python脚本简介
Python程序文件如下图所示,主要包括6部分,见下图中#1~#6。其中,#1、模型设置,指定模型名称与cae文件中的模型名称相同。

Part-3 Python程序主体部分简介
#2、节点集合、约束定义配置。将主节点集合、从属节点集合、约束类型、命名规则、从属点与控制点之间的距离等进行设置,如下图所示。

# 3、创建节点集合,单个约束用:主节点集合、从属节点集合。根据输入参数,创建1个主节点集合、1个从属节点集合,返回主从集合名称。

# 4、创建单个MPC,BEAM类型

# 5、创建单个Coupling。

# 6、定义主方法

Part-4 模型简例应用
模型准备如下图所示。提前查询装配中坐标系Datum csys-1的ID,提前定义好主从节点集合。

A-Nds-CPU13-M为需要创建Coupling约束且约束U1、U3自由度的所有控制(主)节点集合,如下图所示。

A-Nds-CPU123-M为需要创建Coupling约束且约束U1、U2、U3自由度的所有控制(主)节点集合,如下图所示。

A-Nds-MPC-M为需要创建BEAM_MPC约束的所有控制(主)节点的集合,如下图所示。

A-Nds-S为所有从属节点集合,从中筛选符合距离要求的节点与主节点创建相应约束。

修改程序配置项。字典ndsConstConfig有3项,每项的键为字符串、值为字典,修改每项的字典中的值即可。下图最内层{}中“:”后面部分。含义详见前面Part-3 #2、节点集合、约束定义配置。

在Abaqus/CAE中运行脚本,执行结果如下。



脚本为每个约束的主从节点创建了NodeSet,如下图所示。

小技巧:提前定义的节点集合加了前缀“A-Nds”,所以在模型树Sets节点中排在最上面,而脚本创建的节点集合前缀为“Nd-”,则排在后面。方便检查、修改。