我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > CAD教程 > CAD教程文章

在CAD中獲取當前顯示范圍的左下角和右上角坐標

時間:2011-09-23 09:14:14 來源:未知

在CAD中獲取當前顯示范圍的左下角和右上角坐標

背景:我想在CAD中插入ArcServer發布的服務,那么首先要在CAD下獲取一個范圍,以當前顯示范圍為例,代碼如下:

'————————————————————————————————
'名稱:GetActiveRange
'作者:羅簡單
'日期:2010-8-3
'功能:獲取當前顯示范圍
'————————————————————————————————
Public Sub GetActiveRange(varWS As Variant, varEN As Variant)
  '思路:1、先獲取當前顯示范圍的中心點、高度、和當前范圍像素X、Y;
      2、根據高度、像素X、Y求出寬度
      3、根據中心點、高度、寬度求出范圍
  '系統變量的意義:
  'VIEWCTR:獲取當前顯示范圍中心點坐標
  'VIEWSIZE:獲取當前顯示范圍高度
  'SCREENSIZE:獲取當前顯示范圍的大?。╔和Y,以像素為單位存儲)
 
  Dim varCenter As Variant  '中心點
  Dim dblHeight As Double  '高度
  Dim dblWidth As Double  '寬度
  Dim varRange As Variant  '像素范圍
  varCenter = ThisDrawing.GetVariable("VIEWCTR")  '獲取中心點坐標
  dblHeight = ThisDrawing.GetVariable("VIEWSIZE")  '獲取高度
  varRange = ThisDrawing.GetVariable("SCREENSIZE") '獲取像素單位X和Y
  dblWidth = dblHeight * varRange(0) / varRange(1) '計算出寬度
 
  Dim dblWS(2) As Double  '西南角坐標
  Dim dblEN(2) As Double  '東北角坐標
  dblWS(0) = varCenter(0) - dblWidth / 2
  dblWS(1) = varCenter(1) - dblHeight / 2
  dblEN(0) = varCenter(0) + dblWidth / 2
  dblEN(1) = varCenter(1) + dblHeight / 2
  varWS = dblWS
  varEN = dblEN
End Sub