在新的ABD CE SDK update 3 中,我们提供了轴网API,来协助用户开发自己的应用。这里简单介绍相关的概念和应用。
下图是ABD中的轴网管理对话框。在这个对话框中,我们可以生成,修改并保存轴网信息。
在轴网API中,这两个名词代表轴网的线条,及线条所附加的标注和标记。
一套轴网就是一个GridSystem。GridSystem有自己的名字,绑定的楼层和楼。
ABD中的Project,会有一个DrawingGrid。
轴网API有C语言和C#两个版本。这里给出C#版本的例子。
public BBA.ITFLoadableProject GetCurrentProject() { BBA.ITFApplication appInst = new BBA.TFApplicationList(); BBA.ITFLoadableProject proj; BBA.ITFLoadableProjectList projList; if (0 == appInst.GetProject(0, out projList) && projList != null) { proj = projList.AsTFLoadableProject; return proj; } return null; } public void ReadGridLine() { BBA.ITFDrawingGrid drawingGrid = null; BBA.ITFGridSystemList gridSystems = null; BBA.ITFLoadableProject proj = GetCurrentProject(); if (null == proj) return; proj.GetDrawingGrid(false, 0, out drawingGrid); if (null == drawingGrid) return; drawingGrid.GetGridSystems(0, out gridSystems); BBA.ITFGridSystemList gridSystemNode = gridSystems; for (BBA.ITFGridSystem gridSystem = gridSystemNode.AsTFGridSystem; gridSystem != null; gridSystemNode.GetNext("", out gridSystemNode), gridSystem = (gridSystemNode != null) ? gridSystemNode.AsTFGridSystem : null) { BBA.ITFGridCurveList curves; gridSystem.GetGridCurves(0, out curves); BBA.ITFGridCurveList gridCurveNode = curves; for (BBA.ITFGridCurve gridCurve = gridCurveNode.AsTFGridCurve; gridCurve != null; gridCurveNode.GetNext("", out gridCurveNode), gridCurve = gridCurveNode != null ? gridCurveNode.AsTFGridCurve : null) { BBA.TFdGridCurveType curveType; gridCurve.GetType(0, out curveType); double gridValue; gridCurve.GetValue(0, out gridValue); } } }
这段代码主要是便利当前项目的轴网系统,获得轴网的属性。这段简单的测试代码可以利用建立一个最简单的应用程序C#版本文章里提供的一个简单的工程来测试。