EaBIM一直以来积极响应国家“十二五”推进建筑业信息化的号召,对建筑领域的信息技术开展深入技术交流和探讨!致力于打造“BIM-建筑师-生态技术”三位一体综合资源交流共享平台,希望为BIM与可持续设计理念及技术的普及做出微小的贡献!!!

EaBIM

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 542|回复: 1
打印 上一主题 下一主题

元素镜像MirrorElement

[复制链接]

1514

主题

7465

帖子

1万

积分

admin

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10

积分
12396

社区QQ达人

跳转到指定楼层
楼主
发表于 2014-1-9 13:00:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这里涉及到一些专业术语Face,Plane,UV,还没搞清楚,暂时记录下来。

  1. <div align="left" style="color: rgb(105, 105, 105); font-family: 'Microsoft Yahei', Simsun; ">[Transaction(TransactionMode.Manual)]
  2. [Regeneration(RegenerationOption.Manual)]
  3. public class cmdMirrorWall : IExternalCommand
  4. {
  5.     public Result Execute(ExternalCommandData cmdData, ref string msg, ElementSet elements)
  6.     {
  7.         UIDocument uiDoc = cmdData.Application.ActiveUIDocument;

  8.         Transaction ts = new Transaction(uiDoc.Document, "http://revit.5d6d.com");
  9.         ts.Start();

  10.         Reference reference = uiDoc.Selection.PickObject(ObjectType.Element, "选择一面墙");
  11.         Wall wall = uiDoc.Document.GetElement(reference) as Wall;
  12.         MirrorWall(uiDoc.Document, wall);

  13.         ts.Commit();

  14.         return Result.Succeeded;
  15.     }
  16.     private void MirrorWall(Document doc, Wall wall)
  17.     {
  18.         Reference reference = HostObjectUtils.GetSideFaces(wall, ShellLayerType.Exterior).First();
  19.         Face face = wall.GetGeometryObjectFromReference(reference) as Face;
  20.         UV bboxMin = face.GetBoundingBox().Min;
  21.         Plane plane = new Plane(face.ComputeNormal(bboxMin), face.Evaluate(bboxMin).Add(new XYZ(10, 10, 0)));
  22.         ElementTransformUtils.MirrorElement(doc, wall.Id, plane);
  23.     }
  24. }</div>
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言

5

主题

851

帖子

1342

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1342
2F
发表于 2014-2-20 14:37:13 | 只看该作者
(*^__^*) 嘻嘻……
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|EaBIM网 ( 苏ICP备2020058923号-1  苏公网安备32011502011255号

GMT+8, 2024-9-29 14:35

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表