ABAQUS应用03——装配以及对应的Python代码

2024-01-02 15:50:02

0. 背景

本文为ABAQUS应用的系列文章,主要依托本人工作中的实际应用,方便学习记录ABAQUS,所以并不会太多考虑读者的阅读效果,这里请各位见谅。
ABAQUS学习的几个链接:
1、徽墨点睛视频,点击这里
2、曹金凤老师的公众号:力学与Abaqus仿真。
3、ABAQUS帮助文档链接

1、一般情况下零件的装配及定位约束

零件的装配需要针对选择好的零部件(part)创建实例,再通过各类操作将实例放置在正确的位置。
在实际操作中,可以通过创建实例定位约束来进行装配,也可以通过平移旋转实例来进行装配操作。
对于定位约束,一共有面平行、共面、边平行、共边、共轴、共点、坐标轴平行几种方式,下图所示依次为上面的几种定位约束图标。
在这里插入图片描述
几种定位约束的介绍如下图所示(来自曹老师的书):
在这里插入图片描述
下面是针对塔筒的面约束,要求下节塔筒的顶面和上节塔筒的底面共面。

a = m.rootAssembly
bottom_instance_name = part_j+"-1"
upper_instance_name = part_list[j+1]+"-1"
f1 = a.instances[bottom_instance_name].faces
f2 = a.instances[upper_instance_name].faces
# 底平面序号为2, 顶平面序号为0
a.FaceToFace(movablePlane=f2[2], fixedPlane=f1[0], flip=ON, clearance=0.0)

通过定位约束的方式创建的模型可能带来一些风险。比如创建好了定位约束以后,修改了对应的part,再回到装配模块的时候会发现零部件实例的位置发生了变化。原因是定位约束施加的时候,每个部件的面、边、顶点都有内在的编号,当修改了part以后,编号的顺序会发生变化。由此导致了上面说的异常现象。

对于上面的情况,需要在建模完成以后,将定位约束转换为绝对位置。

? ? 具体操作是在Assembly模块下面单击菜单Instance——>Convert Constraints,选中所有部件实例,实现将定位约束转换为绝对位置

2、混塔节段的装配

对于塔筒结构来说,平移操作就可以满足整个装配要求。
下面是混塔筒节装配的Python命令。part_list是筒节名称组成的列表part_height_list是每节塔筒的高度组成的列表。

a = m.rootAssembly
height = 0
for i, part_i in enumerate(part_list):
    p = m.parts[part_i]
    instance_name = part_i+'-1'
    a.Instance(name=instance_name, part=p, dependent=OFF)
    a.translate(instanceList=(instance_name,), vector=(0.0, height, 0.0))
    height += part_height_list[i]

文章来源:https://blog.csdn.net/GX1415926535/article/details/135339093
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。