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

您的位置:網站首頁 > CAM

AutoCAD平臺下ActiveX Automation線切割數控自動編程系統開發

時間:2011-02-28 10:31:38 來源:

  摘 要  介紹了AutoCAD R14.0的ActiveX Automation技術及其有關自動編程程序的設計技術,在AutoCAD R14.0集成環境下實現菜單及按鈕圖標開發的方法,并給出了實例編程。

  關鍵詞  WEDM 自動編程 AutoCAD ActiveX Automation技術 開發

  Abstract  This paper introduces the ActiveX Automation techniques of AutoCAD R14.0,the program design skill of the developing automatic program,the method of the developing menus and button icons in the integrated environment of AutoCAD R14.0,and gives a program example.

  1 前言

  目前,國內線切割自動編程系統采用的操作平臺絕大多數為DOS版本,采用高級語言開發程序,周期長、工作量大,技術開發工具較落后。國內有在AutoCAD R12.0版本上開發自動編程,也為DOS版本,操作平臺也較為落后,并且編程相當復雜。

  AutoCAD R14.0是在Windows95/NT多窗口多任務先進操作平臺下用Visual C++開發出來的,是目前世界上最好的繪圖軟件,利用其強大繪圖功能完成自動編程的圖形輸入相當理想。

  同時,AutoCAD R14.0支持微軟的ActiveX Automation技術,其顯露出大約70個對象300多種屬性給Automation Client(客戶),ActiveX Automation技術可以用Visual Basic 6.0程序來直接在AutoCAD圖形中提取圖形實體(如直線、圓弧)的屬性(如起點、終點、圓心等坐標,圓半徑等),并可操縱實體。隨著多任務多窗口操作系統的發展,線切割自動編程也必須緊跟當代先進計算機技術的發展,脫離單任務單窗口的DOS版本。因此,在AutoCAD R14.0中用ActiveXAutomation技術開發數控自動編程系統很有意義。

  2 AutoCAD R14.0的ActiveX Automation技術簡介

  ActiveX技術是一組基于構件對象模型COM的技術集合。ActiveX Automation是OLE(Object Linking and Embedding,對象鏈接和嵌入)自動化技術的擴充和發展,它適用于OLE對象與ActiveX對象。Automation技術允許一個應用程序操縱另一個應用程序中實現的對象,從而可被操縱。AutoCAD R14.0的ActiveX Automation對象模型如圖1所示,所有的對象組成一個層狀結構。最高層是Application對象,其他對象都是Application子對象。與本自動編程有關的AutoCAD R14.0的Automation對象如下:

圖1 AutoCAD R14.0的ActiveX Automation對象模型

  (1)Application對象。Application對象有許多屬性和方法:ActiveDocument屬性返回當前文檔, ActiveDocument對象是AutoCAD正在編輯的圖形;Preference屬性返回對象,返回對象等價于Preferences對話框。

  (2)Document對象。Document對象是AutoCAD當前正在編輯的圖形,它可存取所有的AutoCAD圖形與非圖形對象。 ModelSpace和PaperSpace屬性可存取圖形對象(如直線、圓弧、多義線等),非圖形對象可通過屬性Layers、LineType、 TextStyles等存取。Document對象方法有文件的存儲與打開。AutoCAD的圖形或非圖形對象都可以對象集合 (CollectionSet)的形式存在,通過對這些對象集合的操作,可遍歷到當前圖形中所有的對象。

  (3)圖形對象。AutoCAD的圖形對象被稱為實體(Entities),是圖形的可見對象。包括Lines(線段)、Arcs(圓弧)、Polylines(多義線)、Dims(尺寸標注)等。可使用ModelSpace和PaperSpace的AddEntityname方法產生一個新的圖形對象。圖形對象的編輯可通過圖形對象自身的方法(Copy,Erase,Move,Rotate等)實現。一些圖形對象的典型特征可通過對象屬性進行修改,如Color(顏色)、LineType (線形)、Layer(圖層)等。

  (4)非圖形對象。非圖形對象是指圖形中不可見對象。包括Dimstyle尺寸標注風格,LineType(線型)、SelectionSet選擇集等。

  (5)Preferences對象。可查詢和設置Preferences對話框,該對象也是Application對象的子對象,它的主要功能是進行交互輸入和類型轉換。

  3 AutoCAD R14.0的ActiveX Automation技術編程設計

  AutoCAD R14.0的ActiveX Automation技術編程設計流程圖如圖2所示。

  圖2 程序設計流程圖

  3.1 設置應用程序全局變量

  一個Visual Basic 6.0應用程序包括三類模塊:窗體模塊、全局模塊、類模塊。為提高程序的健壯性和運行效率,將Application對象、Document對象、ModelSpace對象和PaperSpace對象定義為全局變量。

  3.2 將Application對象與AutoCAD程序鏈接

  Application對象是VB應用程序與AutoCAD之間鏈接的關鍵。只有通過Application對象才能獲得Document對象、 ModelSpace和PaperSpace對象。將Application對象與AutoCAD鏈接是為AutoCAD開發ActiveX Automation應用程序的第一步工作。

  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

  MsgBox Err.Description `反饋錯誤信息

  Exit Sub

  End If

  End If

  acadApp.Visible=True

  得到了Application對象,就可調用相應的方法與函數。調用ActiveDocument屬性可得到當前的Document對象。調用Preferences屬性可得到Preferences對象。

  3.3 使用Document對象

  AutoCAD屬性的Document對象是進行圖形編輯的最高層對象。Application對象的ActiveDocument返回一個Document對象,它是當前正在編輯的圖形。下面的代碼產生一個新的Document對象。

  Dim acadDoc As Object

  Set acadDoc=acadApp.ActiveDocument

  當得到Document對象后,就可使用它的方法和屬性。

  3.4 零件圖形輸入及處理

  在AutoCAD中按零件圖紙尺寸輸入零件圖形,可利用本文開發的“繪圖點線圓及工具”菜單和“繪圖點線圓及工具”按鈕圖標方便地實現。將零件圖形編輯成多義線,加入放電間隙量,加入穿絲線,零件圖形處理完畢。

  3.5 構造AutoCAD選擇集

  將正在編輯的圖形的直線和圓弧構成一個選擇集。其中選擇的第一、第二元素(實體)順序必須為圖形的加工方向,第一段實體可為穿絲線。構造AutoCAD選擇集代碼如下:

  Dim sset As Object

  Set sset=acadDoc.SelectionSets.Add("ss1")  ′構造新選擇集

  Sset.SelectionOnScreen  ′在屏幕上選擇直線圓弧實體

  3.6 確定選擇集的第一、第二段元素的加工起點、終點坐標

  第一、第二段元素的起點、終點是根據繪圖的順序確定,根據第一段與第二段元素的相連點,確定出加工方向的起點、終點坐標。

  3.7 對所有選擇的實體進行排序

  確定了加工方向的第二段元素的終點,再依次搜尋與加工方向第二段元素終點相連的直線或圓弧,作為加工方向的第三段元素,根據加工的第三段元素(實體)的終點再搜尋與其相連的下一段元素(實體),……,直到排序完所有加工方向的實體。

  3.8 生成3B數控加工代碼或ISO代碼

  排序的同時,得到了各段排序實體的幾何數據,如加工方向直線的起點、終點坐標;圓弧的起點、終點、圓心坐標,起始角、終止角,圓弧半徑,圓弧方向等。

  根據加工直線圓弧的數據,可方便地生成3B數控加工代碼或ISO代碼。

  4 應用菜單及按鈕圖標的開發

  一般自動編程繪圖有12種直線、16種圓弧和4種點。可利用AutoCAD的菜單文件方便地擴充AutoCAD的功能。本文用寫字板編輯程序調出菜單源文件Acad.mns,在“幫助”菜單后按照菜單的標準格式增加菜單“繪制點線圓及工具”項,即生成所需的應用菜單。

  利用AutoCAD的按鈕圖標開發工具,即下拉菜單中的“View/Toolbars”菜單選項、“Toolbars”對話框、“New Toolbar”對話框、“Customize Toolbars”對話框、“Button Properties”對話框、“Button Edit”對話框,可生成按鈕圖標并掛上所要執行的命令。

  5 Visual Basic 6.0程序文件的生成

  在Visual Basic 6.0下建立如圖3所示的工程1(自動編程.vbp),其中3B指令顯示.frm窗體是用RichTextBox高級文本控件制做的寫字板,用來顯示生成的3B指令,并對生成的3B指令進行保存。加工仿真.FRM窗體用來顯示加工仿真的圖形。自動編程.bas模塊是對AutoCAD進行處理的主要模塊。該工程生成可執行文件R14_3b.exe,外掛在Acad.pgp程序中,即可在AutoCAD中執行。

圖3 應用程序VB6.0工程的建立

  6 編程實例

  在AutoCAD中輸入如圖4所示的圖形,將圖形編輯成多義線,加入放電間隙及穿絲線。用鼠標單擊“3B”圖標按鈕,再單選穿絲線為第一段實體,穿絲線左邊為第二段實體,再用復選框全選整個圖形后,按鼠標左鍵即可生成3B代碼。

圖4 編程實例

  7 結束語

  在AutoCAD中用ActiveX Automation技術開發數控編程的周期短;開發工具及技術平臺先進,編程簡單;使用菜單和按鈕圖標,繪圖簡單易學,用戶界面和通用性能好;可在同一個*.dwg文件中繪制多個零件圖形,分別生成加工指令;利用多窗口特性,可不退出系統,查看生成的3B指令、AutoCAD編輯的圖形和加工仿真圖形,非常方便。計算機的配置也較簡單,能較好地滿足自動編程的要求。