久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区

您的位置:網(wǎng)站首頁(yè) > CAD新聞

[CAD/VBA]計(jì)算選定區(qū)域面積

時(shí)間:2009-11-15 02:18:35 來(lái)源:
   首先得聲明一下:這段代碼基本上是"借"來(lái)的。只是做了些修改。這段代碼的作用是計(jì)算選定區(qū)域的面積,運(yùn)行效果如下面的圖,用了比較多的SendCommand,不太可取,不過(guò)也無(wú)大礙,管用就行。另外,有多次對(duì)Auto-CAD環(huán)境變量的操作,GetVariable/SetVariable,至于各環(huán)境變量有什么用,可以查看CAD幫助文檔。
         修正Bug:重設(shè)ObjectSnapMode之后,原來(lái)的捕捉設(shè)置會(huì)丟失,必須得修改OSMODE環(huán)境變量的值才行。

[程序代碼]   

Public Sub XArea() '選擇一點(diǎn),計(jì)算圍繞該點(diǎn)的對(duì)象圍成的面積
On Error GoTo ErrorHandler
Dim pt As Variant
Dim spt As String
Dim i As Integer
Dim zarea As Double
zarea = 0
    
'得到當(dāng)前的對(duì)象總數(shù)
Dim oCount As Long
oCount = ThisDrawing.ModelSpace.count
  
'得到當(dāng)前邊界創(chuàng)建的對(duì)象類(lèi)型(0 為面域,1 為多段線(xiàn))
Dim oOL As Integer
oOL = ThisDrawing.GetVariable("HPBOUND")
    
'得到當(dāng)前層的名字
Dim currentLayer As String
currentLayer = ThisDrawing.ActiveLayer.Name
  
'得到當(dāng)前線(xiàn)體的顏色
Dim oColor As String
oColor = ThisDrawing.GetVariable("CECOLOR")
         '--By :忽又一天 Email:wzw.icy@gmail.com QQ:365052003
'新建一層并把它設(shè)為當(dāng)前層、還原用戶(hù)配置
Dim areaLayer As AcadLayer
Set areaLayer = ThisDrawing.Layers.Add("macula_Area_")
areaLayer.color = 11
ThisDrawing.ActiveLayer = areaLayer
  
'關(guān)閉對(duì)象捕捉
Dim CurSnapMode
CurSnapMode = ThisDrawing.GetVariable("OSMODE")
ThisDrawing.ObjectSnapMode = False
  
'設(shè)置新的線(xiàn)體顏色(這一段可以省去提示用戶(hù)輸入,沒(méi)太大意義,不過(guò)類(lèi)似的寫(xiě)法還是有意義的)
Dim cr As String
cr = ThisDrawing.Utility.GetString(0, vbCrLf & " 選擇顏色[隨層(L)/隨塊(K)/自定義(S)]<隨層>:")
If cr = "k" Or cr = "K" Then
    ThisDrawing.SetVariable "CECOLOR", "0"
ElseIf cr = "s" Or cr = "S" Then
    ThisDrawing.SendCommand "COLOR "
Else
    ThisDrawing.SetVariable "CECOLOR", "256"
End If
  
Dim oName As String
Dim oLayer As String
Dim oNum As Long
  
'計(jì)算單個(gè)區(qū)域的面積并求和
Do While 1
   pt = ThisDrawing.Utility.GetPoint(, vbCrLf & "請(qǐng)選取區(qū)域內(nèi)部任意一點(diǎn):")
   spt = pt(0) & "," & pt(1)
  
   With ThisDrawing
     '得到新的對(duì)象總數(shù),用于分析是否建立了面域或多段線(xiàn)
     oNum = ModelSpace.count
    
     '設(shè)置當(dāng)前邊界創(chuàng)建的對(duì)象為面域
     ThisDrawing.SetVariable "HPBOUND", 0
    
     '建立一個(gè)面域
     SendCommand Chr(3) & Chr(3) & "-boundary " & spt & " " & " "
    
     '如果建立面域不成功則建立多段線(xiàn)
     If oNum = ModelSpace.count Then
       ThisDrawing.SetVariable "HPBOUND", 1
       SendCommand Chr(3) & Chr(3) & "-boundary " & spt & " " & " "
     End If
    
     '得到最后一個(gè)對(duì)象的名字
     oName = ModelSpace.Item(ModelSpace.count - 1).ObjectName
    
     '獲取把對(duì)最后一個(gè)對(duì)象所在的層,用于分析最后一個(gè)對(duì)象是否是需要的面域或多段線(xiàn)
     oLayer = ModelSpace.Item(ModelSpace.count - 1).Layer
    
     '由三方面判斷對(duì)象是否建立,如果建立則計(jì)算其面積
     If (oNum < ModelSpace.count) And ((oName = "AcDbRegion") Or (oName = "AcDbPolyline")) And (oLayer = "macula_Area_") Then
       SendCommand "draworder last f "
       SendCommand "area "
       SendCommand "o "
       SendCommand "last "
       zarea = Round(zarea + GetVariable("AREA"), 4)
     End If
   End With
     ThisDrawing.Utility.Prompt vbCrLf & "選定區(qū)域的總面積為: " & zarea & vbCrLf
Loop
 ErrorHandler:
'復(fù)制結(jié)果到剪切板
Set mydataobject = New DataObject
mydataobject.SetText zarea
mydataobject.PutInClipboard
MsgBox "選定區(qū)域的總面積為: " & zarea & "   (mm^2)" & Chr(13) & Chr(13) & "計(jì)算結(jié)果已經(jīng)復(fù)制到剪切板!      ", vbOKOnly, "面積計(jì)算"

'刪除計(jì)算面積產(chǎn)生的對(duì)象和圖層、還原對(duì)象捕捉設(shè)置
Do While oCount < ThisDrawing.ModelSpace.count
    ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.count - 1).Delete
Loop
ThisDrawing.ActiveLayer = ThisDrawing.Layers.Item(currentLayer)
ThisDrawing.Layers.Item("macula_Area_").Delete
ThisDrawing.SetVariable "CECOLOR", oColor
ThisDrawing.SetVariable "HPBOUND", oOL
ThisDrawing.ObjectSnapMode = True
ThisDrawing.SetVariable "OSMODE", CurSnapMode
SendCommand Chr(3) & Chr(3)
End Sub

 


久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区
久久精品女人的天堂av| 色av吧综合网| 亚洲激情一区二区| 一区二区在线不卡| 久久国产精品久久久| 国产精品成人观看视频免费| 久久精品成人动漫| 久久精品99国产精品酒店日本| 久久精品国产精品亚洲色婷婷| 91精品视频播放| 91久久大香伊蕉在人线| 91精品国产777在线观看| 97精品国产97久久久久久春色| 国产精品专区第二| 高清在线观看免费| av在线免费观看国产| 国产日韩中文在线| 国产美女久久久| 97欧洲一区二区精品免费| 97精品国产91久久久久久| 高清一区二区三区视频| 成人精品一区二区三区 | 中文字幕一区二区三区精彩视频| 一区二区三区久久网| 亚洲精品一区二区三区樱花| 性欧美在线看片a免费观看| 日本一区二区高清视频| 欧美做受高潮1| 国语精品中文字幕| 国产精品一区二区三区成人| 国产精选在线观看91| 2019日韩中文字幕mv| 九九九久久久| 国产精品偷伦一区二区| 国产精品久久久久久久久久新婚| 国产精品九九九| 亚洲一区二区三区四区在线播放| 视频一区二区在线观看| 国内精品久久久久伊人av| 99一区二区三区| 日韩视频一区在线| 九色精品美女在线| 无码免费一区二区三区免费播放| 日本在线高清视频一区| 激情小说综合区| 国产精品主播视频| 久久av二区| 精品国产一区二区三区在线| 无码人妻丰满熟妇区96| 欧美日韩高清免费| 国产精品夫妻激情| 色综合电影网| 国产午夜福利100集发布| 国产suv精品一区二区| 精品国产综合| 欧美精品色婷婷五月综合| 成人中文字幕在线观看| www.日韩系列| 亚洲国产精品日韩| 黄色一级在线视频| 91精品国产自产在线| 国产精品美女久久| 亚洲精品免费在线看| 青青在线免费视频| 91久久国产精品91久久性色| 精品国产乱码久久久久软件| 亚洲欧洲日夜超级视频| 欧美日韩亚洲第一| 久久这里只有精品18| 欧美人交a欧美精品| 国内一区二区在线视频观看| 日韩在线视频观看| 亚洲 国产 欧美一区| 国产乱人伦精品一区二区三区 | 狠狠色噜噜狠狠色综合久| 国产成人福利网站| 午夜精品亚洲一区二区三区嫩草| 国产日本欧美在线| 操91在线视频| 国模吧一区二区三区| 国产精品美女主播| 欧美专区第一页| 色偷偷偷亚洲综合网另类 | 亚洲欧洲在线一区| 成人国产精品日本在线| 欧美激情网站在线观看| 国产日韩精品视频| 久久精视频免费在线久久完整在线看| 日本一区二区三区免费观看| 91av视频在线免费观看| 亚洲精品一区二| www.av毛片| 亚洲7777| 久久久久成人精品免费播放动漫| 亚洲精品欧美日韩| 久久久在线视频| 日本精品一区二区三区在线 | 国产成人97精品免费看片| 天天干天天色天天爽| 97碰在线观看| 亚洲午夜久久久影院伊人| av无码精品一区二区三区| 一本—道久久a久久精品蜜桃| 操人视频欧美| 婷婷五月色综合| 国产福利久久精品| 欧美专区一二三| 国产精品色午夜在线观看| 精品日本一区二区三区在线观看 | 亚洲精品成人自拍| 久久一区免费| 欧美日韩精品综合| 国产精品麻豆va在线播放| 狠狠干一区二区| 精品国产一区二区三区日日嗨| 国产精品中文字幕在线观看| 都市激情久久久久久久久久久| 国产成人短视频| 黄色一级片在线看| 一区二区三区视频| 久久久免费精品| 日本a级片电影一区二区| 日韩有码片在线观看| 麻豆av免费在线| 欧美激情一区二区三区在线视频观看| 91久久中文字幕| 欧美日韩高清在线一区| 不卡av日日日| 91精品国产成人| 欧美久久在线| 亚洲日本欧美在线| 久久久精品网站| 99在线首页视频| 欧美日韩国产综合在线| 中文字幕成人一区| 色婷婷av一区二区三区久久| 国产一区红桃视频| 日日骚一区二区网站| 国产精品视频导航| 91九色视频在线| 国内精品国产三级国产99| 亚洲精品国产精品国自产观看| 久久国产一区二区三区| 国产免费裸体视频| 欧洲精品国产| 亚洲熟妇无码一区二区三区| 久久深夜福利免费观看| 91精品国产综合久久香蕉| 欧美综合在线观看| 亚洲日本理论电影| 国产精品久久一区主播| 国产二区不卡| 国产精品一区二区不卡视频| 热re99久久精品国产66热| 中文字幕综合在线观看| 国产精品私拍pans大尺度在线 | 国产精品av网站| 国产这里只有精品| 欧洲亚洲在线视频| 亚洲精品一区国产精品| 欧美乱妇40p| 中文字幕在线中文| 国产精品第七十二页| 久久久久久久久久久久久9999| 97久草视频| 成年丰满熟妇午夜免费视频| 狠狠干 狠狠操| 精品欧美日韩| 青青草国产精品| 日韩国产精品一区二区| 性高潮久久久久久久久| 综合一区中文字幕| 国产aⅴ夜夜欢一区二区三区| 国产精品久久久久秋霞鲁丝| 国产精品爽黄69| 国产成人精品在线视频| 国产成人aa精品一区在线播放| 国产精成人品localhost| 91久热免费在线视频| 99久久久久国产精品免费| 国产精品一二区| 福利视频一二区| 成人国产一区二区三区| 福利视频一区二区三区四区| 国产伦理久久久| 国产亚洲欧美另类一区二区三区| 免费在线观看亚洲视频| 激情五月综合色婷婷一区二区| 欧美怡春院一区二区三区 | 国产综合免费视频| 国产资源在线免费观看| 麻豆精品视频| 国产三级中文字幕| 国产精品自拍片| 91精品久久久久久久久久久久久| 99热亚洲精品| 国产高清一区二区三区| 久久精品久久精品国产大片| 久久久久久欧美| 久久久国产视频91|