尊敬的阿信老师:
您好。
最近在做python二次开发时候碰到一个小问题。翻了帮助文档,问了许多人也没有解决,想看看您对这个问题有什么看法在Abaqus中建立线(Wire)时候可以采用 wirepolyline(输入两个点坐标)的格式创建,但是这个返回的是feature对象,如何找到其对应的edge对象呢?我看edges的索引和我的feature编号并不一致,不清楚怎么捕捉到feature对应的这根线,从而赋予截面特性因为线的数目众多,如果采用findAt函数捕捉线上的点再来捕捉线计算成本会很大,
等于一根线需要循环两次,建立一次,捕捉一次,有没有什么办法能在创建线的时候直接捕捉到并赋予截面特性呢?
孙**
#################分割线#####################
孙同学,你好 不好意思,刚有时间回复你。对于你谈到的这个情况,因为没看到具体的模型,也没有图片什么的,所以我简单点谈一点自己的看法吧。 这种情况我认为因为中间你对edge进行了一定操作,导致edge编号有变化,甚至一些edge消失了,所以会导致不一致。另外还有一个原因是反复的构建mdb的过程中,会产生一些变化,这个情况我原来在一篇文章中说过,链接在这里——【Q&A-5】如何使用feature对象进行ABAQU-Python二次开发。对于你的这种情况,在没有看到具体模型的情况下,我也只能推荐用findAt去遍历。换个角度想想,建模前处理只是计算的一部分,如果有很多模型需要建立,其实计算别的模型过程中也可以建立后续模型,这样时间会节约很多。 另外遍历循环比较慢的话,是否可以看看程序有没有问题,也许有改进的空间。
学习ABAQUS二次开发,是一个循序渐进螺旋上升(就像下面的图)的过程,有时候要先能用起来,然后再追求完美。
阿信
祝好