明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3000|回复: 1

[请教]如何通过图形句柄选择并缩放到图形呀

[复制链接]
发表于 2007-3-19 12:02:00 | 显示全部楼层 |阅读模式

用vba很简单

Public Sub FindHandle()
    Dim ent As AcadEntity
    Dim returnObj As AcadObject
    Dim returnStr As String
    Dim MinP As Variant, MaxP As Variant
    On Error GoTo lblerr
    returnStr = ThisDrawing.Utility.GetString(False, "输入实体句柄:")
    Set returnObj = ThisDrawing.HandleToObject(returnStr)
    Set ent = returnObj
    ent.Highlight True
    ent.GetBoundingBox MinP, MaxP
    ZoomWindow MinP, MaxP
lblerr:
End Sub

但是现在需要用c#,我找不到合适的函数,现在只做到了选择元素(自己觉得效率很低),但是不知道怎么平移缩放到该元素:

Database db = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database;
   Transaction trans = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database.TransactionManager.StartTransaction();

   try
   {
    long l = long.Parse(textBox_Element_Handle.Text, System.Globalization.NumberStyles.HexNumber);
    
    romptSelectionResult prSelectionRes = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor.SelectAll();
    if (prSelectionRes.Status != PromptStatus.OK)
     throw new System.Exception("未找到图形元素!");
    
    ObjectId[] ois = prSelectionRes.Value.GetObjectIds();
    foreach (ObjectId objId in ois)
    {
     Entity en = (Entity)trans.GetObject(objId, OpenMode.ForRead);
     if(en.Handle.Value == l)
     {
      /*平移缩放到该元素*/

      /*知道的帮忙啊*/

      
      en.Highlight(new FullSubentityPath(new ObjectId[]{en.ObjectId}, new SubentityId(SubentityType.Null,0)),true);
      return;
     }
    }

    MessageBox.Show(@"未找到该句柄对应的图形元素!");
   }

   catch (System.Exception Ex)
   {
    MessageBox.Show(Ex.Message, @"错误");
   }

   finally
   {
    trans.Dispose();
   }

请问有谁可以帮助我呢,或者有更简单的办法:)

发表于 2009-3-23 10:49:00 | 显示全部楼层
受教了!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 15:24 , Processed in 0.155767 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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