EaBIM
标题: [实体对象] 镜像对象 [打印本页]
作者: 萧闫子 时间: 2014-1-8 16:47
标题: [实体对象] 镜像对象
本例创建一个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”后选中对象,可以看到对象按照我们规定的镜像线翻转了。
作者: AK47 时间: 2014-2-13 09:59
不断的学习的过程 希望一起加油啊
作者: 鹦鹉仔 时间: 2014-2-18 12:08
顶......
楼下跟上.....
作者: 波罗友 时间: 2014-3-10 13:21
顶!!!!!!!!!!
作者: NetBeetle 时间: 2014-3-11 11:06
楼主辛苦……
作者: 黑超BB 时间: 2014-3-11 11:11
顶!!!!!!!!!!!!
作者: chen_0003 时间: 2014-3-11 11:15
谢谢BIM大神…
作者: 孙雅 时间: 2014-3-14 11:19
顶......
楼下跟上.....
作者: 教父 时间: 2014-3-14 11:24
顶!!!!!!!!!!
作者: 嫣雨遥 时间: 2014-3-14 11:28
顶!!!!!!!!!!!!!!!!!!!!!!!!!
作者: AK47 时间: 2014-3-14 11:35
顶......
楼下跟上.....
作者: 蓝天POLO 时间: 2014-5-7 10:01
(*^__^*) 嘻嘻……
作者: dison 时间: 2014-5-13 10:20
顶起来…………
作者: 飞天舞 时间: 2014-5-13 10:25
顶!!!!!!!!!!!!!!!!!!!!!!!!!
作者: best 时间: 2014-5-13 10:27
路过!!!
不发表意见……
作者: 长风 时间: 2014-5-22 15:21
顶!!!!!!!!!!!!!!!!!!!!!!!!!
作者: 拉登 时间: 2014-5-22 15:37
顶!!!!!!!!!!
作者: 长风 时间: 2014-5-22 15:47
(*^__^*) 嘻嘻……
作者: 江枫 时间: 2014-5-23 11:15
(*^__^*) 嘻嘻……
作者: 中华! 时间: 2014-6-9 15:46
顶起来…………
作者: 大奔KY 时间: 2014-6-9 15:51
路过!!!
帮顶……
作者: 静儿 时间: 2014-6-11 18:13
顶起来…………
作者: 沧海冷月 时间: 2014-6-11 18:15
(*^__^*) 嘻嘻……
作者: leowave 时间: 2014-6-13 14:13
(*^__^*) 嘻嘻……
作者: 冰山 时间: 2014-6-13 14:19
顶......
楼下跟上.....
作者: 猫猫girl 时间: 2014-6-13 14:30
(*^__^*) 嘻嘻……
作者: 乖乖仔 时间: 2014-6-13 14:32
顶!!!!!!!!!!
欢迎光临 EaBIM (https://eabim.net/) |
Powered by Discuz! X3.2 |