Revit 二次开发之“在机械设备之间创建机械系统”
2011-07-18 09:53
519 查看
创建了机械系统,没有用风管连接起来。还不太理解,记录一下。
ConnectorSet connectorSet = new ConnectorSet();
Connector baseConnector = null;
ConnectorSetIterator csi = null;
ElementSet selection = sel.Elements;
foreach (Element e in selection)
{
if (e is FamilyInstance)
{
FamilyInstance fi = e as FamilyInstance;
Family family = fi.Symbol.Family;
if (family.FamilyCategory.Name == "机械设备")
{
if (null != fi.MEPModel)
{
csi = fi.MEPModel.ConnectorManager.Connectors.ForwardIterator();
while (csi.MoveNext())
{
Connector conn = csi.Current as Connector;
if (conn.Direction == FlowDirectionType.Out && conn.DuctSystemType == DuctSystemType.SupplyAir)
{
baseConnector = conn;
break;
}
}
}
}
else if (family.FamilyCategory.Name == "风道末端")
{
csi = fi.MEPModel.ConnectorManager.Connectors.ForwardIterator();
csi.MoveNext();
connectorSet.Insert(csi.Current as Connector);
}
}
}
MechanicalSystem mechanicalSys = null;
PipingSystem pipingSystem = null;
if (null != baseConnector && connectorSet.Size > 0)
{
mechanicalSys = doc.Create.NewMechanicalSystem(baseConnector, connectorSet, DuctSystemType.SupplyAir);
//pipingSystem = doc.Create.NewPipingSystem(baseConnector, connectorSet, PipeSystemType.SupplyHydronic);
}from:http://revit.5d6d.com/thread-858-1-1.html
ConnectorSet connectorSet = new ConnectorSet();
Connector baseConnector = null;
ConnectorSetIterator csi = null;
ElementSet selection = sel.Elements;
foreach (Element e in selection)
{
if (e is FamilyInstance)
{
FamilyInstance fi = e as FamilyInstance;
Family family = fi.Symbol.Family;
if (family.FamilyCategory.Name == "机械设备")
{
if (null != fi.MEPModel)
{
csi = fi.MEPModel.ConnectorManager.Connectors.ForwardIterator();
while (csi.MoveNext())
{
Connector conn = csi.Current as Connector;
if (conn.Direction == FlowDirectionType.Out && conn.DuctSystemType == DuctSystemType.SupplyAir)
{
baseConnector = conn;
break;
}
}
}
}
else if (family.FamilyCategory.Name == "风道末端")
{
csi = fi.MEPModel.ConnectorManager.Connectors.ForwardIterator();
csi.MoveNext();
connectorSet.Insert(csi.Current as Connector);
}
}
}
MechanicalSystem mechanicalSys = null;
PipingSystem pipingSystem = null;
if (null != baseConnector && connectorSet.Size > 0)
{
mechanicalSys = doc.Create.NewMechanicalSystem(baseConnector, connectorSet, DuctSystemType.SupplyAir);
//pipingSystem = doc.Create.NewPipingSystem(baseConnector, connectorSet, PipeSystemType.SupplyHydronic);
}from:http://revit.5d6d.com/thread-858-1-1.html
相关文章推荐
- Revit 二次开发之“在两个机械设备之间创建风管”
- RevitAPI之在机械设备和风管终端间创建风管系统
- Building Coder(Revit 二次开发) - 使用 FindReferencesByDirection 创建墙体之间的尺寸标注
- Building Coder(Revit 二次开发)- 在两条线之间创建尺寸
- Building Coder(Revit 二次开发) - 从 Revit 中创建 Navisworks 文件
- Building Coder(Revit 二次开发)- 创建球体用于AVF和过滤
- Revit 二次开发之“创建外部应用”
- C# revit 二次开发 创建线图案
- Building Coder(Revit 二次开发) - 创建与墙体平行的剖视图
- Revit二次开发之创建斑马线【比目鱼原创】
- Building Coder(Revit 二次开发) - UIView 和 Windows 设备坐标
- Revit 二次开发 沿弧形路径创建拉伸屋顶
- Building Coder(Revit 二次开发) - 在一个倾斜的面上创建墙
- C# revit 二次开发 创建线样式LineStyle
- 多口短信猫设备及相应二次开发接口程序
- 微软CRM系统二次开发步骤以及注意事项
- Java微信二次开发之10-解析接口中的消息创建时间CreateTime 并转换成需要的格式
- Revit 二次开发 自动选中对象
- android wear开发:为可穿戴设备创建一个通知 - Creating a Notification for Wearables
- Revit 2011 二次开发之“取得两条直线的交点”