0
点赞
收藏
分享

微信扫一扫

Revit SDK 介绍:GenericStructuralConnection + DetailStructuralConnection

八卦城的酒 2022-03-20 阅读 65
C#

前言

在这个 SDK 例子中介绍的是结构面板中 “连接” 的 API。
在这里插入图片描述

内容

涉及的 API 主要包括了:StructuralConnectionHandlerTypeStructuralConnectionHandler。结构连接分为两种类型,常规连接和详细连接。
在这里插入图片描述
可以通过 API 接口去判断是常规连接还是详细连接。下面以梁为例。
常规连接:
在这里插入图片描述

详细连接:
在这里插入图片描述

常规连接

创建常规连接的逻辑:

// CreateGenericStructuralConnection
using (Transaction tran = new Transaction(activeDoc.Document, "Create generic structural connection"))
{
   tran.Start();
   StructuralConnectionHandler conn = StructuralConnectionHandler.CreateGenericConnection(activeDoc.Document, ids);
   TransactionStatus ts = tran.Commit();
}

详细连接

创建详细连接的逻辑:

using (Transaction transaction = new Transaction(activeDoc.Document, "Create detailed structural connection"))
{
   transaction.Start();
   // 这一步不一定可以完成,找不到 SteelConnectionsData.xml 这个文件,导致效果不是预期的。
   // 可以直接传一个 detail StructuralConnectionHandlerType 的 id 进去。
   StructuralConnectionHandlerType connectionType = StructuralConnectionHandlerType.Create(activeDoc.Document, "usclipangle", new Guid("A42C5CE5-91C5-47E4-B445-D053E5BD66DB"), "usclipangle");
   if (connectionType != null)
   {
      StructuralConnectionHandler.Create(activeDoc.Document, ids, connectionType.Id);
   }
   TransactionStatus ts = transaction.Commit();
}

其它

StructuralConnectionHandler 有 5 个 Create 相关的接口:

// 猜测可以创建默认连接
public static StructuralConnectionHandler Create(Document document, IList<ElementId> idsToConnect);
// 猜测可以创建常规连接和详细连接
public static StructuralConnectionHandler Create(Document document, IList<ElementId> idsToConnect, ElementId typeId);
public static StructuralConnectionHandler Create(Document document, IList<ElementId> elementIds, string typeName);
public static StructuralConnectionHandler Create(Document document, IList<ElementId> idsToConnect, ElementId typeId, IList<ConnectionInputPoint> additionalInputPoints);
// 猜测可以创建常规连接
public static StructuralConnectionHandler CreateGenericConnection(Document document, IList<ElementId> idsToConnect);

除了这些接口,StructuralConnectionHandler 也提供了修改连接对象的能力。

举报

相关推荐

0 条评论