符老师
//第一种方式 DgnModel dgnModel = Session.Instance.GetActiveDgnModel(); foreach (DgnAttachment dgnAtt in dgnModel.GetDgnAttachments()) { //这个myElem 中的DgnModelRef.AsDgnAttachment()是null Element myElem = dgnAtt.GetDgnModel().FindElementById((ElementId)1059L); } //第二种方式(先选择1059元素) ElementAgenda ageda = new ElementAgenda(); StatusInt sucess = SelectionSetManager.BuildAgenda(ref ageda); for (uint i = 0; i < SelectionSetManager.NumSelected(); i++) { //这个myElem 中的DgnModelRef.AsDgnAttachment()是有值的 Element myElem = ageda.GetEntry(i); }
请问 我该怎么 只通过Element获得元素 所在的参考模型(如果有的话)
0363.dgn456.dgn
123是主文件 456是参考文件
这样就可以获取到:ele1.DgnModelRef.AsDgnAttachment();
我通过 FindElementById 这种是得到的 ele1 转AsDgnAttachment是null
您是通过谁调用的FindElementById ,通过这个对象去获取就行了
这是测试 别人给我就一个Element 他们通过find的Element 转AsDgnAttachment是null
是null就表明当前元素不是从参考里边获取的