国产又猛又黄又爽,多姿,免费精东传媒VS天美传媒,午夜sese电影,欧美三级视频在线播放

產(chǎn)品展廳收藏該商鋪

您好 登錄 注冊

當(dāng)前位置:
東莞市宇匠數(shù)控設(shè)備有限公司>技術(shù)文章>VB6. 0與 ActiveX Aut omati on技術(shù)開發(fā) CAM的分析

技術(shù)文章

VB6. 0與 ActiveX Aut omati on技術(shù)開發(fā) CAM的分析

閱讀:163          發(fā)布時間:2020-8-12

  ActiveX Aut omati on技術(shù)是微軟制定的一套標(biāo)準(zhǔn) ,使用這個標(biāo)準(zhǔn)可以使用不同語言開發(fā)的軟件構(gòu)件在網(wǎng)絡(luò)環(huán)境中相互操作 ,它允許通過外顯的對象由一個 windows應(yīng)用程序控制另一個 win2dows應(yīng)用程序 , CAD可以調(diào)用 CAM的對象 , CAM也可以調(diào)用CAD的對象。ActiveX Aut omati on被稱為第四代開發(fā)工具。 (第一代開發(fā)工具 - Aut olis p;第二代開發(fā)工具 - ads ;第三代開發(fā)工具- Visuallis p arx;第四代開發(fā)工具 - ActiveX aut omati on[ 1 ])

同其他三代開發(fā)工具相比 ,ActiveX Aut omati on提供了大的靈活性和開發(fā)效率。它無需相關(guān)的控件的幫助 ,無需編寫復(fù)雜L ISP c語言程序 ,而是以對象的方式把 Aut oCAD的強大功能直接提供給應(yīng)用程序 ,既大大降低了開發(fā)工作量 ,又增強了系統(tǒng)的集成性、 對各種不同版本的適應(yīng)性和可維護性。Aut oCAD Ac2tiveX Aut omati on技術(shù)的出現(xiàn) ,標(biāo)志著 Aut oCAD的二次開發(fā)技術(shù)取得了歷史性轉(zhuǎn)折。首先 ,它**實現(xiàn)了 OLE Aut omati on ,使得其他軟件可以方便地訪問 Aut oCAD ; 其次 ,Aut oCAD*實現(xiàn)了面向?qū)ο蟮拈_發(fā)技術(shù) ,用戶可以操縱它提供所有的 Aut oCAD對象; ,基于 ActiveX Aut omati on開發(fā)技術(shù)的開發(fā)工具得到*的膨脹 ,已不再局限于 C C + +系列語言 , Visual Basic ,Del phi等工具都可以進行開發(fā) ,本文介紹基于 Visual Basic Ac2tiveX Aut omati on技術(shù)開發(fā) CAM系統(tǒng)的過程。

1 CAM系統(tǒng)總體實現(xiàn)的方法

基于 Visual Basic ActiveX Aut omati on技術(shù) ,我公司已經(jīng)開發(fā)出了汽車縱梁沖孔生產(chǎn)線 CAM系統(tǒng)、 TP80型數(shù)控液壓板料沖孔機 CAM系統(tǒng)、 數(shù)控沖床通用 CAM系統(tǒng)等 ,各種 CAM系統(tǒng)的功能雖然千差萬別 ,但總體實現(xiàn)的方法類似。下面談?wù)?/span> CAM系統(tǒng)實現(xiàn)的通用方法。

增加菜單項以實現(xiàn) CAM圖標(biāo) , VBA編寫接口 ,使圖標(biāo)與ActiveX控件相連 , VB編寫類生成 DLL,它是以 VB類的形式提供的開發(fā)接口 ,可用于定義模型的幾何、 窗體 ,拓撲以及實現(xiàn)其他功能。在應(yīng)用中 ,可直接通過類的公共 ( Public)數(shù)據(jù)成員和保護( Pr otected)數(shù)據(jù)成員以及成員函數(shù) (Member Functi on) ACIS相互作用。開發(fā)者也可以根據(jù)特殊的需要從 ACIS類派生出自己的應(yīng)用類 ,類接口在各版本中可能有變化 ,終把菜單、 VBA工程、DLL 各種文檔都封裝在 SET UP ,可以安裝在 Aut oCAD20002002 2004 2005 2006 2007中。示意圖如圖 1:


首先創(chuàng)建一個 CAM系統(tǒng)圖標(biāo)菜單 ,編寫腳本 ( Scri p ts) j mcar .mns, AUT OCAD使用工具 自定義菜單 \JMCAR. MNS加載 , CAM菜單加載到 Aut oCAD系統(tǒng)中 ,以便用戶像點擊 Aut oCAD的圖標(biāo)一樣點擊 CAM圖標(biāo)。第二步用 VBA編寫 j mvb1 . dvb工程 ,用于調(diào)用 DLL工程中類的成員 ,第三步中使用 VisualBasic6 . 0創(chuàng)建工程 ,包括各種窗體、 模塊、 類、 過程、 函數(shù)和各種功能模塊 ,并編譯成 DLL工程 ,以備 VBA調(diào)用 ,該部分的工作量大約占整個開發(fā)總量的 90%以上。后集成打包封裝形成 SET UP安裝文檔。以汽車縱梁沖孔生產(chǎn)線 CAM系統(tǒng)為例 ,其流程圖如圖 2:


2 CAM開發(fā)中技術(shù)要點

從圖 1 CAD /CAM系統(tǒng)示意圖可以看出 ,開發(fā)過程有四步 ,分別是圖標(biāo)菜單文檔的編寫、 VBA工程的創(chuàng)建、 DLL工程的創(chuàng)建設(shè)計和整個系統(tǒng)的集成 ,第一步圖標(biāo)菜單文檔的編寫和第二步 VBA工程的創(chuàng)建韓學(xué)軍已在“ 汽車縱梁沖孔數(shù)控生產(chǎn)線自動編程系統(tǒng)ActiveX Aut omati on技術(shù)的應(yīng)用 一文中介紹 (詳見《CAD /CAM與制造業(yè)信息化 2006 12 ) ,本文不再贅述。這里主要介紹第三步 DLL工程的創(chuàng)建設(shè)計中的要點問題。

2 . 1 Visual Basic 6 . 0工程的引用

動態(tài)鏈接庫中存放了所有 Windows應(yīng)用程序可以共享的代碼和資源 ,這些代碼或函數(shù)可以用多種語言寫出。Visual Basic利用這些技術(shù)可以調(diào)用任何語言產(chǎn)生的 DLL,也可以調(diào)出 windows應(yīng)用程序接口 (AP I )函數(shù) ,以實現(xiàn) S DK所能實現(xiàn)的功能。對象的鏈接與嵌入是 VisualBasic訪問所有對象的一種方法。利用 OLE技術(shù) ,Visual Basic將其他應(yīng)用軟件作為一個對象嵌入到應(yīng)用程序中進行操作 ,也可以將各種基于 windows的應(yīng)用程序嵌入到 Visu2al Basic應(yīng)用程序中[ 2 ]

在“ 引用 對話框中 ,選擇 ActiveX部件的名稱 ,它包含在應(yīng)用程序的對象中。可以使用“ 瀏覽 按鈕來搜索包含所需對象的類型庫文件。類型庫可以有. tlb. o1b擴展文件名。可執(zhí)行( exe)文件與動態(tài)鏈接庫 (DLL)也可以提供類型庫。在應(yīng)用程序中 ,在使用對象的屬性、 方法和事件之前 ,必須先聲明對象變量 ,然后將對象引用賦予該變量。如何賦值對象引用取決于兩個因素:

一、 該對象是頂層、 外部可創(chuàng)建對象 ,還是從屬對象。對于外部創(chuàng)建的對象的引用 ,可以直接賦值 ,而對從屬對象的引用則間接賦值。

二、 ActiveX部件是否提供類型庫。ActiveX部件的類型庫包含部件提供的全部對象的定義 ,包括全部可用的方法、 屬性和事件的定義。如果 ActiveX部件提供類型庫 ,在使用庫的對象前 ,需要在 visual Basic工程中添加一個對類型庫的引用。如果對象是外部可創(chuàng)建的 ,可在 Set語句中用 New關(guān)鍵字、CreateObject Get Objet從部件外面將對象引用賦予變量。如果對象是從屬對象 ,則需使用高層對象的方法 , set語句中一個對象的引用[ 3 ]

缺省的引用有四個:

visual basic for app licat ons

visual basic runti me objects and p rocedues

visual basic objects and p rocedures

ole aut omati on

根據(jù)各個不同版本增加四個引用:

對于 2007來說

AUT OCAD 2007 type library

AUT OCAD /Object obx commom 17 . 0 type library

對于 2004, 2005, 2006來說

AUT OCAD 2004

AUT OCAD /Object obx commom16 . 0

AUT OCAD Focus contr ol for vba type library

MicosoftActivex Data Objects 2 . 1 L ibrary

對于 2000, 2002來說

AUT OCAD 2000

AUT OCAD Focus contr ol for vba type library

AUT OCAD /Object obx commom 1 . 0

MicosoftActivex Data Objects 2 . 1 L ibrary

2  實現(xiàn) VB Aut oCAD之間的鏈接

Aut oCAD的所有對象可組成一個層狀結(jié)構(gòu) ,其高層是 Ap2licati on對象 ,其它對象都是 App licati on對象的子對象。對象層中每個子對象都有屬于自己的子對象。為了獲得某個特定的對象 ,必須從 App licati on對象中對各層子對象進行遍歷查詢 ,到找到該特定對象 , App licati on對象是 vb應(yīng)用程序與 Aut o2AD之間鏈接的關(guān)鍵。只有通過 App licati on對象才能獲取參數(shù)、 文檔集、 菜單欄、 菜單組。將 App licati on對象與 Aut oCAD之間行鏈接是實現(xiàn) CAM CAD連接的第一步。

對于 2007來說

Private Sub Form_Load ( ) 連接至 Aut oCAD圖形

On Err or Resume Next

Di m acadApp AsAcadApp licati on

Set acadApp = Get Object ( , "Aut oCAD. App licati on . 17" )

I f Err Then

Err . Clear

Set acadApp = CreateObject ( "Aut oCAD. App licati on . 17 . " )

I f Err Then

Msg Box Err . Descri p ti on

Exit Sub

End I f

End I f

Set acadDoc = acadApp. ActiveDocument

End Sub

對于 2004, 2005, 2006來說

Private Sub Form_Load ( ) 連接至 Aut oCAD程序

On Err or Resume Next

Di m acadApp AsAcadApp licati on

Set acadApp = Get Object ( , "Aut oCAD. App licati on . 16" )

I f Err Then

Err . Clear

Set acadApp = CreateObject ( "Aut oCAD. App licati on . 16" )

I f Err Then

Msg Box Err . Descri p ti on

Exit Sub

End I f

End I f

Set acadDoc = acadApp. ActiveDocument

End Sub

對于 2000, 2002來說

Private Sub Form_Load ( ) 連接至 Aut oCAD圖形

On Err or Resume Next

Di m acadApp AsAcadApp licati on

Set acadApp = Get Object ( , "Aut oCAD. App licati on" )

I f Err Then

Err . Clear

Set acadApp = CreateObject ( "Aut oCAD. App licati on . " )

I f Err Then

Msg Box Err . Descri p ti on

Exit Sub

End I f

End I f

Set acadDoc = acadApp. ActiveDocument

End Sub

2 . 3  在模塊中定義全局變量 ,獲取 Aut oCAD信息在模塊中定義 Aut oCAD應(yīng)用程序和 Aut oCAD文件Public acadApp AsAcadApp licati on cad應(yīng)用Public acadDoc AsAcadDocument cad文件用戶可以根據(jù)屏幕選取圖形、 可以根據(jù)圖層選取圖形 ,也可以根據(jù)某些條件過濾掉某些圖形元素 ,下面的過程是根據(jù)屏幕選取圖形放入選擇集中 ,然后把圖形元素放入動態(tài)數(shù)組中 ,放入動態(tài)數(shù)組中的目的是由于在選擇集中處理數(shù)據(jù)比較慢 ,而在動態(tài)數(shù)組中處理數(shù)據(jù)的速度比較快。筆者做過一個試驗 ,在一個有 40個圖素的圖形文件中 ,用選擇集處理數(shù)據(jù)需要十分鐘 ,而用動態(tài)數(shù)組處理需要 10秒。

Public Sub Aut ogetdata ( ) ’

Di m iAs I nteger, k As I nteger, ic As I nteger, lngCount as intege

Di m entAsAcadEntity

Di m sset ObjAs AcadSelecti onSet

Di m objEnts ( ) 定義動態(tài)數(shù)組

On Err or GoTo ccc1

ic = acadDoc . Selecti onSets . Count 選擇集的個數(shù)

I f ic > 0 Then

For i = ic - 1 To 0 Step - 1

Set sset Obj = acadDoc . Selecti onSets ( i)

I f sset Obj . Name = " SSSS" Then sset Obj . Delete 存在該選擇集刪除它

Next

End I f

Set sset Obj = acadDoc . Selecti onSets . Add ( " SSSS" )

sset Obj . Select OnScreen

lngCount = sset Obj . Count 選擇集的圖元個數(shù)

I f lngCount > 0 Then

ReDi m objEnts (0 To lngCount - 1) 定義放實體的動態(tài)數(shù)組

For ic = 0 To lngCount - 1 把選擇集的圖素放入實體數(shù)組中

Set objEnts ( ic) = ssSet obj ( ic)

Next

End I f

Ssset obj . delete

End sub

ObjEnts數(shù)組中存放了從屏幕上獲取的所有圖素。

2 . 4  向圖形數(shù)據(jù)庫添加 CAM圖形數(shù)據(jù)

圖形設(shè)計可以運用 Pro /Engineer,UGII , I - DEAS, Euclid - IS,

CATI A, SolidWorks, Sigraph CAD軟件直接設(shè)計繪制 ,通過DXFI - GES DWG格式放入 CAD CAM的一體化系統(tǒng) ,也可以用 Aut oCAD直接繪制。對于不同的 CAM系統(tǒng) ,向圖形數(shù)據(jù)庫添加的 CAM圖形數(shù)據(jù)也不同的 , TP80型數(shù)控液壓板料沖孔機為例 ,需要向圖形數(shù)據(jù)庫中加入板材信息、 夾鉗信息、 模具信息、 行程信息、 重定位信息、 模擬演示信息等等 ,然后根據(jù)從 CAD圖形數(shù)據(jù)庫中獲取的數(shù)據(jù)添加模具信息 ,該功能可以通過添加塊實現(xiàn) ,塊的屬性可以帶有 CAD信息 (如圓的圓心坐標(biāo)點、 圓的直徑 ,層、 線型、 顏色等 ) CAM信息 (刀具號、 刀具的直徑、 工位號、 沖壓類型、 重定位區(qū)域等 )

自動排刀的算法:首先建立刀具庫 ,并提取刀具信息如:圓刀的直徑 ,其他刀具的長、 寬、 面積、 角度 ,刀具名稱等 ,設(shè)置正公差和負公差的范圍 ,以便進行匹配刀具。第二步從 Aut oCAD中提取圖形信息放入選擇集中 ,并把圓孔、 長方孔、 長圓孔、 特殊孔四種篩選出來 ,去除板材線 ,尺寸線 ,文字等 ,第三步從選擇集中取一個圖素 ,判斷該圖素的類型 (上述四種 ) ,根據(jù)圖素的類型進行相應(yīng)的處理。

利用循環(huán)原理 ,把實體數(shù)組中的圖素全部處理后 , CAM層上就自動把合適的刀具適配上了 , CAM圖形為了區(qū)別于 CAD圖形 ,以特殊的顏色顯示 ,放在層上 ,以便于后續(xù)處理。由于篇幅所限 ,在這里只能給出程序框圖圖 3

2 . 5  優(yōu)化

TP80型數(shù)控液壓板料沖孔機采用直列式模具庫 ,它的換模速度比較快 ,一般采用路徑優(yōu)化然后再進行模具優(yōu)化的原則。它采用了夾鉗硬件自動避讓的方式 ,軟件中不考慮夾鉗死區(qū)的避讓問題。


該優(yōu)化方法采用分組方式 ,每兩米為一組 ,每組內(nèi)先按模具優(yōu)化 ,相同模具按沖點的 X +所用模具的偏移值的距離進行優(yōu)化 ,相同模具并且 X +所用模具的偏移值也相同的沖點按 Y+所用模具的偏移值的距離進行比較 ,再按所有優(yōu)化路徑進行比較 ,選出一個路徑生成 NC代碼。

設(shè)計模擬演示、 生成 NC程序等模塊把菜單、 VBA工程、 Visu2al Basic編譯后形成的 DLL 各種文檔都封裝在 SET UP中。ActiveX DLL的注冊與開發(fā)平臺無關(guān) ,在一種編程語言中開發(fā)出來的 ActiveX DLL,幾乎不作任何修改 ,便可以在另一種編程語言中使用。一般注冊 VB6 . 0 ActiveX DLL的方法有很多種 ,這里只介紹手動注冊和自動注冊:

(1)使用 Regsvr32 . exe程序?qū)?/span> VB ActiveX DLL進行注冊。

(2)安裝過程中的自動注冊。

TP80型數(shù)控液壓板料沖孔機自動編程 CAM軟件采用的是

安裝過程中的自動注冊。主圖標(biāo)菜單如圖 5:


3 結(jié)論

利用計算機圖形交互界面 ,采用二維模擬技術(shù)及面向?qū)ο蟮某绦蛟O(shè)計方法 , vb ActiveX Aut omati on技術(shù) ,設(shè)計 TP80型數(shù)控液壓板料沖孔機 CAM系統(tǒng) ,對刀具的刀具軌跡進行模擬 ,直觀、 快速、 正確地驗證數(shù)控代碼 ,且操作簡單、 方便 ,提高了數(shù)控液壓板料沖孔機的工作效率。該開發(fā)思路還可以用于數(shù)控沖床、 數(shù)控車床、 數(shù)控銑床 加工中心 激光切割機、 等離子切割機等數(shù)控加工設(shè)備 ,以起到節(jié)能降耗、 降低成本、 落實科學(xué)發(fā)展觀 ,建設(shè)節(jié)約型社會、 向綠色金屬加工邁進的作用。目前該系統(tǒng)已經(jīng)應(yīng)用在汽車縱梁沖孔生產(chǎn)線和各種數(shù)控液壓板料沖孔設(shè)備中 ,用戶滿意度較高 ,使用效果比國外同類軟件要好。

本文由 伯特利數(shù)控文章 整理發(fā)表,文章來自網(wǎng)絡(luò)僅參考學(xué)習(xí),本站不承擔(dān)任何法律責(zé)任。

專業(yè)制造

收藏該商鋪

登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時間回復(fù)您~

對比框

產(chǎn)品對比 二維碼 意見反饋

掃一掃訪問手機商鋪
在線留言