Revit二次开发之获取构件Connector

1.Revit二次开发公用专业中的管道,风管,桥架,导线等系统族 要想获取它的连接件 需要将其转化为MEPCurve

      如:   UIApplication uiapp = commandData.Application;
            UIDocument uidoc = uiapp.ActiveUIDocument;
            Document doc = uiapp.ActiveUIDocument.Document;
            Reference refer = uidoc.Selection.PickObject(ObjectType.Element);
            Element elem = doc.GetElement(refer);
            //管道
            Pipe pipe = elem as Pipe;
            //风管
            Duct duct = elem as Duct;
            //桥架
            CableTray cabletray = elem as CableTray;
            //导线
            Wire wire = elem as Wire;

再转化为MEPCurve,然后就可以获取和设置目标连接件(Connector),也可直接由Element直接转换
        转换过程如下:

            //MEPCurve mep = pipe as MEPCurve;
            MEPCurve mep = elem as MEPCurve ;            
            ConnectorSetIteratorSetI terator=mep.ConnectorManager.Connectors.ForwardIterator ();            
            while (SetIterator.MoveNext ())      
           
   
                Connector connector = SetIterator.Current as Connector;    
           

2.要想获取公用专业标准族实例(如管件,设备等),需要将标准族实例转化为MEPModel
       
 
        如: UIApplication uiapp = commandData.Application;
            UIDocument uidoc = uiapp.ActiveUIDocument;
            Document doc = uiapp.ActiveUIDocument.Document;
            Reference refer = uidoc.Selection.PickObject(ObjectType.Element);
            Element elem = doc.GetElement(refer);
            //必须将Element 转化到FamilyInstance级别
            FamilyInstance instance = elem as FamilyInstance;
            MEPModel model = instance.MEPModel as MEPModel;
            ConnectorSetIterator set = model.ConnectorManager.Connectors.ForwardIterator();
            while (set.MoveNext())
            {

                Connector co = set.Current as Connector;

            }  
3.获取连接件上连接的所有连接件

        如:ConnectorSetIterator connectorSetIterator = connector.AllRefs.ForwardIterator();            
            while (connectorSetIterator.MoveNext())  
           
              Connector connref = connectorSetIterator.Current as Connector;  
            }    
4.连接件几个重要的属性方法
              Connector.Owner获得宿主,Connector.Origin获得坐标 , ConnectTo()方法连接两个connectors 
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值