Revit 二次开发 获取选中的对象

领导脑瓜一拍,决定结合Revit开发产品,俺可惨了,两眼一抹黑,在他拍脑袋前,俺连Revit是什么、干嘛用的都不知道,硬着头皮上吧。老了,脑瓜不好使了,学过的在这里做个笔记


 1 //获取选中对象
2
3 [TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)]
4 public class getSelectEle : IExternalCommand
5 {
6
7 public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements)
8 {
9 GetSelectionElement(commandData, elements);
10 return Result.Succeeded;
11 }
12
13
14 public void GetSelectionElement(ExternalCommandData commandData, ElementSet elements)
15 {
16 UIApplication app = commandData.Application;
17 Selection sel = app.ActiveUIDocument.Selection;
18 ElementSet es = sel.Elements;
19 if (es.Size > 0)
20 {
21 string seleStr = "";
22 foreach (Element selitem in es)
23 {
24 seleStr += selitem.Id + "," + selitem.Name + "\n";
25 }
26 TaskDialog.Show("all Selection", seleStr);
27 }
28
29 }
30 }

时间: 2024-12-23 18:46:52

Revit 二次开发 获取选中的对象的相关文章

Revit 二次开发 自动选中对象

//获取选中对象 [TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)] public class setSelectEle : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements) { SetSelectionElement(co

Revit 二次开发 修改对象的颜色

//修改对象颜色 [TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)] public class ChangeColor : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements) { ChangeElementColor(comm

Revit二次开发实现BIM盈利(以橄榄山快模为例讲解) 视频讲座下载

应笔墨闲谈群的邀请, 在10月11号晚8:30分在其群做了一次关于BIM二次开发的讲座. 由于参与者基本上都是从设计院和施工单位来的,所以对Revit二次开发做了纵览性的讲解, 以非程序员能听懂的方式讲解Revit二次开发.使这些行业领导或负责人能明白Revit二次开发的大概特点,以及其能实现的功能. 便于他们在自己的业务需要Revit插件时,能更好的思考和决策插件项目的立项和推动. 下面是这次讲座的提纲: Revit二次开发纵览,以橄榄山快模为例演示API概念Revit二次开发原理Revit二

Revit二次开发实现BIM盈利(以橄榄山快模为例解说) 视频讲座下载

应笔墨闲谈群的邀请, 在10月11号晚8:30分在其群做了一次关于BIM二次开发的讲座. 因为參与者基本上都是从设计院和施工单位来的,所以对Revit二次开发做了纵览性的解说, 以非程序猿能听懂的方式解说Revit二次开发.使这些行业领导或负责人能明确Revit二次开发的大概特点,以及其能实现的功能. 便于他们在自己的业务须要Revit插件时,能更好的思考和决策插件项目的立项和推动. 以下是这次讲座的提纲: Revit二次开发纵览,以橄榄山快模为例演示API概念Revit二次开发原理Revit二

Revit二次开发,删除载入的族

Document doc = commandData.Application.ActiveUIDocument.Document; Family family = null; string s = "c:/xxx.rfa"; Transaction tran = new Transaction(doc,"载入族"); tran.Start(); bool b = doc.LoadFamily(s, out family); tran.Commit(); if (b)

踏上Revit二次开发之路 1 准备工作

1 准备工作 工欲善其事,必先利其器.在正式开始之前,我觉得有必要先盘点一下需要准备些什么. 1.1 硬件设备 PC机一台(谢绝Apple). 配置不能太低,至少要i3以上的cpu.4g以上的内存和支持DX11的独立显卡,否则跑不动Revit,建议不低于i5 CPU和8g内存.SSD不是必须品,我敢保证,当你把360.电脑管家和金山毒霸之类装了四五个以后,开机时间肯定会比裸奔的5400转机械硬盘长很多(珍爱生命,远离国产软件全家桶). 1.2 必要软件 1.2.1 64位Windows 7或8操

Revit二次开发基础-在附加模块中添加外部工具选项

想必想投身与Revit二次开发的朋友们可能会出现这样的一种情景,当我们打开自己的revit(2014版本以上)时,点击附加模块,会发现缺少一个外部工具这个按钮!!!是不是Autodesk给你藏起来了,其实还真是! 接下来我就给大家演示下如何在附加模块下添加外部工具这个按钮. 本人使用的是Revit2016,所以以下是以该版本进行演示. 首先我们需要在Autodesk官网下载一个2016版本的SDK,如图所示: 另附网站:http://usa.autodesk.com/adsk/servlet/i

NX二次开发-获取指定矩阵标识的矩阵值

函数:UF_CSYS_ask_matrix_values () 函数说明:获取指定矩阵标识的矩阵值. 用法: #include <uf.h> #include <uf_csys.h> extern DllExport void ufusr(char *param, int *returnCode, int rlen) { UF_initialize(); //获取WCS标识 tag_t tagWCS = NULL_TAG; UF_CSYS_ask_wcs(&tagWCS);

删除选中的对象-Revit二次开发2

对选中的对象进行删除 using System; using System.Windows.Forms; using System.Collections; using Autodesk.Revit; using Autodesk.Revit.DB; using Autodesk.Revit.UI; namespace Revit.SDK.Samples.DeleteObject.CS { /// <summary> /// 删除被选中的对象 /// </summary> [Aut