如何取得镜像图元的ElementID
来源:互联网 发布:mac复制粘贴快捷键 编辑:程序博客网 时间:2024/05/22 13:34
问题:
用函数ElementTransformUtils.MirrorElement(doc, wall.Id, plane)创建一个墙的镜像,我想对镜像出来的墙做一些处理,可惜这个函数没有返回值,得不到镜像墙的句柄。
我现在的做法是做镜像之前取一遍墙的List,镜像之后在取一遍,看多出哪个,有没有更有效率的办法?
答:
不知道你是否想在同一个命令中来获知镜像后新生成的墙?
如果想在同一个Revit二次开发命令中获知新生成的墙,只能采用你说的方法。 但是有一个窍门:Revit 通过过滤FilteredElementCollector 获知的ElementId.IntegerValue 是按照升序排列的。(我是我发现的规律,尚未发现违背这个规律的)。 对比MirrorElement命令前后的最大Wall的ElementId.IntegerValue 值,你只需从后到前的方式获取几个墙的ElementId,看看是否是新生成的。这应该可以减少
如果你想在另一个命令中获知新产生了哪些墙,你可以用DocumentChanged 事件。 这个事件处理函数的参数会带有哪些对象时新生成的,哪些对象被删除了。
下面是DocumentChanged 事件处理函数的参数类提供的方法来获取Document里面对象发生的具体变化。
Returns set of elements newly added to the document.
GetAddedElementIds(ElementFilter)Returns set of newly added elements that pass the filter.
GetDeletedElementIdsReturns set of elements that were deleted from the document.
转载请复制以下信息:
原文链接: http://blog.csdn.net/joexiongjin/article/details/17349247
作者: 叶雄进
0 0
- 如何取得镜像图元的ElementID
- "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")"的分析
- 如何取得好的软件设计
- 如何取得服务器端的appl_physical_path
- 如何取得CPU的主频
- 如何取得昨天的日期
- 如何取得文件的扩展名
- 如何取得Memo的行和列
- 如何取得硬盘的分区信息
- 如何取得MP3的总时间
- 如何取得所有的Session变量
- 如何取得面圖示的座標
- 高手指点:如何取得好的软件设计
- 高手指点:如何取得好的软件设计
- 如何取得網路上的圖片
- 如何取得上一次的URL?
- 如何取得所有的Session变量
- 如何取得系统中的桌面的路径
- linux网络编程之socket(十三):epoll 系列函数简介、与select、poll 的区别
- SHELL类型切换
- 高性能的I/O设计 reactor和procator
- android控件大小布局
- 链表的输入输出以及就地逆转
- 如何取得镜像图元的ElementID
- ZOJ-1338
- android 子线程不用handler 控制UI线程中的组件
- SQL Server 2008 I/O性能监控
- shared_ptr
- 再谈windows下几个重要的DOS命令和命令组合,工作中常用
- Linux C 编程在线版和离线版
- linux网络编程之socket(十四):基于UDP协议的网络程序
- Linux 环境变量配置