Revit开发柱附着和分离


在Revit里当我们选中一个柱子的时候,会出现附着和分离两个命令,那在API里应该怎么实现呢?

API里提供了一个ColumnAttachment 类来实现柱的附着和分离功能

下面是一个小例子:


            UIDocument uidoc = commandData.Application.ActiveUIDocument;
            Document doc = commandData.Application.ActiveUIDocument.Document;

            FamilyInstance column = doc.GetElement(uidoc.Selection.PickObject(ObjectType.Element)) as FamilyInstance;
            if (!ColumnAttachment.IsValidColumn(column))
            {
                message = "所选构件无法附着!";
                return Result.Failed;
            }
            Element elm = doc.GetElement(uidoc.Selection.PickObject(ObjectType.Element));
            if (!ColumnAttachment.IsValidTarget(column, elm))
            {
                message = "所选构件无法被附着!";
                return Result.Failed;
            }
            Transaction trans = new Transaction(doc, "trans");
            trans.Start();
            ColumnAttachment.AddColumnAttachment(doc, column, elm, 0, ColumnAttachmentCutStyle.None, ColumnAttachmentJustification.Tangent, 10);
            trans.Commit();
            return Result.Succeeded;

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Revit API生成构造,你需要遵循以下步骤: 1.创建一个新的Revit插件项目,并添加对Revit API的引用。 2.在项目中创建一个新的类来表示构造,并添加必要的属性和方法。 3.使用Revit API中的Transaction类来启动一个新的事务,以确保生成的构造可以被成功保存。 4.使用Revit API中的FamilySymbol类来获取一个构造族类型。 5.使用Revit API中的Level类来获取构造需要放置的楼层。 6.使用Revit API中的Curve类来创建一个表示构造位置和形状的线条。 7.使用Revit API中的FamilyInstance类来创建一个新的构造实例,并将其与族类型、楼层和位置线条相关联。 8.使用Revit API中的Transaction类来提交事务并保存生成的构造。 以下是示例代码: ```csharp using Autodesk.Revit.ApplicationServices; using Autodesk.Revit.DB; using Autodesk.Revit.UI; public void CreateColumn(Document doc, FamilySymbol columnType, Level level, XYZ startPoint, XYZ endPoint) { Transaction trans = new Transaction(doc, "Create Column"); trans.Start(); Line locationLine = Line.CreateBound(startPoint, endPoint); FamilyInstance column = doc.Create.NewFamilyInstance(locationLine, columnType, level, StructuralType.Column); trans.Commit(); } ``` 这段代码将创建一个名为“Create Column”的新事务,并在指定的楼层和位置处创建一个新的构造实例。它还需要一个构造族类型以及起始和结束点的坐标作为参数。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值