我想比较两个 Ansys 机械模型并总结差异。在某些情况下,只需将两个 ds.dat 文件与例如 Notepad++ 进行比较就足够了。但是不同的网格使这种比较很快变得混乱。
我的想法是将两个模型的树从
ExtAPI.DataModel.Project.Model
两个字典导出,然后比较它们。但是我很难保持结构。当我尝试遍历所有受此链接启发的孩子时
#recursive function to iterate a nested dictionary
def iterate(dictionary, indent=4):
print '{'
for child in dictionary.Children:
#recurse if the value is a dictionary
if len(child.Children) != 0:
print ' '*indent + child.Name + ": " ,
iterate(child, indent+4)
else:
print ' '*indent+ child.Name
print ' '*(indent-4)+ '}'
我得到了可用格式的结构:
iterate(Model)
{
Geometry: {
Part: {
Body1
}
...
}
Materials: {
Structural Steel
}
Cross Sections: {
Extracted Profile1
}
Coordinate Systems: {
Global Coordinate System
} ... }
但是现在我正在努力替换递归函数中的打印语句并保留模型树中的结构。