可以通过视图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(); }