如何将 e.findAt 用于相似的几何模型? 不要使用getSequenceFromMask改用坐标 (findAt()) 或 indeces

问题描述

我在定义集合时使用了 Abaqus 宏记录:按边(20 度)。我的最终目标是为不同的 .STEP 模型/几何图形运行脚本,除了一些参数值之外,这些模型/几何图形在各个方面都相同。对于每个模型,我都使用相同的过程来选择突出显示的边:从 20 角边创建一个集合。 但是,当我为其他几何模型运行它时,它选择了一个完全不同的 e.getSequenceFromMask,或者我应该说在运行相似边的命令后为 e.findAt 选择完全不同的集合。

session.journalOptions.replayGeometry
session.journalOptions.setValues(replayGeometry=INDEX)

我知道该程序对 findAt 有限制:

findAt 最初使用 1E-6 的 ACIS 容差。因此,findAt 返回位于指定的任意点处或与任意点的距离小于 1E-6 的任何边。

Edge to be selected in all models which are similar with a few variations in dimensions

如果有人能建议如何确保在使用 e.findAt 命令时为不同的几何图形选择相同的边,我将不胜感激。

我的代码

#Sample for the same edges selected from different dimensioned CAD models
#CAD Model_1
edges = e.getSequenceFromMask(mask=(
    '[#63002104 #88110 #10000480 #20402 #480c802 #10420070 #c4411',' #70104842 #10022000 #1e2002 #30 #80820010 #20003 #18144186',' #b000 ]',),)
p.Set(edges=edges,name='Set-2')

#Set 2:
mdb.models['Model-1'].parts['Circular_knit - 2,3,10'].edges.findAt(((2.808153,3.86272,-0.231317),((3.959929,2.669325,((3.581888,1.932068,-0.134932),((1.501975,3.782442,-0.134931),((2.094736,4.291667,((2.135971,3.464163,((2.705066,3.040627,((3.436245,3.316406,((3.19197,2.524704,((4.363292,1.941137,((3.862971,1.280728,((-0.318814,3.68708,0.0),((1.317672,4.590214,((4.764061,0.331739,-0.231318),((4.74929,-0.500571,((4.590214,-1.317672,((4.634078,1.15397,((-0.590217,4.023581,-0.132766),((-0.331245,4.765369,-0.229231),((0.822343,3.985795,((0.500571,4.74929,((4.02668,0.590473,-0.134933),((4.068041,-0.117724,((4.291667,-2.094736,((3.464163,-2.135971,((3.86272,-2.808153,((1.932068,-3.581888,((1.280728,-3.862971,((1.15397,-4.634078,((0.590473,-4.02668,((-0.117724,-4.068041,((3.985795,-0.822343,((0.117724,4.068041,((-1.15397,4.634078,((-1.280728,3.862971,((-2.524704,3.19197,((-2.669325,3.959929,((-1.941137,4.363292,((-1.932068,3.581888,((3.782442,-1.501975,((3.040627,-2.705066,((3.316406,-3.436245,((2.524704,-3.19197,((2.669325,-3.959929,((1.941137,-4.363292,((0.331739,-4.764061,((-0.500571,-4.74929,((-3.464163,2.135971,((-4.291667,2.094736,((-3.316406,3.436245,((-3.040627,2.705066,((-3.86272,2.808153,((-1.317672,-4.590214,((-0.822343,-3.985795,((-4.764061,-0.331739,((-3.959929,-2.669325,((-3.862971,-1.280728,((-3.782442,1.501975,((-4.590214,1.317672,((-3.985795,0.822343,((-2.135971,-3.464163,((-4.74929,0.500571,((-4.068041,0.117724,((-4.02668,-0.590473,((-4.634078,-1.15397,((-4.363292,-1.941137,((-3.581888,-1.932068,((-3.19197,-2.524704,((-3.436245,-3.316406,((-2.705066,-3.040627,((-2.094736,-4.291667,((-1.501975,-3.782442,((-2.808153,-3.86272,)


#CAD Model_2
edges = e.getSequenceFromMask(mask=('[#ffffffff:12 #3fffff ]',name='Set-2')

#Set_2:
mdb.models['Model-1'].parts['Circular_knit - 2,9'].edges.findAt(((3.609683,0.972388,1e-06),((3.573439,0.962676,0.012491),((3.76173,1.266747,-0.034239),((4.345677,1.895909,-0.106922),((3.369331,1.576662,0.046191),((3.59632,1.879201,-0.101049),((4.017677,2.705061,-0.092682),((3.044359,2.137787,((3.950435,2.621725,((4.319341,2.493773,0.001066),((3.51041,1.897727,-0.09198),((4.38626,1.924207,-0.137251),((3.786618,1.25932,-0.091981),((4.653757,1.133308,((3.94777,0.582649,((4.779853,0.307975,-0.137252),((4.987546,0.0,((3.968123,-0.096234,((3.706257,-0.319236,((4.054105,-0.170725,((4.831941,0.333813,((3.705386,0.329198,((3.686317,0.32753,((3.591928,0.967631,((4.608877,1.112487,((3.924549,0.594285,((4.732039,0.295263,((4.68676,1.705841,((3.351983,1.568572,((3.38599,1.58443,((4.426368,1.966302,((3.868004,1.226157,((4.700566,1.167799,((4.02216,0.535857,((3.723697,0.3308,((4.332897,2.501599,0.037363),((3.215364,2.475146,((3.059416,2.14833,((3.028679,2.126808,((3.101617,2.476941,((3.435161,3.267881,((2.613351,2.620422,((2.649644,2.983909,-0.091979),((2.83651,3.859543,((2.134748,3.057453,((2.14551,3.072822,2e-06),((2.850196,3.916052,((3.215994,3.832672,((3.205932,3.820682,((2.815512,3.814744,((2.129595,3.050095,((2.174904,3.425595,((2.501599,4.332897,((2.493773,4.319341,((2.067403,3.388378,((3.484612,1.90072,((3.985488,2.656641,((4.701469,1.711195,((4.927189,0.868796,((5.003198,((4.711421,-0.530933,((3.891127,-0.78383,((4.547648,-1.340996,((3.695902,-1.447609,((3.356209,-1.559509,((3.710189,-1.469294,-1.705841,((4.816498,-0.510316,((3.724569,-0.320838,((3.687189,-0.317568,((4.911774,0.866078,((3.48691,3.361627,((2.626886,2.633957,((3.127541,2.478471,((3.463619,3.308353,((2.639883,2.646954,((3.820682,3.205932,((3.832672,3.215994,((2.62438,2.9779,((2.118616,3.034415,((2.091239,3.398682,((2.736711,2.995885,((2.12688,4.35149,((1.547014,3.751221,((1.711195,4.701469,((1.469294,3.710189,((2.123214,4.293462,((2.110314,4.245698,((3.988971,-0.111726,-0.866078,((4.760715,-0.526717,((3.594516,-0.957971,((3.576027,-0.953017,((3.908966,-0.802706,-0.868796,((3.373557,-1.567599,((4.245698,-2.110314,-2.493773,-2.501599,((4.35149,-2.12688,((4.293462,-2.123214,((3.390216,-1.575367,((4.596926,-1.345405,((3.612271,-0.962729,((4.65471,-1.338939,((3.751221,-1.547014,((3.962868,-0.872119,((1.567599,3.373557,((1.338939,4.65471,((0.872119,3.962868,((0.510316,4.816498,((0.321655,3.733897,((0.320019,3.715207,((0.111726,3.988971,((0.0,4.987546,((0.096234,3.968123,((0.530933,4.711421,((0.866078,4.911774,((0.526717,4.760715,((1.705841,4.68676,((1.345405,4.596926,((0.802706,3.908966,((1.571395,3.381699,((1.579324,3.398703,((1.447609,3.695902,((1.559509,3.356209,((3.388378,-2.067403,((3.050095,-2.129595,((3.065152,-2.140139,((3.034415,-2.118616,((3.398682,-2.091239,((3.425595,-2.174904,-1.711195,((0.965152,3.621316,((0.957971,3.594516,((0.953017,3.576027,((0.868796,4.927189,((0.319236,3.706257,((0.170725,4.054105,5.003198,((-0.3073,4.782091,-0.136321),((-0.320838,3.724565,1e-05),((-0.323171,3.73689,1.3e-05),((-0.324216,3.705803,0.046199),((-0.593805,3.921017,-0.033079),((-0.866078,((-1.133308,4.653757,((-0.972388,3.609683,((-0.967631,3.591928,((-1.112487,4.608877,((0.317568,3.687189,((-0.294772,4.734331,-0.106051),((0.78383,3.891127,((1.340996,4.547648,((0.960296,3.603193,((3.814744,-2.815512,-3.205932,-3.215994,((3.916052,-2.850196,((3.859543,-2.83651,((-0.332828,4.834011,-0.091687),((-0.325817,3.724111,((-0.536001,4.018603,-0.099875),((-0.868796,((-0.319237,3.706259,((-0.322549,3.68675,0.0125),((-0.31881,3.687067,0.05),((-0.317568,3.687186,0.012495),((-0.582378,3.944173,-0.090789),((-0.962676,3.573439,((-1.25932,3.786618,((-1.711195,((-1.226157,3.868004,((-1.167799,4.700566,((2.9779,-2.62438,((3.267881,-3.435161,((2.476941,-3.101617,((2.137787,-3.044359,((2.475146,-3.215364,((3.361627,-3.48691,((2.633957,-2.626886,((2.620422,-2.613351,((2.983909,-2.649644,((2.995885,-2.736711,((2.646954,-2.639883,((-1.266747,3.76173,((-1.705841,((-1.924207,4.38626,((-1.58443,3.38599,((-1.966302,4.426368,-3.820682,((2.478471,-3.127541,((2.656641,-3.985488,-4.319341,((1.90072,-3.484612,((1.576662,-3.369331,((1.879201,-3.59632,((2.705061,-4.017677,((2.126808,-3.028679,((2.14833,-3.059416,-3.832672,((3.308353,-3.463619,((-1.895909,4.345677,((-1.568572,3.351983,((-1.897727,3.51041,((-2.501599,((-2.705061,4.017677,((-2.137787,3.044359,((-2.621725,3.950435,((-2.493773,((-2.656641,3.985488,((-2.14833,3.059416,((-1.576662,3.369331,-4.332897,((2.621725,-3.950435,((1.895909,-4.345677,-4.68676,((1.924207,-4.38626,((1.58443,-3.38599,((1.966302,-4.426368,((-1.90072,3.484612,((-1.879201,3.59632,((-2.475146,3.215364,((-2.476941,3.101617,((-2.126808,3.028679,((-2.478471,3.127541,((-3.308353,3.463619,((-2.646954,2.639883,((-3.361627,3.48691,((-3.215994,((1.897727,-3.51041,((1.568572,-3.351983,((1.266747,-3.76173,((0.967631,-3.591928,((0.972388,-3.609683,((0.962676,-3.573439,((1.112487,-4.608877,((0.594285,-3.924549,((0.329198,-3.705386,((0.535857,-4.02216,((1.167799,-4.700566,((1.226157,-3.868004,-4.701469,((1.25932,-3.786618,((-3.267881,3.435161,((-3.205932,((-2.620422,2.613351,((-2.983909,2.649644,((-3.859543,2.83651,((-3.065152,2.140139,((-3.050095,2.129595,((-3.034415,2.118616,((-3.398682,2.091239,)+mdb.models['Model-1'].parts['Circular_knit - 2,9'].edges.findAt(((-4.319341,((-4.245698,2.110314,((-3.695902,1.447609,((-4.547648,1.340996,((-3.576027,0.953017,((-3.908966,0.802706,((-4.760715,0.526717,((-3.724569,0.320838,((-4.816498,0.510316,((-3.962868,0.872119,((-3.612271,0.962729,((-2.633957,2.626886,-4.911774,((1.133308,-4.653757,((0.295263,-4.732039,((-0.096234,-3.968123,((-0.530933,-4.711421,((-0.78383,-3.891127,((-0.957971,-3.594516,((-0.872119,-3.962868,-4.927189,((-0.802706,-3.908966,((-1.345405,-4.596926,((-1.338939,-4.65471,((0.3308,-3.723697,((0.333813,-4.831941,-5.003198,-4.987546,((-2.9779,2.62438,((-3.820682,((-3.832672,((-3.916052,2.850196,((-3.425595,2.174904,((-3.388378,2.067403,((-3.814744,2.815512,((-4.293462,2.123214,((-3.390216,1.575367,((-4.35149,2.12688,((-4.332897,((-3.373557,1.567599,((-3.356209,1.559509,((-3.710189,1.469294,((-4.701469,((-4.65471,1.338939,((-3.594516,0.957971,((-4.68676,((-4.596926,1.345405,((-3.891127,0.78383,((-4.927189,((-3.687189,0.317568,((-3.988971,0.111726,((-4.779853,-0.307975,((-3.723697,-0.3308,((-4.831941,-0.333813,((-4.054105,0.170725,((-3.706257,0.319236,((-4.711421,0.530933,((-4.911774,((-2.995885,2.736711,((0.32753,-3.686317,((0.582649,-3.94777,((-0.319236,-3.706257,-3.687189,((-0.111726,-3.988971,((0.307975,-4.779853,((-0.526717,-4.760715,-3.724569,((-0.510316,-4.816498,((-0.953017,-3.576027,((-0.962729,-3.612271,((-1.469294,-3.710189,((-2.123214,-4.293462,((-2.091239,-3.398682,((-2.83651,-3.859543,((-2.649644,-2.983909,((-3.463619,-3.308353,((-3.101617,-2.476941,((-3.044359,-2.137787,((-3.215364,-2.475146,((-3.127541,-2.478471,((-3.985488,-2.656641,((-3.59632,-1.879201,((-3.38599,-1.58443,((-3.351983,-1.568572,((-3.484612,-1.90072,((-4.319341,((-1.547014,-3.751221,((-1.575367,-3.390216,((-1.559509,-3.356209,((-1.567599,-3.373557,((-0.170725,-4.054105,((-3.751221,1.547014,((-3.968123,0.096234,((-5.003198,((-3.686317,-0.32753,((-3.94777,-0.582649,((-4.653757,-1.133308,((-3.609683,-0.972388,((-3.591928,-0.967631,((-4.608877,-1.112487,((-3.705386,-0.329198,((-4.732039,-0.295263,((-1.340996,-4.547648,((-1.447609,-3.695902,((-2.174904,-3.425595,((-2.850196,-3.916052,((-2.736711,-2.995885,((-2.639883,-2.646954,((-2.613351,-2.620422,((-3.435161,-3.267881,((-2.140139,-3.065152,((-2.129595,-3.050095,((-2.815512,-3.814744,((-3.950435,-2.621725,((-3.059416,-2.14833,((-4.017677,-2.705061,((-3.48691,-3.361627,((-2.626886,-2.633957,((-3.51041,-1.897727,((-4.426368,-1.966302,((-3.369331,-1.576662,((-4.345677,-1.895909,((-3.786618,-1.25932,((-2.12688,-4.35149,((-2.110314,-4.245698,((-4.987546,((-4.700566,-1.167799,((-3.573439,-0.962676,((-3.868004,-1.226157,((-3.76173,-1.266747,((-3.924549,-0.594285,((-4.02216,-0.535857,((-2.62438,-2.9779,((-2.118616,-3.034415,((-2.067403,-3.388378,((-3.028679,-2.126808,((-4.38626,-1.924207,)

解决方法

不要使用getSequenceFromMask

这个方法看起来很吸引人,但是,Abaqus 文档并没有介绍掩码是如何形成的,因此无法为一组对象人为地生成掩码。

改用坐标 (findAt()) 或 indeces

大多数情况下,如果您的几何图形很复杂并且生成时无法控制顶点/边/等编号,那么 findAt() 方法是您唯一的选择(以及方法 getByBoundingBox(...)、{{1} } 和 getByBoundingCylinder(...))。

如果逐边搜索不是很有效并且 getByBoundingSphere(...) 方法不允许您选择正确的边数组,那么您可以尝试:1) 找到序列的第一条边; 2) 然后使用(正如您已经尝试过的那样)getByBounding... 方法来查找所有相邻边。

如果您确定几何实体(顶点/边/等)的编号,那么您可以通过它们的索引访问它们。因此,使用您的示例中的符号,如果您的几何感兴趣的边具有从 getEdgesByEdgeAngle(...)n 的索引,则:

m