使用脚本查找在abaqus中以线性模式创建的零件的边

2024-09-29 21:45:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在为我的硕士研究项目工作。我的项目涉及使用二元模型技术评估机织粗纱织物。这意味着我将织物的组织表示为线/桁架,树脂/基体表示为简单的块。在

我一直在写我的代码来运行几个模拟,虽然目前我只想运行一个。我在Python方面的经验有限,Abaqus的经验也是有限的。到目前为止,我已经能够创建我的几何体,指定我的材料,创建截面和网格所有的部分。组件由矩阵、经纱1、经纱2、纬纱1和纬纱2组成。一旦我把它们放在适当的位置,我定义了线性模式,以便创建层压板复合材料。这一切都是在python脚本中完成的,我可以选择层数、纬纱间距、经纱等等

我的问题是:

  1. 因为我可以创建x个零件,可以代表我的经纱和纬纱,我希望能够选择每个零件和线性图案的所有边,并从中创建一个区域,这将允许我为矩阵创建一个嵌入条件。到目前为止,我一直在使用findAtgetByBoundingBox但是这些都需要部件的名称才能工作,我如何使它独立于有多少个部件而动态地选择它呢?我尝试使用rootAssembly.allinstances.edges.getByBoundingBox(....),但没有成功。我总是得到一个空数组。在

这是一个模型看起来是如何组装的示例。在这种情况下,有5层机织粗纱织物。在

This is an example of how the model looks like assembled. In this case there are 5 layers of woven roving fabric.

  1. 我必须在经纬点之间建立弹簧连接。同样,由于有许多零件,这些零件可能有x编号,因此名称也不同,因此很难确保选择正确的零件对,并且弹簧在每个点之间连接。同样,我最大的问题是如何使零件的选择具有动态性。在

如果有人能帮我解决这些问题,我会非常感激的!在

这是一行手动添加的弹簧。它们被认为是经纬交叉点之间的相互作用,而不是层间的相互作用:

This is a row of springs added manually. They are supposed to serve as interaction between the crossing of warp and weft not between layers


Tags: 项目模型名称部件线性矩阵经验弹簧
1条回答
网友
1楼 · 发布于 2024-09-29 21:45:10

希望能正确理解您的描述:

mdbModel = mdb.models[modelName]
  1. {{cd2>你确实可以选择所有存在于cd2>中的边。创建集合并在集合之间操作可以简化事情。

  2. 复制每个实例时,为其指定一个名称,使其坐标易于识别(例如,instanceName="Instance_1_3"用于位置i=1j=3中的重复。然后,您只需在i方向上查找mdbModel.rootAssembly.instances["Instance_1_2"]的前一个邻居,依此类推。如果你想要一个简单的弹簧在两个接近的点之间,你可以迭代边界节点并在相邻部分的节点上做一个getByBoundingSphere()

相关问题 更多 >

    热门问题