首页 > Windows开发 > 详细

Revit MEP API找到连接器连接的连接器

时间:2014-02-27 09:04:07      阅读:752      评论:0      收藏:0      [点我收藏+]
通过conn.AllRefs;可以找到与之连接的连接器。
bubuko.com,布布扣
//连接器连接的连接器
[TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)]
public class cmdConnected : IExternalCommand
{
    public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements)
    {
        UIApplication app = commandData.Application;
        Document doc = app.ActiveUIDocument.Document;
        Selection sel = app.ActiveUIDocument.Selection;

        Transaction ts = new Transaction(doc, "revit");
        ts.Start();

        Reference refDuct = sel.PickObject(ObjectType.Element, "duct");
        Duct duct = doc.GetElement(refDuct) as Duct;
        ConnectorSetIterator csi = duct.ConnectorManager.Connectors.ForwardIterator();
        while (csi.MoveNext())
        {
            Connector conn = csi.Current as Connector;
            if (conn.IsConnected == true)//是否有连接
            {
                ConnectorSet connectorSet = conn.AllRefs;//找到所有连接器连接的连接器
                ConnectorSetIterator csiChild = connectorSet.ForwardIterator();
                while (csiChild.MoveNext())
                {
                    Connector connected = csiChild.Current as Connector;
                    if (null != connected && connected.Owner.UniqueId != conn.Owner.UniqueId)
                    {
                        // look for physical connections 
                        if (connected.ConnectorType == ConnectorType.End ||
                            connected.ConnectorType == ConnectorType.Curve ||
                            connected.ConnectorType == ConnectorType.Physical)
                        {
                            //判断是不是管件
                            if (connected.Owner is FamilyInstance)
                            {
                                TaskDialog.Show("fitting", connected.Owner.Name);
                            }
                        }
                    }
                }
            }
        }

        ts.Commit();

        return Result.Succeeded;
    }
}
bubuko.com,布布扣
url:http://greatverve.cnblogs.com/p/revit-mep-api-AllRefs.html

Revit MEP API找到连接器连接的连接器,布布扣,bubuko.com

Revit MEP API找到连接器连接的连接器

原文:http://www.cnblogs.com/greatverve/p/revit-mep-api-AllRefs.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!