目录
总结
前言
小伙伴们在进行Revit二次开发的过程中,可能会需要对用户选取的元素进行操作,具体如何实现呢,请看下文:
一、添加引用
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Plumbing;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
二、常规操作获取当前文档
UIDocument uiDoc = commandData.Application.ActiveUIDocument;
Document doc = commandData.Application.ActiveUIDocument.Document;
三、获取用户选取元素
Selection sel = uiDoc.Selection;
Reference reference = sel.PickObject(ObjectType.PointOnElement);
四、获取用户选取元素ID,并在窗口显示
TaskDialog.Show("选取元素ID为", Convert.ToString(reference.ElementId));
总结
通过获取用户选取元素可以对模型进行相应修改操作,完整代码如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
namespace ModelEdit
{
[Regeneration(RegenerationOption.Manual)]
[Transaction(TransactionMode.Manual)]
public class Class1:IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
//【1】获取当前文档
UIDocument uiDoc = commandData.Application.ActiveUIDocument;
Document doc = commandData.Application.ActiveUIDocument.Document;
//获取用户选择的元素
//【1】获取Selecction
Selection sel = uiDoc.Selection;
Reference reference = sel.PickObject(ObjectType.PointOnElement);
TaskDialog.Show("选取元素ID为", Convert.ToString(reference.ElementId));
return Result.Succeeded;
}
}
}