明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1015|回复: 1

cad.net可以让某个要素居中显示 谁实现过?

[复制链接]
发表于 2012-12-24 17:21:24 | 显示全部楼层 |阅读模式
cad.net可以让某个要素居中显示,控制显示比例。  谁实现过?给段代码
发表于 2012-12-25 11:36:23 | 显示全部楼层
  1. ''' <summary>
  2.     ''' 按对象进行缩放
  3.     ''' </summary>
  4.     ''' <param name="ID"></param>
  5.     ''' <param name="ZoomScale">此数为正数,表示放大倍率(如果此数小于等于 0 则自动调整为1)</param>
  6.     ''' <remarks></remarks>
  7.     Public Sub ZoomO(ByVal ID As ObjectId, Optional ByVal ZoomScale As Double = 1.0)
  8.         Dim MinPt As Point3d = Nothing, MaxPt As Point3d = Nothing
  9.         Using Trans As Transaction = DB.TransactionManager.StartTransaction
  10.             Dim obj As DBObject = ID.GetObject(OpenMode.ForRead)
  11.             If TypeOf obj Is Entity = False Then
  12.                 Trans.Commit()
  13.                 Exit Sub
  14.             End If
  15.             Dim Ent As Entity = obj
  16.             MinPt = Ent.GeometricExtents.MinPoint : MaxPt = Ent.GeometricExtents.MaxPoint
  17.             Trans.Commit()
  18.         End Using

  19.         Dim Ed As Editor = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor

  20.         Dim VTabRec As New ViewTableRecord

  21.         VTabRec.CenterPoint = New Point2d((MaxPt.X + MinPt.X) / 2.0, (MaxPt.Y + MinPt.Y) / 2.0)
  22.         If ZoomScale <= 0 Then
  23.             ZoomScale = 1.0
  24.         End If
  25.         VTabRec.Height = (MaxPt.Y - MinPt.Y) / ZoomScale
  26.         Ed.SetCurrentView(VTabRec)
  27.         Ed.UpdateScreen()
  28.     End Sub


此方法将对象居中于当前视图(同时可以设置放大倍率)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 16:46 , Processed in 0.142920 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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