RME二次开发之“修改矩形风管为圆形风管”即实现“天圆地方”连接。

当两个矩形风管用弯头连接的时候,如果把其中一个修改成圆形风管。
就会自动创建天圆地方。所以这里的问题就转移到,怎样修改矩形风管为圆形风管。
[Transaction(TransactionMode.Automatic)]
[Regeneration(RegenerationOption.Automatic)]
public   class  ChangeDuctKind : IExternalCommand
{
    
public  Result Execute(ExternalCommandData commandData,  ref   string  messages, ElementSet elements)
    {
        
try
        {
            UIDocument uidoc 
=  commandData.Application.ActiveUIDocument;
            
// 得到选择的对象
            Selection selection  =  uidoc.Selection;
            ElementSet collection 
=  selection.Elements;

            
// 遍历得到所有风管类型
            FilteredElementCollector collector  =   new  FilteredElementCollector(uidoc.Document);
            collector.OfClass(
typeof (DuctType));
            
// if (collector != null)
            
//     collector.OfCategory(BuiltInCategory.OST_Walls);
            IList < Element >  list  =  collector.ToElements();

            DuctType dType 
=   null ;
            
for  ( int  i  =   0 ; i  <  list.Count; i ++ )
            {
                
if  (list.ElementAt(i).Name  ==   " T 形三通 " ) // 属于圆形风管
                    dType  =  list.ElementAt(i)  as  DuctType;
            }

            
if  ( 0   ==  collection.Size)
            {
                TaskDialog.Show(
" Revit " " You haven't selected any elements " );
            }
            
else
            {
                
foreach  (Element elem  in  collection)
                {
                    Duct duct 
=  elem  as  Duct;
                    
if  (duct  !=   null )
                    {
                        duct.DuctType 
=  dType; // 通过修改DuctType可以修改DuctKind
                    }
                }
            }
        }
        
catch  (Exception e)
        {
            messages 
=  e.Message;
            
return  Result.Failed;
        }
        
return  Result.Succeeded;
    }
}
此法已过时,Revit2012可以直接使用NewEblowFitting()创建天圆地方连接。
from: http://revit.5d6d.com/thread-865-1-4.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值