如何在Abaqus脚本中抑制“设置显示…”

2024-09-29 02:20:10 发布

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

我有许多abaqus插件,它们通过脚本接口在abaqus CAE中执行操作。对于许多在执行之后的操作,Abaqus会执行一些需要一些时间的显示刷新过程。如果模型很小,脚本没有做太多的事情,这是好的。但是,例如,我的一个脚本获取一个零件,并在用户的CSV文件指定的坐标处复制它。有时这种复制可能多达2000次。在这种情况下,要花很长时间才能完成这个过程,而且大多数时间你只能看到“设置显示…”

此外,此“设置显示…”会覆盖脚本的进度(里程碑),因此很难看到脚本的进度。在

有什么方法可以在脚本完成之前挂起这个显示更新行为吗?也许有一个黑客,你可以重新定义abaqus更新函数,直到脚本完成或其他什么,因为根据手册,你唯一能做的就是阻止更新配色方案,但这一点都没有帮助。在

如有任何提示,将不胜感激,谢谢!在

编辑:为了澄清我对viewport对象使用了以下方法:

disableRefresh()
disableColorCodeUpdates()

当在模型视口中使用颜色编码时,disableColorCodeUpdates()的作用是非常清楚的,而且好处是显而易见的。但是,我看不出使用和不使用disableRefresh()之间的区别。在

编辑:抱歉等了这么久,只是现在我有机会回到阿巴克斯。下面是一个简单的示例脚本,用于获取零件并将其放置在部件中:

^{pr2}$

如果我尝试创建视口对象而不指定显示的对象。视口默认为初始视口中当前显示的对象。我注意到,如果我将一个模块从amassembly更改为任何其他模块,例如Part,我将获得速度提升,但这取决于部件是否足够空。如果我有一个大而复杂的模型,它在“设置显示…”上仍然相当慢,而且我的里程碑无论如何都会被“设置显示…”覆盖。在


Tags: 模块对象方法模型脚本插件编辑过程
1条回答
网友
1楼 · 发布于 2024-09-29 02:20:10

我想我以前也见过类似的情况,我在guicae会话中逐个创建元素。我不知道如何禁用屏幕刷新,而且速度慢得令人发狂。有两种解决方法:

1。如果有其他命令,可以同时创建多个项目。在上面的例子中,我没有使用Element方法一次创建一个新元素,而是使用makePartFromNodesAndElements一次生成整个部分和网格,这明显更快。在你的情况下,也许可以做一些类似的事情。在

2.如果不需要活动GUI,请从系统shell运行脚本:abaqus cae noGui=script.py。甚至可以从命令行界面向脚本传递参数。在

我刚刚想到的另一种(未经测试的)可能性是,您可以在不指定显示对象的情况下创建并切换到新视口。然后试试你的代码,看看是否能加快速度。在

相关问题 更多 >