有时候风管风口与风口断开,如果重新连接风口,需要一个点击连接很麻烦,所以做一个批量连接风口的功能,直接上代码:
var references = sel.PickObjects(ObjectType.Element, new DuctTerminalFilter(), "选择风道末端");
foreach (var reference in references)
{
familyInstances.Add(reference.GetElement(doc) as FamilyInstance);
}
Transaction tr = new Transaction(doc);
tr.Start("风口连接");
foreach (var instance in familyInstances)
{
var conset = instance.MEPModel.ConnectorManager.Connectors;
foreach (Connector item in conset)
{
if (item.IsConnected) continue;//忽略已连接的风口
FilteredElementCollector collector = new FilteredElementCollector(doc, activeview.Id);
ElementIntersectsElementFilter elementIntersects = new ElementIntersectsElementFilter(instance, false);//获取与风口有碰撞的风管
mepcurve = collector.OfCategory(BuiltInCategory.OST_DuctCurves).WherePasses(elementIntersects).FirstOrDefault() as MEPCurve;
try
{
MechanicalUtils.ConnectAirTerminalOnDuct(doc, instance.Id, mepcurve.Id);//连接风道末端
}
catch
{
continue;
}
}
}
tr.Commit();
}
return Result.Succeeded;
分享一
分享一个自制Revit插件,本人是个BIM工程师,该插件是根据自己做工程一些经验和对插件功能的频繁度,自己整合开发功能,初衷是提高效率。
目前MagicTools的功能包括通用功能、土建、机电、审图、出图功能。还有好多功能都想做,如果有好的需求也可以提,后续有新增继续增加上去,努力弄个实用的插件,希望能帮到真正有需要的BIMer。
如有需要的可以加企鹅群:630552940
插件下载地址,免费试用
链接:https://pan.baidu.com/s/1GDnHeWwZ5r_HrnT3Mo7twA?pwd=jhlt
提取码:jhlt