本帖最后由 作者 于 2010-7-24 16:44:47 编辑
我的CAD里有一个图块,请问我要如何跟据这个图块的名称来移动和旋转这个图块呢? 图块的坐标和旋转角度在软件里设定。有相关代码的朋友麻烦贴出来一下。谢谢了。类似我们更改下图中红色方框里的值一样。
lzh741206前辈的代码是可以实现旋转。但有个问题,就是这个块可不可以不用我手动选择。通过块名称来得到这个块
- [CommandMethod("tt5")]
- public static void test25()
- {
- Document doc = Application.DocumentManager.MdiActiveDocument;
- Editor ed = doc.Editor;
- PromptEntityOptions opts = new PromptEntityOptions("\n请选择一个块:");
- opts.SetRejectMessage("只能选择块参照");
- opts.AddAllowedClass(typeof(BlockReference), false);
- PromptEntityResult res = ed.GetEntity(opts);
- if (res.Status != PromptStatus.OK)
- return;
- Database db = doc.Database;
- using (Transaction tr = db.TransactionManager.StartTransaction())
- {
- BlockReference bref = tr.GetObject(res.ObjectId, OpenMode.ForWrite) as BlockReference;
- bref.Position += new Vector3d(10, 10, 0);
- bref.Rotation += 60 * Math.PI / 180;
- tr.Commit();
- }
- }
|