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

EaBIM

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 1198|回复: 26
打印 上一主题 下一主题

[实体对象] 镜像对象

[复制链接]

1514

主题

7465

帖子

1万

积分

admin

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

积分
12404

社区QQ达人

跳转到指定楼层
楼主
发表于 2014-1-8 16:47:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本例创建一个Leader(引线)对象,并以Y轴为镜像轴镜像,类似的对对象的操作还有偏移、复制、缩放、旋转,相关的函数及操作见第五章的对象操作方法。
  • using System;
  • using Autodesk.AutoCAD.ApplicationServices;
  • using Autodesk.AutoCAD.DatabaseServices;
  • using Autodesk.AutoCAD.Geometry;
  • using Autodesk.AutoCAD.EditorInput;
  • using Autodesk.AutoCAD.Runtime;
  • [assembly: CommandClass(typeof(Sample.EditEntity))]
  • namespace Sample
  • {
  •     class EditEntity
  •     {
  •         [CommandMethod("EditEntity")]
  •         public void EditEnt()
  •         {
  •             Database db = HostApplicationServices.WorkingDatabase;
  •             using (Transaction tr = db.TransactionManager.StartTransaction())
  •             {
  •                 Leader Leader = (Leader)SelectEntity("\n选择对象");
  •                 if (Leader != null)
  •                     Mirror(Leader, new Point3d(0, 0, 0), new Point3d(0, 1, 0));
  •                 tr.Commit();
  •             }
  •         }
  •         /// <summary>
  •         /// 提示用户选择单个实体
  •         /// </summary>
  •         /// <param name="word">选择提示</param>
  •         /// <returns>实体对象</returns>
  •         public static Entity SelectEntity(string word)
  •         {
  •             Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
  •             Database db = doc.Database;
  •             Editor ed = doc.Editor;
  •             Entity entity = null;
  •             PromptEntityResult ent = ed.GetEntity(word);
  •             if (ent.Status == PromptStatus.OK)
  •             {
  •                 using (Transaction transaction = db.TransactionManager.StartTransaction())
  •                 {
  •                     entity = (Entity)transaction.GetObject(ent.ObjectId, OpenMode.ForWrite, true);
  •                     transaction.Commit();
  •                 }
  •             }
  •             return entity;
  •         }
  •         /// <summary>
  •         /// 指定两个镜像参照点得到实体镜像
  •         /// </summary>
  •         /// <param name="ent">实体对象</param>
  •         /// <param name="mirrorPt1">镜像点1</param>
  •         /// <param name="mirrorPt2">镜像点2</param>
  •         public static Entity Mirror(Entity ent, Point3d mirrorPt1, Point3d mirrorPt2)
  •         {
  •             Line3d mirrorLine = new Line3d(mirrorPt1, mirrorPt2);
  •             Matrix3d mt = Matrix3d.Mirroring(mirrorLine);
  •             ent.TransformBy(mt);
  •             return ent;
  •         }
  •     }
  • }


复制代码

先画一个用于镜像的对象:


运行命令” EditEntity”后选中对象,可以看到对象按照我们规定的镜像线翻转了。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言

12

主题

854

帖子

1923

积分

BIM经理

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

积分
1923
推荐
发表于 2014-2-13 09:59:49 | 只看该作者
不断的学习的过程 希望一起加油啊

12

主题

821

帖子

1427

积分

BIM经理

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

积分
1427
推荐
发表于 2014-5-13 10:27:28 | 只看该作者
路过!!! 不发表意见……

3

主题

839

帖子

1326

积分

BIM经理

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

积分
1326
推荐
发表于 2014-6-11 18:15:36 | 只看该作者
(*^__^*) 嘻嘻……

4

主题

832

帖子

1368

积分

BIM经理

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

积分
1368
5F
发表于 2014-2-18 12:08:34 | 只看该作者
顶...... 楼下跟上.....

11

主题

815

帖子

1367

积分

BIM经理

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

积分
1367
9F
发表于 2014-3-11 11:15:33 | 只看该作者
谢谢BIM大神…

19

主题

878

帖子

1359

积分

BIM经理

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

积分
1359
10F
发表于 2014-3-14 11:19:56 | 只看该作者
顶...... 楼下跟上.....

12

主题

854

帖子

1923

积分

BIM经理

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

积分
1923
13F
发表于 2014-3-14 11:35:14 | 只看该作者
顶......
楼下跟上.....

12

主题

992

帖子

1806

积分

BIM经理

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

积分
1806
14F
发表于 2014-5-7 10:01:02 | 只看该作者
(*^__^*) 嘻嘻……
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-23 13:42

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

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