每个DGN文件中的元素都有一个唯一不变的标识符ElementID,但有些老的程序还会用到一个老的概念叫做文件位置(FilePosition)。它在V7DGN时代确实是该元素在DGN文件中的文件位置(扇区数+该扇区中的偏移量)。但在V8DGN中,它仅仅是一个索引值。那么,在MVBA中如何根据一个已知的文件位置获取对应的元素呢?请看如下代码:
Sub GetElementFromFilePos() Dim index As Long Dim elemCache As ElementCache Dim el As Element Set elemCache = ActiveModelReference.GraphicalElementCache index = elemCache.IndexFromFilePosition(4000011) If elemCache.InElementValid(index) Then Set el = elemCache.GetElement(index) End If End Sub