Revit二次开发,如何获取用户选取元素部件

目录

总结


前言 

小伙伴们在进行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;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_44813961/article/details/125024847