代码时仿照写的 ,如下
FindInstancesScopeOption opt = new FindInstancesScopeOption(DgnECHostType.Element, true); FindInstancesScope scope = FindInstancesScope.CreateScope(elm, opt); DgnECConnectionOptions dgnECConOps = new DgnECConnectionOptions(); ECQuery query = new ECQuery(); query.SelectClause.SelectAllProperties = true; DgnECInstanceCollection ecCollection = DgnECManager.Manager.FindInstances(scope, query);
请直接改用如下一行代码即可搞定:
DgnECInstanceCollection instCol = DgnECManager.Manager.GetElementProperties(myElem, ECQueryProcessFlags.SearchAllClasses);
Answer Verified By: 鑫 杨
果然可以了,谢谢符老师
那符老师为什么上面的代码没法正确的获取DgnECInstanceCollection呢,在nativecode中同样的写法就可以得到
您可以搜索一下SDK中所有的cs文件,里面有多个地方用到类似你写的方法。但它们在new ECQuery时都显式地指定了ECClass而不是像您这样给的为空。推测有可能是这方面的原因。