请问一下,我想在opm中根据选中的管线获取管线上的支吊架如何实现呢?

如题,我通过交互工具选择了指定的管线,然后想获取管线上的支吊架进行标注,不知道如何获取,请帮忙。

Parents
  •         private static string Relationship = "DEVICE_HAS_SUPPORT";
            public static void Run()
            {
                // pipe
                Element element = Utils.Utils.GetASelectedElement();
                if (element == null)
                {
                    return;
                }
    
                var instances = DgnECManager.Manager.GetElementProperties(element, ECQueryProcessFlags.SearchAllClasses);
                var instance = instances.ElementAt(1);//pipeInstance
                List<IECRelationshipInstance> relationships = DgnUtilities.GetAllRelationshipInstances(instance).Where(e => e.ClassDefinition.Name == Relationship).ToList();
                foreach (var relationship in relationships)
                {
                    IECInstance support = relationship.Target;
                    var id = (support as IDgnECInstance).Element.ElementId;
                }
            }

Reply
  •         private static string Relationship = "DEVICE_HAS_SUPPORT";
            public static void Run()
            {
                // pipe
                Element element = Utils.Utils.GetASelectedElement();
                if (element == null)
                {
                    return;
                }
    
                var instances = DgnECManager.Manager.GetElementProperties(element, ECQueryProcessFlags.SearchAllClasses);
                var instance = instances.ElementAt(1);//pipeInstance
                List<IECRelationshipInstance> relationships = DgnUtilities.GetAllRelationshipInstances(instance).Where(e => e.ClassDefinition.Name == Relationship).ToList();
                foreach (var relationship in relationships)
                {
                    IECInstance support = relationship.Target;
                    var id = (support as IDgnECInstance).Element.ElementId;
                }
            }

Children