乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 28|回复: 1

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

[复制链接]
LDJ

20

主题

35

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
115
发表于 2012-12-24 17:21:00 | 显示全部楼层 |阅读模式
cad.net可以让某个要素居中显示,控制显示比例。  谁实现过?给段代码
回复

使用道具 举报

75

主题

306

帖子

10

银币

中流砥柱

Rank: 25

铜币
606
发表于 2012-12-25 11:36:00 | 显示全部楼层
  1. '''
  2.     ''' 按对象进行缩放
  3.     '''
  4.     '''
  5.     ''' 此数为正数,表示放大倍率(如果此数小于等于 0 则自动调整为1)
  6.     '''
  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

此方法将对象居中于当前视图(同时可以设置放大倍率)
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-14 21:14 , Processed in 0.515166 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表