精品人妻无码一区二区三区软件 ,麻豆亚洲AV成人无码久久精品,成人欧美一区二区三区视频,免费av毛片不卡无码

月期刊咨詢網(wǎng),是一個(gè)專業(yè)致力于期刊征稿、職稱論文發(fā)表、文獻(xiàn)參考,職稱,核心期刊,論文檢測(cè),醫(yī)學(xué),教育,科技論文發(fā)表等服務(wù)的綜合性論文發(fā)表權(quán)威網(wǎng)站。

 電力工程師職稱  浙江大學(xué)學(xué)報(bào)  水利施工  茶葉  江蘇行政學(xué)院學(xué)報(bào)  甘肅行政學(xué)院學(xué)報(bào)

400-680-0558
月期刊咨詢網(wǎng)10年專注論文代發(fā)服務(wù),200000作者放心選擇,誠信品牌、值得信賴!

信息技術(shù)論文發(fā)表范文鉆孔符號(hào)的繪制

發(fā)布時(shí)間:2015-07-09 16:52所屬分類:計(jì)算機(jī)信息管理論文瀏覽:1加入收藏 查看PDF文件后下載PDF文件

現(xiàn)在計(jì)算機(jī)上的繪圖軟件有很多,根據(jù)行業(yè)和不同的工作需要都有相應(yīng)的軟件來滿足用戶的需求。本文著重介紹的是鉆孔符號(hào)的繪制,應(yīng)該用哪些軟件,用到哪些技術(shù)等。文章是一篇 信息技術(shù)論文發(fā)表 范文。 摘要:介紹利用VB直接在AUTOCAD上展繪鉆孔符號(hào),并附上設(shè)計(jì)

  現(xiàn)在計(jì)算機(jī)上的繪圖軟件有很多,根據(jù)行業(yè)和不同的工作需要都有相應(yīng)的軟件來滿足用戶的需求。本文著重介紹的是鉆孔符號(hào)的繪制,應(yīng)該用哪些軟件,用到哪些技術(shù)等。文章是一篇信息技術(shù)論文發(fā)表范文。
  摘要:介紹利用VB直接在AUTOCAD上展繪鉆孔符號(hào),并附上設(shè)計(jì)程序。

  關(guān)鍵詞:AutoCAD; VB

  一、 前言

  目前,市場(chǎng)上流行的圖形矢量化軟件有很多,如CASS7.0等,這些軟件大都是針對(duì)各類比例尺的地形圖進(jìn)行矢量化,帶有各類地形圖符號(hào),對(duì)于大部分地形圖矢量化可以滿足要求,但對(duì)一些特殊要求的地形圖矢量化卻不適應(yīng),尤其是對(duì)其符號(hào)庫需要另外進(jìn)行擴(kuò)充。由于各種專業(yè)的設(shè)計(jì)需要通常要把勘察任務(wù)中地質(zhì)所布置的勘察孔位繪制在地形圖上,并附上孔號(hào)及高程。而在我們常用的繪圖軟件CASS7.0 中所要提供的繪制鉆孔符號(hào)功能中并不附帶孔號(hào)及高程,需要手工完成。這大大增加了繪圖人員的工作負(fù)擔(dān)。

  二、 鉆孔坐標(biāo)展繪

  AutoCAD得以在世界范圍內(nèi)流行的重要因素之一,是它的開放性,它將二次開發(fā)權(quán)交給了用戶,并提供了許多開發(fā)工具。而VB是由微軟公司推出的基于 Windows的可視化編程語言,它采用面向?qū)ο蟆⑹录?qū)動(dòng)的程序設(shè)計(jì)方法,操作簡便,因此倍受程序設(shè)計(jì)人員的青睞。下面就以如何展繪鉆孔符號(hào)為例,介紹如何在 VB 6. 0環(huán)境下利用對(duì)ATUOCAD進(jìn)行二次開發(fā)。

  1、初始化。即要在VB中引用AutoCAD的類型庫Acad.tlb,并建立VB與AutoCAD間的聯(lián)系。相應(yīng)的程序代碼如下:

  Dim obj_Acad As Object, obj_Doc As Object, obj_ModelSpace As Object 'Application對(duì)象、Document對(duì)象、ModelSpace對(duì)象

  Dim boo As Boolean

  On Error Resume Next

  Set obj_Acad = GetObject(, "autocad.application") '若AutoCAD已啟動(dòng),則直接得到Application對(duì)象,建議先打開CAD程序

  If Err Then

  Err.Clear

  On Error Resume Next

  Set obj_Acad = CreateObject("autocad.application") '若AutoCAD未啟動(dòng),則運(yùn)行AutoCAD程序

  If Err Then

  Err.Clear

  MsgBox "不能運(yùn)行AutoCAD,請(qǐng)檢查是否安裝!", vbOKOnly, "警告!"

  Exit Sub

  End If

  End If

  obj_Acad.Visible = True '設(shè)置AutoCAD為可見(或者在后臺(tái)運(yùn)行,不可見)

  obj_Acad.Documents.Open (filename) '打開AutoCAD圖形文件

  Set obj_Doc = obj_Acad.ActiveDocument '獲得當(dāng)前活動(dòng)圖形文件,即剛打開的圖形文件

  Set obj_ModelSpace = obj_Doc.ModelSpace '獲得當(dāng)前活動(dòng)圖形文件的模型空間

  boo = True

  之后,即可以用AutoCAD類型庫提供的屬性、方法對(duì)AutoCAD進(jìn)行操作,如畫線,可用

  obj_ModelSpace.AddLine(startPoint, endpoint)語句來完成,寫文字,可用obj_ModelSpace.AddText(Format(gc(i), "0.0"), InsertionPoint, 2)語句來實(shí)現(xiàn)。

  2、數(shù)據(jù)格式及比例尺選擇。為方便使用,鉆孔數(shù)據(jù)文件的格式與CASS展控制點(diǎn)數(shù)據(jù)格式相同,比例尺即與所成地形圖比例尺相同,不同比例尺符號(hào)大小不同。格式及相關(guān)代碼如下:點(diǎn)名,代碼,東坐標(biāo),北坐標(biāo),高程

  (圖1鉆孔數(shù)據(jù)格式) (圖2選擇數(shù)據(jù)格式界面)

  With CommonDialog2

  .DialogTitle = "選擇展點(diǎn)文件(點(diǎn)名,代碼,東坐標(biāo),北坐標(biāo),高程)"

  .Filter = "CASS展點(diǎn)文件(*.DAT)|*.DAT" '鉆孔數(shù)據(jù)文件的格式為方便使用此格式與CASS展控制點(diǎn)數(shù)據(jù)格式相同

  .ShowOpen

  If .filename = "" Then

  MsgBox "未選擇展點(diǎn)文件!", vbOKOnly, "警告!"

  Exit Sub

  End If

  If Dir(.filename) = "" Then

  MsgBox "未找到展點(diǎn)文件!", vbOKOnly, "警告!"

  Exit Sub

  End If

  blnLyr = False

  '輸入比例尺

  Dim blc As String

  blc = InputBox("請(qǐng)輸入比例尺500:1000:2000", "比例尺", "500")

  (圖3輸入比例尺)

  3、數(shù)據(jù)文件的讀取及鉆孔展繪。為便于查找所繪鉆孔,新建圖層”ZK”,并根據(jù)前面輸入的比例尺先繪制好鉆孔符號(hào)做成塊,在從文件中順序讀取點(diǎn)號(hào)及高程并一起展繪出來。相關(guān)代碼如下:

  For i = 0 To obj_Doc.Layers.Count - 1 '遍歷所有的圖層

  If obj_Doc.Layers.Item(i).Name = "zk" Then

  Set obj_layer = obj_Doc.Layers.Item("zk")

  panduan = True

  Exit For '如果"newblock"已經(jīng)存在,直接獲得,并跳出循環(huán)

  End If

  Next i

  If Not panduan Then '如果圖層不存在,建立圖層

  Set obj_layer = obj_Doc.Layers.Add("zk")

  End If

  '如果要設(shè)置該圖層為當(dāng)前圖層,請(qǐng)?zhí)砑酉旅娴拇a

  obj_Doc.ActiveLayer = obj_layer '設(shè)置當(dāng)前圖層

  obj_layer.Color = 1 '1 紅色;2 黃色;3 綠色;4 青色;5 藍(lán)色;6 紫色;7 白色(黑)

  obj_Acad.ZoomExtents

  '定義塊

  Dim blockObj As Object

  Dim insertionPnt(0 To 2) As Double

  insertionPnt(0) = 0

  insertionPnt(1) = 0

  insertionPnt(2) = 0

  Set blockObj = obj_Doc.Blocks.Add(insertionPnt, "zk")

  ' 向塊中添加鉆孔符號(hào)

  Dim obj_circle1, obj_circle2, obj_circle3 As Object '定義圓對(duì)象

  Dim center1(0 To 2) As Double, center2(0 To 2) As Double

  Dim center3(0 To 2) As Double, point() As Double

  Dim Radius As Double

  Dim obj_hatch As Object '定義填充對(duì)象

  Dim PatternType As Integer '圖案類型:1 預(yù)定義,0 用戶定義,2,自定義

  Dim PatternName As String '填充圖案

  Dim AssociativeHatch As Boolean 'true,填充圖案是關(guān)聯(lián)的,false,不關(guān)聯(lián)

  Dim outerloop(0 To 0) As Object, innerloop(0 To 0) As Object '定義填充圖案的外邊界和內(nèi)邊界

  Dim aloop As Variant

  center3(0) = 0#: center3(1) = 0#: center3(2) = 0#

  Set obj_circle2 = blockObj.AddCircle(center3, 0.25)

  Set obj_circle3 = blockObj.AddCircle(center3, 0.001)

  ' 定義圖案填充

  PatternType = 1 '系統(tǒng)默認(rèn)是預(yù)定義

  PatternName = "solid"

  AssociativeHatch = True '設(shè)置填充圖案是關(guān)聯(lián)的

  Set outerloop(0) = obj_circle2

  Set innerloop(0) = obj_circle3

  center1(0) = 0#: center1(1) = 0#: center1(2) = 0#

  Radius = 0.75

  Set obj_circle1 = blockObj.AddCircle(center1, Radius)

  '創(chuàng)建Hatch 對(duì)象

  Set obj_hatch = blockObj.AddHatch(PatternType, PatternName, AssociativeHatch, 0) '0,圖案填充;1,漸變色填充

  obj_hatch.AppendOuterLoop outerloop '添加外邊界,必須先創(chuàng)建Hatch 對(duì)象,才能定義邊界

  obj_hatch.AppendInnerLoop innerloop '添加內(nèi)邊界,必須先創(chuàng)建Hatch 對(duì)象,才能定義邊界

  obj_hatch.PatternScale = 0.2 '圖案縮小后填充NumberOfLoops

  obj_hatch.Evaluate '進(jìn)行計(jì)算,生成填充圖案

  For i = 0 To obj_hatch.NumberOfLoops - 1 '遍歷圖案填充區(qū)域的邊界,每條邊界可能由數(shù)個(gè)對(duì)象組成

  obj_hatch.GetLoopAt i, aloop

  Next i

  Dim obj_line As Object '定義直線對(duì)象

  Dim point1(0 To 2) As Double, point2(0 To 2) As Double, point3(0 To 2) As Double

  point1(0) = 1.25: point1(1) = 0#: point1(2) = 0#

  point2(0) = 7.25: point2(1) = 0#: point2(2) = 0#

  Set obj_line = blockObj.AddLine(point1, point2)

  ' 打開文件并讀取

  fileno = FreeFile

  Open .filename For Input As fileno

  Do While Not EOF(fileno)

  Line Input #fileno, strline

  If strDivide(strline, ",").Count = 5 Then

  intCnt = intCnt + 1

  dblPnt(0) = CDbl(strDivide(strline, ",").Data(2))

  dblPnt(1) = CDbl(strDivide(strline, ",").Data(3))

  dblPnt(2) = CDbl(strDivide(strline, ",").Data(4))

  If blc = 500 Then

  Xscale = 1: Yscale = 1: Zscale = 1

  dblTxt(0) = dblPnt(0) + 4.25: dblTxt(1) = dblPnt(1) + 0.5: dblTxt(2) = dblPnt(2): height = 1.2

  ElseIf blc = 1000 Then

  Xscale = 2: Yscale = 2: Zscale = 2

  dblTxt(0) = dblPnt(0) + 4.25 * 2: dblTxt(1) = dblPnt(1) + 0.5 * 2: dblTxt(2) = dblPnt(2): height = 1.2 * 2

  ElseIf blc = 2000 Then

  Xscale = 4: Yscale = 4: Zscale = 4

  dblTxt(0) = dblPnt(0) + 4.25 * 4: dblTxt(1) = dblPnt(1) + 0.5 * 4: dblTxt(2) = dblPnt(2): height = 1.2 * 4

  Else

  MsgBox "沒有設(shè)置此比例尺", vbOKOnly, "比例尺?"

  End

  End If

  Set objTxt = obj_ModelSpace.AddText(strDivide(strline, ",").Data(0), dblTxt, height)

  objTxt.Alignment = acAlignmentCenter

  objTxt.TextAlignmentPoint = dblTxt

  objTxt.Update

  Select Case blc

  Case 500

  dblTxt(1) = dblPnt(1) - 1.7

  Case 1000

  dblTxt(1) = dblPnt(1) - 1.7 * 2

  Case 2000

  dblTxt(1) = dblPnt(1) - 1.7 * 4

  End Select

  '插入塊

  Dim blockRefObj As Object

  Set blockRefObj = obj_Doc.ModelSpace.InsertBlock(dblPnt, "zk", Xscale, Yscale, Zscale, 0)

  '插入高程

  Set objTxt = obj_Doc.ModelSpace.AddText(strDivide(strline, ",").Data(4), dblTxt, height)

  objTxt.Alignment = acAlignmentCenter

  objTxt.TextAlignmentPoint = dblTxt

  Else

  MsgBox "請(qǐng)檢查數(shù)據(jù)格式", vbOKOnly, "CASS格式?"

  End

  End If

  Loop

  Close fileno

  End With

  obj_Doc.Regen acActiveViewport

  obj_Acad.ZoomAll

  obj_Doc.Utility.Prompt vbCr & "展點(diǎn)完畢,共展點(diǎn)" & intCnt & "個(gè)。"

  MsgBox "已完成!", vbOKOnly, ""

  End Sub

  (圖4展繪結(jié)果)

  三、 結(jié)束語

  本文以展繪鉆孔符號(hào)為例探討了VB與AutoCAD的連接、展點(diǎn)的數(shù)據(jù)格式,以實(shí)現(xiàn)快速展繪鉆孔。采用VB開發(fā)測(cè)繪系統(tǒng)的應(yīng)用軟件,只要處理好各設(shè)備之間的I/O接口操作、動(dòng)態(tài)連接庫的建立和調(diào)用及VB與數(shù)據(jù)庫的接口、數(shù)據(jù)庫的建立、數(shù)據(jù)格式之間的轉(zhuǎn)換,就能在短時(shí)間內(nèi)開發(fā)出界面友好的、功能易擴(kuò)展的、面向?qū)ο蟮膶?shí)時(shí)測(cè)控軟件,滿足測(cè)繪生產(chǎn)的需要。

  [參考文獻(xiàn)]

  [1] 段興.《Visual Basic6.0控件實(shí)用程序設(shè)計(jì)100例》.人民郵電出版社,2002.10

  [2] 申石磊,季超 .《Visual Basic程序設(shè)計(jì)基礎(chǔ)》. 高等教育出版社,2010.03

  作者:張博(1982-)男,本科,遼寧西豐人,工程師,滿族,研究方向:電力測(cè)繪查勘工作 。
  信息技術(shù)論文發(fā)表期刊推薦《信息技術(shù)與信息化》從信息技術(shù)的研究、應(yīng)用角度展現(xiàn)IT行業(yè)與科技發(fā)展與進(jìn)步,是全國高校、科研院所、企業(yè)發(fā)表信息科學(xué)研究、技術(shù)應(yīng)用成果的園地。雜志內(nèi)容以科技論文為主,并設(shè)有評(píng)論與綜述、信息化論壇、網(wǎng)絡(luò)通訊、信息處理與模式識(shí)別、研究與探索、方案與應(yīng)用等欄目。

上一篇:科技資訊征稿養(yǎng)老機(jī)構(gòu)物資管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
下一篇:信息技術(shù)論文發(fā)表檔案數(shù)字資源云備份策略的分析