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

您的位置:網站首頁 > 機械制圖 > 機械技巧

AutoCAD環境下旋轉類拉延件毛坯尺寸的自動計算

時間:2011-04-19 22:26:07 來源:未知

一、引言

  在進行旋轉類拉延件拉延工藝設計時,以最后一次拉深成形的制件為基礎計算出毛坯尺寸(直徑)是必不可少的工作。手工計算時,由于旋轉類拉延件形狀變化大,故常涉及到大量的公式和表格,計算過程較為繁瑣、枯燥。
  AutoCAD是國內目前較普遍使用的計算機繪圖軟件,待加工的拉延件的零件圖常常已經在AutoCAD環境下繪出。根據AutoCAD下的零件圖,通過開發軟件自動分析計算出毛坯尺寸,是一項較有意義的工作。
  AutoCAD軟件包從AutoCAD R11.0開始,增加了ADS功能,可通過C語言按ADS指定的形式來調用AutoCAD的所有命令,并可進行實體(即點、直線、圓弧等)幾何信息的讀取,從而大大加強了利用AutoCAD進行二次開發的功能。
  為此,筆者利用AutoCAD的ADS功能,開發了一個對于AutoCAD環境下任意繪出的旋轉類拉延件能自動計算毛坯尺寸的程序。該軟件采用AutoCAD R12.0 for DOS下的ADS開發,利用ADS函數庫編制的C程序通過High C 1.7編譯,在AutoCAD Command狀態下運行,可迅速準確地計算毛坯尺寸。

二、軟件設計

1.軟件設計思想
  根據久里金法則,任意由直線和圓弧為母線形成的旋轉拉延件的毛料直徑D可由下式決定:

式中 Li——旋轉拉延件中性層各線段(直線和圓弧)長度
   Xi——旋轉拉延件中性層各線段(直線和圓弧)重心到旋轉軸的距離
   num——旋轉拉延件中性層線段數
  圖1示出了某旋轉拉延件的線段長度及其重心的標注,中性層共有由8段線段組成,其中直線4段(L1,L3,L6,L8),圓弧4段(L2,L4,L5,L7)。

圖1 一個旋轉拉延件

  現在需解決的問題是需要獲取中性層各線段的幾何參數,如直線的起始、終止點坐標,圓弧的圓心、半徑、起始角、終止角。獲取中性層各線段的幾何參數后,根據有關公式即可求得各線段(包括直線、圓弧)的長度及重心位置,從而可由以上公式求得毛料直徑。
  然而,中性層是假想的,由AutoCAD命令任意繪出工件圖的中性層往往也并未畫出,故需要首先讀取工件圖中內外兩側各直線和圓弧的幾何數據,然后即可間接地求得中性層各線段的幾何參數。
  故本程序設計與實現上分為4個大的步驟:
  (1)分別讀取工件圖內、外側各線段的幾何數據;
  (2)利用內外側各線段幾何數據求中性層各線段幾何數據;
  (3)求中性層各線段的長度及重心位置;
  (4)利用公式(1)求得毛料直徑。
  在第1、2、3步中采用了表1所示結構用于存貯內外側及中性層各線段幾何數據。

表1 實體信息的存貯方式

PR[i][0]PR[i][1]PR[i][2]PR[i][3]PR[i][4]PR[i][5]直線(1)起點X1起點Y1終點X2終點Y20





圓弧(2)圓心X圓心Y起角ANG1終角ANG2半徑R
∶#p#分頁標題#e#





圓(3)圓心X圓心Y00半徑R






2.軟件結構

圖2 旋轉拉延件毛坯尺寸計算軟件流程圖

  根據以上設計思想,本軟件結構流程圖如圖2所示。其中,表PR_SS[N] [5]、PR_L[num] [5]、PR_W [num] [5]、PR_M [num] [5]的結構形式與表1相同。

三、制件圖內外側各線段實體信息讀取的算法

  如上所述,AutoCAD環境下的制件圖內外側線段實體信息的拾取(即圖2的前4個部分)是實現本程序的關鍵。現設定用于表達旋轉拉延件內外結構的所有線段均繪于“0”層(這也符合一般AutoCAD繪圖習慣),而尺寸標注、剖面線等則置于另外的層,則內外層線段幾何信息讀取算法如下:
  Stepl【交互拾取表示厚度的左實體】
  交互選擇表示厚度的中心線左側實體S0(如圖1所注)
  Step2【獲取實體S0的兩個端點】
  讀取實體S0的兩端點坐標,存入數組PRSO[2][2]中
  Step3【拾取0層上的所有實體】
  建立0層上的所有實體的集合SS{S0,S1,…,Si,…}
  Step4【獲取實體集SS的實體數量】
  從實體集合SS中獲取實體數量N
  Step5【獲取實體集SS中一個實體的信息】
  從SS中選擇一個實體SSi,讀取它的幾何信息
  Step6【實體信息存放】
  將實體SSi幾何信息放入如表1形式的數組PRSS[N][5]中
  Step7【判斷】N=N-1 如N>0,進入Step5,否則進入Step8
  Step8【內外側線段實體信息選擇】
  根據數組PRS0[2][2]和PRSS[N][5],分別建立存貯制件外側線段幾何參數的數組PRW[num][5]及內側線段幾何參數的數組PRL[num][5]
其中,Step1主要由調用adsssget(  )函數完成
   Step2主要由調用adsentget(  )函數完成
   Step3主要由調用adsssget(  )函數完成
   Step4主要由調用adssslength(  )函數完成
   Step5主要由調用adsentget(  )函數完成
  Step1中ADS函數adsssget(  )的調用格式為:
  adsname S0;  /* 實體名變量 */
  adsssget(NULL,NULL,NULL,NULL,S0); /* 交互選擇獲取實體 */
  Step3中該函數的調用格式為:
  adsname SS; /* 實體集名變量 */
  Char sbuf[6];/*層名變量  */
  struct resbuf eb; /* 結構緩沖器變量 */
  strcpy(sbuf,“0”); /* 層名變量賦值 */
  eb.resval.rstring=sbuf; /* 結構緩沖器字符串賦值 */
  adsssget(“X”,NULL,NULL,&eb,SS); /* 獲取“0”層實體集*/
  在Step2、Step5中調用adsentget(  )函數的實質是產生一個結構緩沖器鏈表,該鏈表的結構示意圖如圖3所示。

圖3 結構緩沖器鏈表示意圖

  從結構緩沖器鏈表中可獲取當前實體集中每個實體的類型(如點、直線、圓弧等相應的DXF代碼)和幾何參數(即直線的起始、終止點坐標,圓弧的圓心、半徑、起始角、終止角),由于程序段稍長,此處從略。#p#分頁標題#e#
  Step8主要根據S0的兩個端點坐標(存于數組PRS0[2][2])和零件圖內外側所有的實體的幾何信息(存于數組PRSS[N][5])按首尾相連原則分別確定內側和外側線段及其幾何參數,并分別存入相應數組PRL[num][5]和PRW[num][5]中。

四、結束語

  作者根據以上程序設計思想和有關算法,設計完成了旋轉拉延件毛坯尺寸的自動計算軟件。在AutoCAD COMMAND狀態下通過“XLOAD”命令加載本程序后,繪制(或調入)一個旋轉拉延件零件圖,運行本程序,即可在屏幕上顯示打印出毛坯尺寸。
  該程序已對多個由AutoCAD繪制的任意復雜程度的旋轉拉延件計算出毛坯尺寸。運行表明:程序正確、可靠,能滿足迅速、自動計算毛坯直徑的要求。本程序既可單獨運行,也可作為后續的拉延模CAD系統的一個子系統運行。