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

您的位置:網站首頁 > CAM

如何于CAD圖形中獲取工藝信息?

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

  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提供了很好的。