可以通过视图view(由imodel视图创建工具生成,本质上是xml文件)快速遍历、查询imodel业务数据。
具体做法是:
首先调用LoadView()方法加载进view,
再通过IModelView对象得到view所包含的table,
最后通过table得到所需的数据行和列。
代码示例如下:
IModel imodel = IModel.Open(@"D:\test.i.dgn");
IModelView view = imodel.LoadView(@"D:\view.xml");
string strInfo = "";
List<string> tables = view.Tables;
for (int i = 0; i < tables.Count; i++)
{
strInfo += ("TableName = " + tables[i] + "\n");
DataTable table = view[tables[i]];
foreach (DataColumn c in table.Columns)
{
strInfo += (c.ColumnName + "\t\t");
}
strInfo += "\n";
foreach (DataRow r in table.Rows)
{
foreach (DataColumn c in table.Columns)
{
strInfo += (r[c.ColumnName] + "\t\t");
}
}
}
imodel.Close();
}