[Revit开发]先执行命令,再选取元素或者属性信息

 1 namespace ConsoleApp1
 2 {
 3    [Transaction(TransactionMode.Manual)]
 4 
 5    public class UIDocument_Selection2 : IExternalCommand
 6     {
 7         public Result Execute(ExternalCommandData Revit,ref string message,ElementSet elements)
 8         {
 9             try
10             {
11                 UIDocument document = Revit.Application.ActiveUIDocument;//获取文档,点选实体,给下面提供元素
12 
13                 Reference pickElemRef = document.Selection.PickObject(ObjectType.Element);//提供的元素创建引用
14 
15                 Element elem = document.Document.GetElement (pickElemRef.ElementId);//引用元素ID,这里我理解的是,如果你需要选择一个元素并获取它的信息,必须要先获取到ID才可以
16                 String info = "所选元素类型为:";
17                 info+="\n\t"+elem.GetType().ToString();  //GetType获取当前实例类型,ToString返回表示当前对象的字符串(也就是名称)
18 
19                 TaskDialog.Show("Revit",info);
20             }
21             catch(Exception ex)
22             {
23                 message = ex.Message;
24                 return Result.Failed;
25             }
26             return Result.Succeeded;
27         }
28     }
29 }

 

 

需要注意的就是,API变了,获取元素选择,必须从UIDocument这个类实现

 

posted @ 2022-05-27 15:10  支阿怪🔥  阅读(44)  评论(0编辑  收藏  举报