用ActiveX Automation技術(shù)開發(fā)線切割數(shù)控自動編程系統(tǒng)
發(fā)布時間:2008/9/4 0:00:00 訪問次數(shù):779
1 前言
目前,國內(nèi)線切割自動編程系統(tǒng)采用的操作平臺絕大多數(shù)為dos版本,采用高級語言開發(fā)程序,周期長、工作量大,技術(shù)開發(fā)工具較落后。國內(nèi)有在autocad r12.0版本上開發(fā)自動編程,也為dos版本,操作平臺也較為落后,并且編程相當(dāng)復(fù)雜。
autocad r14.0是在windows95/nt多窗口多任務(wù)先進操作平臺下用visual c++開發(fā)出來的,是目前世界上最好的繪圖軟件,利用其強大繪圖功能完成自動編程的圖形輸入相當(dāng)理想。
同時,autocad r14.0支持微軟的activex automation技術(shù),其顯露出大約70個對象300多種屬性給automation client(客戶),activex automation技術(shù)可以用visual basic 6.0程序來直接在autocad圖形中提取圖形實體(如直線、圓弧)的屬性(如起點、終點、圓心等坐標(biāo),圓半徑等),并可操縱實體。隨著多任務(wù)多窗口操作系統(tǒng)的發(fā)展,線切割自動編程也必須緊跟當(dāng)代先進計算機技術(shù)的發(fā)展,脫離單任務(wù)單窗口的dos版本。因此,在autocad r14.0中用activexautomation技術(shù)開發(fā)數(shù)控自動編程系統(tǒng)很有意義。
2 autocad r14.0的activex automation技術(shù)簡介
activex技術(shù)是一組基于構(gòu)件對象模型com的技術(shù)集合。activex automation是ole(object linking and embedding,對象鏈接和嵌入)自動化技術(shù)的擴充和發(fā)展,它適用于ole對象與activex對象。automation技術(shù)允許一個應(yīng)用程序操縱另一個應(yīng)用程序中實現(xiàn)的對象,從而可被操縱。autocad r14.0的activex automation對象模型如圖1所示,所有的對象組成一個層狀結(jié)構(gòu)。最高層是application對象,其他對象都是application子對象。與本自動編程有關(guān)的autocad r14.0的automation對象如下:
圖1 autocad r14.0的activex automation對象模型
(1)application對象。application對象有許多屬性和方法:activedocument屬性返回當(dāng)前文檔, activedocument對象是autocad正在編輯的圖形;preference屬性返回對象,返回對象等價于preferences對話框。
(2)document對象。document對象是autocad當(dāng)前正在編輯的圖形,它可存取所有的autocad圖形與非圖形對象。 modelspace和paperspace屬性可存取圖形對象(如直線、圓弧、多義線等),非圖形對象可通過屬性layers、linetype、 textstyles等存取。document對象方法有文件的存儲與打開。autocad的圖形或非圖形對象都可以對象集合 (collectionset)的形式存在,通過對這些對象集合的操作,可遍歷到當(dāng)前圖形中所有的對象。
(3)圖形對象。autocad的圖形對象被稱為實體(entities),是圖形的可見對象。包括lines(線段)、arcs(圓弧)、polylines(多義線)、dims(尺寸標(biāo)注)等?墒褂胢odelspace和paperspace的addentityname方法產(chǎn)生一個新的圖形對象。圖形對象的編輯可通過圖形對象自身的方法(copy,erase,move,rotate等)實現(xiàn)。一些圖形對象的典型特征可通過對象屬性進行修改,如color(顏色)、linetype (線形)、layer(圖層)等。
(4)非圖形對象。非圖形對象是指圖形中不可見對象。包括dimstyle尺寸標(biāo)注風(fēng)格,linetype(線型)、selectionset選擇集等。
(5)preferences對象?刹樵兒驮O(shè)置preferences對話框,該對象也是application對象的子對象,它的主要功能是進行交互輸入和類型轉(zhuǎn)換。
3 autocad r14.0的activex automation技術(shù)編程設(shè)計
autocad r14.0的activex automation技術(shù)編程設(shè)計流程圖如圖2所示。
圖2 程序設(shè)計流程圖
3.1 設(shè)置應(yīng)用程序全局變量
一個visual basic 6.0應(yīng)用程序包括三類模塊:窗體模塊、全局模塊、類模塊。為提高程序的健壯性和運行效率,將application對象、document對象、modelspace對象和paperspace對象定義為全局變量。
3.2 將application對象與autocad程序鏈接
application對象是vb應(yīng)用程序與autocad之間鏈接的關(guān)鍵。只有通過application對象才能獲得document對象、 modelspace和paperspace對象。將application對象與autocad鏈接是為autocad開發(fā)activex automation應(yīng)用程序的第一步工作。
application對象與autocad鏈接的代碼如下所示。如成功則返回application對象,否則利用信息框反饋錯誤信息。
dim acadapp as object
on error resume next
‘返回application對象
set acadapp=getobject(,"autocad.application")
if err then
err.clear
`如果在autocad沒有運行,則強迫autocad啟動
set acadapp=createobject("autocad.application")
if err then
1 前言
目前,國內(nèi)線切割自動編程系統(tǒng)采用的操作平臺絕大多數(shù)為dos版本,采用高級語言開發(fā)程序,周期長、工作量大,技術(shù)開發(fā)工具較落后。國內(nèi)有在autocad r12.0版本上開發(fā)自動編程,也為dos版本,操作平臺也較為落后,并且編程相當(dāng)復(fù)雜。
autocad r14.0是在windows95/nt多窗口多任務(wù)先進操作平臺下用visual c++開發(fā)出來的,是目前世界上最好的繪圖軟件,利用其強大繪圖功能完成自動編程的圖形輸入相當(dāng)理想。
同時,autocad r14.0支持微軟的activex automation技術(shù),其顯露出大約70個對象300多種屬性給automation client(客戶),activex automation技術(shù)可以用visual basic 6.0程序來直接在autocad圖形中提取圖形實體(如直線、圓弧)的屬性(如起點、終點、圓心等坐標(biāo),圓半徑等),并可操縱實體。隨著多任務(wù)多窗口操作系統(tǒng)的發(fā)展,線切割自動編程也必須緊跟當(dāng)代先進計算機技術(shù)的發(fā)展,脫離單任務(wù)單窗口的dos版本。因此,在autocad r14.0中用activexautomation技術(shù)開發(fā)數(shù)控自動編程系統(tǒng)很有意義。
2 autocad r14.0的activex automation技術(shù)簡介
activex技術(shù)是一組基于構(gòu)件對象模型com的技術(shù)集合。activex automation是ole(object linking and embedding,對象鏈接和嵌入)自動化技術(shù)的擴充和發(fā)展,它適用于ole對象與activex對象。automation技術(shù)允許一個應(yīng)用程序操縱另一個應(yīng)用程序中實現(xiàn)的對象,從而可被操縱。autocad r14.0的activex automation對象模型如圖1所示,所有的對象組成一個層狀結(jié)構(gòu)。最高層是application對象,其他對象都是application子對象。與本自動編程有關(guān)的autocad r14.0的automation對象如下:
圖1 autocad r14.0的activex automation對象模型
(1)application對象。application對象有許多屬性和方法:activedocument屬性返回當(dāng)前文檔, activedocument對象是autocad正在編輯的圖形;preference屬性返回對象,返回對象等價于preferences對話框。
(2)document對象。document對象是autocad當(dāng)前正在編輯的圖形,它可存取所有的autocad圖形與非圖形對象。 modelspace和paperspace屬性可存取圖形對象(如直線、圓弧、多義線等),非圖形對象可通過屬性layers、linetype、 textstyles等存取。document對象方法有文件的存儲與打開。autocad的圖形或非圖形對象都可以對象集合 (collectionset)的形式存在,通過對這些對象集合的操作,可遍歷到當(dāng)前圖形中所有的對象。
(3)圖形對象。autocad的圖形對象被稱為實體(entities),是圖形的可見對象。包括lines(線段)、arcs(圓弧)、polylines(多義線)、dims(尺寸標(biāo)注)等?墒褂胢odelspace和paperspace的addentityname方法產(chǎn)生一個新的圖形對象。圖形對象的編輯可通過圖形對象自身的方法(copy,erase,move,rotate等)實現(xiàn)。一些圖形對象的典型特征可通過對象屬性進行修改,如color(顏色)、linetype (線形)、layer(圖層)等。
(4)非圖形對象。非圖形對象是指圖形中不可見對象。包括dimstyle尺寸標(biāo)注風(fēng)格,linetype(線型)、selectionset選擇集等。
(5)preferences對象?刹樵兒驮O(shè)置preferences對話框,該對象也是application對象的子對象,它的主要功能是進行交互輸入和類型轉(zhuǎn)換。
3 autocad r14.0的activex automation技術(shù)編程設(shè)計
autocad r14.0的activex automation技術(shù)編程設(shè)計流程圖如圖2所示。
圖2 程序設(shè)計流程圖
3.1 設(shè)置應(yīng)用程序全局變量
一個visual basic 6.0應(yīng)用程序包括三類模塊:窗體模塊、全局模塊、類模塊。為提高程序的健壯性和運行效率,將application對象、document對象、modelspace對象和paperspace對象定義為全局變量。
3.2 將application對象與autocad程序鏈接
application對象是vb應(yīng)用程序與autocad之間鏈接的關(guān)鍵。只有通過application對象才能獲得document對象、 modelspace和paperspace對象。將application對象與autocad鏈接是為autocad開發(fā)activex automation應(yīng)用程序的第一步工作。
application對象與autocad鏈接的代碼如下所示。如成功則返回application對象,否則利用信息框反饋錯誤信息。
dim acadapp as object
on error resume next
‘返回application對象
set acadapp=getobject(,"autocad.application")
if err then
err.clear
`如果在autocad沒有運行,則強迫autocad啟動
set acadapp=createobject("autocad.application")
if err then
熱門點擊
- 斷路器的分?jǐn)嗄芰?/a>
- HRW11-10/YH5WS1-17/30型
- 電子光柵尺在自動控制系統(tǒng)中的應(yīng)用
- 小錐度回轉(zhuǎn)頂尖的設(shè)計和應(yīng)用
- 用ActiveX Automation技術(shù)開
- 小型斷路器的發(fā)展與應(yīng)用
- 電源通路管理集成電路的優(yōu)點
- 如何正確操作跌落式熔斷器
- 485集線器的成功應(yīng)用
- 伺服電機原理
推薦技術(shù)資料
- 自制經(jīng)典的1875功放
- 平時我也經(jīng)常逛一些音響DIY論壇,發(fā)現(xiàn)有很多人喜歡LM... [詳細]
- 100A全集成電源模塊R
- Teseo-VIC6A GNSS車用精準(zhǔn)定位
- 高效先進封裝工藝
- 模數(shù)轉(zhuǎn)換器 (Analog-to-Digit
- 集成模數(shù)轉(zhuǎn)換器(ADC)
- 128 通道20 位電流數(shù)字轉(zhuǎn)換器̴
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究