使用Abaqus ODB C++API访问部件

Accessing parts with Abaqus ODB C++ API

本文关键字:访问部 C++API ODB Abaqus 使用      更新时间:2023-10-16

我正在使用Abaqus ODB C++API。我正在编写一个包装器来可视化.odb文件。

以下代码将名为"part-1"的部件加载到对象part

odb_Odb& odb = openOdb( filename.c_str() );
odb_PartRepository& pr = odb.parts();
odb_Part& part = pr["PART-1"];

如果你知道零件的名称,这个代码就很好了,但当我不知道它们的名称时,我如何访问它们?为什么API的作者会限制我们通过字符串进行索引?

经过大量搜索,我找到了以下解决方案。

参见本文件第10.10.5 Reading results data节:http://abaqus.ethz.ch:2080/v6.11/pdf_books/SCRIPT_USER.pdf

您必须使用存储库迭代器来提取可能的密钥。

// for example:
odb_StepRepositoryIT stepIter( odb.steps() );
for (stepIter.first(); !stepIter.isDone(); stepIter.next())
{
    cout << stepIter.currentKey().CStr() << endl;
}