1 引言
CAD技術的不斷和完善,使其對產品及零件的描述越來越接近于現實,二維CAD對產品及零件的描述已達到和超過了人工設計的水平。80年代末以來,我國進口了不少世界一流的CAD/CAM軟件,這些軟件在國民建設中、在跟蹤國際先進技術發展趨勢促進我國科技進步的工作中,起到了突出的作用。但我國絕大部分中小還沒有能力使用幾十萬元甚至上百萬元一套的CAD軟件,大部分工程技術人員主要使用的還是AutoCAD這類價格便宜的軟件,大部分積累下來的工程技術資料是二維形式的。即使在擁有先進的CAD/CAM軟件的廠家,由于臺套數不足,也仍然采用“兩條腿”走路的方法。本文將從一般的CAD軟件出發,研究從CAD圖形數據中獲取加工工藝信息的方法,并選擇其中一種進行較詳細的實驗性研究。對中小企業實現CAPP、機生產管理提供。
2 CAD中工藝信息的表示方法
由于加工生產的需要,希望CAD的數據中能包含足夠的加工工藝信息,如尺寸及其精度、形位公差、表面粗糙度等幾何精度要求,材料、熱處理、裝配等技術要求。為達到CAD信息集成的目的,一種流行的方法是,在構造特征時就加入相應的工藝信息,并用一個標準的中性格式如STEP標準來描述[1]。我國大多數中小企業的計算機工程設計,就是用AutoCAD軟件設計完成的。
在AutoCAD中記錄或描述加工工藝信息,是以三種形式來實現的,即“TEXT”或“MTEXT”(文本標注形式)、“DIMENSION”(尺寸標注形式)以及“ATTRIB”(屬性形式),其中“TEXT”或“MTEXT”形式較為簡單,“DIMENSION”形式較為復雜,下面就其數據格式進行分析[2,3]。
假設在CAD的設計圖紙上有一個線性水平標注的尺寸及其公差,如圖所示,其基本尺寸為:15mm,下偏差為:-0.011mm,上偏差為:-0.006mm。表1及表2分別表示了該尺寸的DXF表示形式及IGES表示形式。
圖 水平標注尺寸
對于用DXF文件表示的尺寸,表1僅列出了關鍵的部分。組碼0表示圖元的類型,組值“TEXT”表示為文本;組碼8表示圖層名為“0”層;組碼1表示標注的尺寸等。其中對于獲取加工工藝信息而言,最重要的組碼是“0”和“1”。首先要找到組碼0的組值為“TEXT”的圖元,然后再從組碼1中獲取基本尺寸、下偏差或上偏差(如表1中加黑的斜體字)。
表1 DXF文件格式
對于用IGES文件表示的尺寸,表2僅列出了我們感興趣的部分,其中加黑的斜體字分別為基本尺寸、下偏差或上偏差。
表2 IGES文件格式
另外,還有一種常用的數據表示形式,即AutoCAD數據庫對象存儲形式,其格式上接近于DXF格式,是以表的形式儲存的。上一例子的AutoCAD數據庫存儲格式為:(-1.<>圖元名;(0.“DIMENSION”)圖元類型;(2.“*D0”)無名塊名稱;(1.“”)由用戶鍵入的尺寸標注文本值等。該組數據中,最重要的是組碼0和組碼1的組值。由組碼0的組值“DIMENSION”,可以確定是否找到了尺寸標注圖元,由組碼1可以直接讀出標注的基本尺寸值。在本例中,標注時的基本尺寸值選用了AutoCAD的自動測量值,因此組碼1的組值為空。
對于用“TEXT”、“MTEXT”(文本標注形式)或“ATTRIB”(屬性形式)記錄或描述加工工藝信息的情況,其AutoCAD數據庫存儲格式較為簡單,它們有一個共同的特點,就是在組碼1后直接跟著相應的信息。
3 從CAD中獲取工藝信息的方法
3.1 方法的選擇
由以上分析可知,從CAD的圖形中獲取加工工藝信息,可以用兩種方法來實現。第一種為離線的獲取方式,即可以通過對STEP、DXF或IGES格式文件的處理,獲取有關的加工工藝信息。雖然這三種標準的格式差別很大,但是都獨立于CAD,可以在別的環境中處理信息。第二種為在線的獲取方式,即不退出AutoCAD,直接從其數據庫對象存儲中獲取有關的加工工藝信息。第一種方式有賴于STEP、DXF及IGES的不失真轉換,否則會丟失信息;另外獲取信息時較為盲目,只能全部獲取,不能有選擇地獲取;操作實時直觀性差。第二種方式能在AutoCAD下直觀實時地獲取數據;從理論上講,凡是設計圖上標注的信息都能獲取;另外還可以進行有目的、有選擇的信息獲取。
3.2 方案的實施研究
AutoCAD本身帶有AutoLISP用戶開發工具,LISP語言具有很強的符號處理和表處理功能,是建立專家系統的有力工具。
(1)獲取“TEXT”、“MTEXT”或“ATTRIB”圖元中的數值
獲取“TEXT”、“MTEXT”(文本標注形式)或“ATTRIB”(屬性形式)記錄或描述的加工工藝信息的程序設計,其中設namet為實體名。
(setq ent (entget namet));獲取圖元數據
(if (equal (cdr (assco 0 ent))“TEXT”);判別是否為文本
(setq datum (cdr (assco 1 ent))));是文本則提取數據
若為“MTEX”或“ATTRIB”,則用其圖元類型名代替程序中的“TEXT”即可。
(2)獲取“DIMENSION”圖元中的數值
對于“DIMENSION”形式的標注一種情況是,在尺寸標注時用戶鍵入了尺寸值,其數據值就是跟在組碼1后面的組值;另一種情況是,在尺寸標注時用戶確認了尺寸測量值,則組碼1后面的組值為空(“”),其數據值以“無名塊”的形式隱含在“DIMENSION”圖元中。無名塊的結構與一般的塊結構不同,不能用查找“INSERT”圖元的方法訪問。
獲取用“DIMENSION”形式標注尺寸數據的方法有三種:直接提取法,其標注的尺寸是由用戶鍵入的,可采用直接獲取組碼1后面的組值獲得數據;“炸開”提取法,先用“EXPLODE”命令,使“DIMENSION”形式標注的尺寸圖元“炸開”,分裂成單個的圖元,這時基本尺寸、下偏差及上偏差的數據都變成“TEXT”形式的圖元,然后再獲取“TEXT”圖元組碼1后面的組值而獲得數據;訪問無名塊提取法,利用tlbserach函數獲取進入無名塊的通道,再利用entnext函數獲取無名塊中的各個子圖元,從“TEXT”的子圖元獲取組碼1后面的組值而獲得數據。 內容來自"歲月聯盟"
第一種方法是有條件的提取法,有較大的局限性。第二種方法比較簡便,可以與“TEXT”的標注方式統一處理;其缺點是破壞了原“DIMENSION”標注的結構,而且“無名塊”的“炸開”將增大零件圖的存儲量,特別是會給以后的圖形修改帶來很大的麻煩。例如,對一項普通的尺寸標注而言,“炸開”后,尺寸線、尺寸界線、箭頭等都將成為獨立的圖元實體。第三種方法編程較復雜,但保護了原“DIMENSION”標注的結構,尺寸數據仍然按無名塊的結構方式儲存,既獲取了數據信息,又未增加存儲量,是一個較好的方法。用第三種方法(利用tlbserach函數)編制的獲取工藝信息的程序如下:
(setq ent (car(entsel)))
;選擇尺寸標注圖元,并獲得圖元名
(setq entt (entget ent ’(“ACAD”)))
;獲得圖元定義表
(setq named (cdr (assoc 2 entt)))
;獲取無名塊的塊名
(setq head (tblsearch “BLOCK” named))
;取出塊頭信息
(setq entname (cdr (assoc-2 head)))
;取出塊中第一個子圖元名
(while (/=entname nil) ;若有子圖元則繼續
(setq ent (entget entname))
;取出塊中子圖元的定義表
(if (equal(cdr (assco 0 ent )) “TEXT”)
;判別是否為文本子圖元
(progn ;若為文本子圖元則繼續
(setq datuml(cdr(assco 1 ent)))
;提取文本數值(尺寸數值)
(setq entname(entnext entname))
;取出下一個子圖元名
(setq ent (entget entname))
;取出子圖元的定義表
(if (equal(cdr(assco 0 ent))“TEXT”)
;判別是否為文本子圖元
(progn ;若為文本子圖元則繼續
(setq datum2(cdr(assco 1 ent)))
;提取文本數值(下偏差)
(setq entname(entnext entname))
;再取出下一個子圖元名
(setq ent (entget entname))
;取出子圖元的定義表
(if(equal(cdr(assco 0 ent))“TEXT”)
;是否為文本子圖元
(setq datum3(cdr(assco 1 ent)))
;是,則提取文本數值(上偏差)
) ;提取上偏差結束
)
) ;提取下偏差結束
)
) ;提取尺寸數值結束
(setq entname(entnext entname)))
;取出下一個子圖元名
(3)尺寸精度的自動轉化功能
本研究中建立了尺寸精度的自動轉化功能。在進行CAP時,人們更關心的是尺寸的精度等級而不是具體的數值。根據我國的標準公差規定,我們建立了尺寸精度的自動轉化功能模塊。該模塊用AutoLISP語言設計,能在AutoCAD環境下運行,為實現CAPP提供了方便。
4 結束語
本文研究解決了在原CAD圖形數據的基礎上,獲取加工工藝信息的方法,從中選擇了在線的獲取方式進行研究。在AutoCAD軟件上進行了具體的實施實驗,找出了實施中需要解決問題的關鍵點,為工廠在現有CAD技術資料中獲取加工工藝信息、使現有技術資料得到充分的利用、實現CAPP提供了很好的。
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數據處理及宏應用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF