第二章 CADCAM技術基礎工程數據的計算機處理XXXX_第1頁
第二章 CADCAM技術基礎工程數據的計算機處理XXXX_第2頁
第二章 CADCAM技術基礎工程數據的計算機處理XXXX_第3頁
第二章 CADCAM技術基礎工程數據的計算機處理XXXX_第4頁
第二章 CADCAM技術基礎工程數據的計算機處理XXXX_第5頁
已閱讀5頁,還剩41頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

CAD/CAM技術基礎CAD/CAMTechnologyBase主講人:XXXE-mail:XXX第二章工程數據的計算機處理ComputerProcessingofEngineeringData第一章緒論主要內容:1、CAD/CAM技術的基本概念及其內容。2、CAD/CAM產品生產過程。3、CAD/CAM系統的分級結構、基本功能、任務和硬軟件組成。4、CAD/CAM技術的國內外發展狀況。5、CAD/CAM技術的發展趨勢。引例機械設計過程中,常常需要引用各種工程設計手冊或設計規范中的數據資料。工程數據一般多為表格、線圖、經驗公式等。

引例傳統設計---數據通過人工查尋獲取。

計算機處理---首先將數據轉換為計算機能夠處理的形式,以便使用過程中通過應用程序進行檢索、查尋和調用。常用的工程數據計算機處理方法有:程序化處理;

文件化處理;

解析化處理;數據庫技術(大量復雜的工程數據)等。內容2.1工程數據的程序化處理2.2工程數據的文件化處理2.3工程數據的解析化處理2.4工程數據的數據庫管理

2.1工程數據的程序化處理工程數據的程序化處理是指在應用程序內部對數表、線圖等進行查尋、處理和計算。利用該方法,可以將數據直接寫入程序內,程序運行時自動完成程序化處理。程序化適合于需要經常使用而共享度要求不高的情況,例如工程數據中的數表、有公式的線圖以及經驗公式等。2.1工程數據的程序化處理C語言相關知識:

#include“stdio.h”//包含“standardinput&output”頭文件voidmain(void){//主程序;}常用數據類型:int(整型)、float(浮點數)等;數組:a[],b[][],c[][][];常用函數:scanf(“”)輸入、輸出printf(“”)、for循環、if()條件判斷。參考教材:《C語言程序設計教程(第3版)》譚浩強主編

2.1.1數表的程序化處理2.1工程數據的程序化處理用程序完整、準確地描述不同函數關系的數表,以便在運行過程中迅速有效地檢索和使用數表中的數據。【例2.1】將表2-1中的外螺紋最小牙底半徑進行程序化處理2.1工程數據的程序化處理一維數表,有螺距和最小牙底半徑兩個參數,二者之間為一對一的關系。采用一維數組來進行標志。定義數組Pi和Ri(下標i的范圍從0~11),數組Pi和Ri分別用來存放螺距P(i)和最小牙底半徑R(i)。若已知螺距尺寸Pi,就可相應地檢索出最小牙底半徑尺寸Ri。2.1工工程程數數據據的的程程序序化化處處理理#include““stdio.h””voidmain(void){inti,n=11;/*n為為記記錄錄數數*/floatP;floatPi[12]={0.2,0.25,0.3,0.35,0.4,0.45,0.5,0.6,0.7,0.75,0.8,1};floatRi[12]={25,31,38,44,50,56,63,75,88,94,100,125};/*定定義義一一維維數數組組,,并并初初始始化化賦賦值值*/printf("pleaseinputpitchP:\n");scanf("%f",&P);/*輸輸入入螺螺距距值值*/for(i=0;i<n;i++)if((P==Pi[i]&&(i<=n))printf("TheminimumofrootradiusofexternalthreadRmin:\n",Ri[i]);/*輸輸出出相相應應的的最最小小牙牙底底半半徑徑*/}2.1工工程程數數據據的的程程序序化化處處理理【例例2.2】】在在設設計計沖沖裁裁模模凹凹模模時時,,凹凹模模刃刃口口與與邊邊緣緣及及刃刃口口與與刃刃口口之之間間必必須須有有足足夠夠的的距距離離,,如如表表2-2所所示示,,試試對對該該表表進進行行程程序序化化處處理理。。2.1工工程程數數據據的的程程序序化化處處理理從表表2-2可可以以看看出出,,決決定定凹凹模模刃刃口口與與邊邊緣緣、、刃刃口口與與刃刃口口之之間間距距離離的的自自變變量量有有兩兩個個,,即即料料厚厚和和料料寬寬,,這這可可以以歸歸結結為為一一個個二二維維數數表表問問題題。。在對對該該類類數數表表進進行行程程序序化化處處理理時時,,可可將將表表中中的的刃刃口口與與邊邊緣緣、、刃刃口口與與刃刃口口之之間間的的距距離離值值記記錄錄在在一一個個二二維維數數組組中中Distance[6][4],,將將兩兩個個自自變變量量料料寬寬和和料料厚厚分分別別定定義義為為一一個個一一維維數數組組Thick[6]、、Width[4],,通通過過下下標標引引用用的的方方式式實實現現查查尋尋。。2.1工工程數數據的程程序化處處理#include““stdio.h”voidmain(void){inti,j;floatw,t;/*定定義義用戶戶輸入入的料料厚、、料寬寬變量量*/floatWidth[6]={40,50,70,90,120,150};/*定定義表表格中中的料料厚(一維維數組組),,并初初始化化賦值值*/floatThick[4]={0.8,1.5,3.0,5.0};/*定定義表表格中中的料料寬(一維維數組組),,并初初始化化賦值值*/floatDistance[6][4]={{22,24,28,32},{24,27,31,35},{30,33,36,40},{36,39,42,46},40,45,48,52},{44,48,52,55}};/*定義義距離離值(二維維數組組),,并初初始化化賦值值*/printf("pleaseinputwidthofmaterial:w=\n");scanf("%f",&w);/*輸輸入入料寬寬值*/printf("pleaseinputthickofmaterial:t=\n");scanf("%f",&t);/*輸輸入入料厚厚值*/for(i=0;i<6;i++)if(w<=Width[i])break;for(j=0;j<4;j++)if(t<=Thick[j])break;printf("Thedistancebetweenthecuttingedgeandmarginoffemaledie,orbetweenthecuttingedgeoffemaledie:%\f",Distance[i][j]);/*輸輸出出距離離值*/}2.1工工程數數據的的程序序化處處理【例2.3】將將表2-3所示示的齒齒形公公差進進行程程序化化處理理。從表2-3可以以看出出,漸漸開線線圓柱柱齒輪輪齒形形公差差取決決于齒齒輪直直徑、、法向向模數數和精精度等等級三三個變變量,,這可可以歸歸結為為一個個三維維數表表問題題。在對該該類數數表進進行程程序化化處理理時,,可將將表中中的齒齒形公公差ff記錄錄在一一個三三維數數組FF[2][5][12]中中,用用一維維數組組dd[2]來來儲存存齒輪輪分度度圓直直徑d的上界界值,,用另另一個個一維維數組組mn[5]來來儲存存齒輪輪法向向模數數mn的上上界值值,用用一個個整型型變量量來表表示齒齒輪的的精度度等級級。2.1工工程數數據的的程序序化處處理2.1.2線線圖圖的程程序化化處理理工程設設計中中,一一些設設計數數據是是用直直線、、折線線或各各種曲曲線構構成的的線圖圖線圖本本身不不能被被計算算機直直接引引用,,參與與設計計的是是對線線圖進進行處處理后后獲得得的相相應數數據。。常用方方法::將線線圖離離散化化為數數表,,然后后將數數表進進行程程序化化處理理。【例2.4】在在進行行圓錐錐齒輪輪傳動動的疲疲勞強強度校校核計計算時時,需需要用用到結結點區區域系系數ZH,結結點區區域系系數可可從圖圖2.1所所示的的線圖圖中查查取。。試對對該圖圖進行行程序序化處處理。。2.1工工程數數據的的程序序化處處理可將此此例圖圖轉換換成數數表關關系,,然后后進行行程序序化處處理。。為轉換換成相相應數數表,,可將將曲線線分割割離散散(即即離散散化處處理):首首先由由給出出的已已知自自變量量在曲曲線上上找到到對應應的因因變量量ZH,形成一一組結點,,然后用這這些分割離離散點的坐坐標值列成成一張如表表2-4所所示的數表表。可以看出::這是一個個一維數表表,就可以以采用前述述方法進行行數表的程程序化處理理。內容2.1工工程數據的的程序化處理2.2工工程數據的的文件化處理2.3工工程數據的的解析化處理2.4工工程數據的的數據庫管理理2.2工工程數據的的文件化處處理工程數據的的文件化處處理是指將將工程數據據以一定的的格式存放于文件件中,在使用用時程序打開文件并進行查詢詢等操作。。適用于大型數據或需進行共享的數據據。工程數據文文件通常采采用兩種類類型的文件件:文本文件和數據文件。文本文件:用于存儲儲行文檔案資料料,如技術報告告、專題分析析和論證材材料等,可利利用任何一種計算機文字處理工具具軟件建立。數據文件:則有自己的的固定的存取格格式,用于存儲數數值、短字符符串數據,如如切削參數、、零件尺寸等等,可利用字表處理軟件件建立,通常采采用高級語言言中的文件管理功能能來實現文件的的建立、數據據的存取。2.2工程程數據的文件件化處理【例2.5】】表2-5所所示為平鍵和和鍵槽尺寸,,圖2.2所所示為平鍵與與鍵槽剖面圖圖。試對該數數據表進行文文件化處理。2.2工程程數據的文件件化處理將表

2-5

中的平鍵鍵和鍵槽尺寸寸建立數據文文件,然后利利用所建數據據文件,通過過設計所給出出的軸徑尺寸寸檢索所需的的平鍵尺寸和和鍵槽尺寸。。基本過程:按記錄將表中中的平鍵尺寸寸和鍵槽尺寸寸建立數據文文件,一行一個記錄錄。平鍵和鍵槽槽尺寸的檢索索是根據軸徑徑進行的,而而此表中的軸軸徑給出了一一個下限和上上限范圍,可可將該下限和和上限軸徑數數據連同平鍵鍵和鍵槽尺寸寸一起存儲在在數據文件中中,這樣一個個記錄將包含含有軸徑下限限值d1、軸徑上限限值d2、鍵寬b、鍵高h、軸槽深t、轂槽深t1共6個數據據項。2.2工程程數據的文件件化處理#include“stdio.h”#definenum=###;;;/*###按實際記記錄賦值*/structkey_GB{floatd1,d2,b,h,t,t1;}key;/*定義鍵元素(結構體)*/voidmain(){inti;FILE*fp;if((fp=fopen(“key.dat”,“w”))==NULL)/*打開文件key.dat,用于寫入*/{printf(“Can’topenthedatafile”);exit();}for(i=0;i<num;i++){printf(“record/%d:d1,d2,b,h,t,t1=””,i);scanf("%f,%f,%f,%f,%f",%f”,&key.d1,&key.d2,&key.b,&key.h,&key.t,&key.t1);/*輸入各記記錄數據項*/fwrite(&key,sizeof(structkey_GB,1,fp)/*寫入入各記錄數據據項于文件中中*/}fclose(fp);}2.2工程程數據的文件件化處理#include“stdio.h”#definenum=###;;;/*###按實實際記錄賦值值*/structkey_GB{floatd1,d2,b,h,t,t1;}key;voidmain(){inti;FILE*fp;while(1){printf(“Pleaseinputthediameterofshaft:d=\n");scanf("%f”,&d);/*用用戶輸入軸徑徑尺寸*/if(d>8&&d<=85)break;elseprintf(“Thediameterdisnotinrange,inputagain!");}if((fp=fopen(“key.dat”,“r”))==NULL){printf(“Can’topenthedatafile”);exit();}/*打打開文件key.dat*/for(i=0;i<num;i++){fseek(fp,i*sizeof(structkey_GB),0);/*二進制方式打開文件,移移動文件讀寫寫指針位置.*/fread(&key,sizeof(structkey_GB,1,fp);/*讀出出文件key.dat中中的數據*/if(d>key.d1&&d<=key.d2){printf(“Thekey:b=%f,h=%f,t=%f,t1=%f”,key.b,key.h,key.t,key.t1);break;}/*檢檢索出具體值值*/}fclose(fp);}總結2.1工程程數據的程序化處理1)適用于數表、線圖以及經驗公式等;2)根據數據據中的參數個個數確定數組組的維數。2.2工程程數據的文件化處理1)適用于大型數據或需進行共享的數據;2)C語言的的文件操作函函數;3)若選用C++,文件件化的程序如如何編寫?((自學)作業書上,第27頁:1、3、4、5。。內容2.1工工程數據的的程序化處理2.2工工程數據的的文件化處理2.3工工程數據的的解析化處理2.4工工程數據的的數據庫管理理復習2.1工工程數據的的程序化處理1)適用于于那些工程程數據?2)如何判判斷程序化化處理中數數組的維數數?2.2工工程數據的的文件化處理1)適用于于那些工程程數據?2)C語言言的常用文文件操作函函數有那些些?3)若選用用C++,,文件化的的程序如何何編寫?2.3工工程數據的的解析化處處理解析化處理理是指將那那些數據間間有某種聯聯系或函數數關系的列表或線圖圖,采用公式化的方式進行行描述,從從而實現非離散數據據的查尋。2.3.1函數數插值基本思想::在插值點點附近選取取若干個合合適的連續續結點,通通過這些結結點設法構構造一個函函數g(x)以代替原原未知函數數f(x),插值點點的g(x)值就作為為原函數的的近似值。。2.3工工程數據的的解析化處處理例如表2-6中所示示的列表函函數,該數數表中的兩兩組數據(自變量和和因變量)之間存在在某種關系系,反映了了某種連最常用的近近似函數g(x)類型是代代數多項式式。根據所選結結點的個數數,可將函函數插值分分為:線性性插值、拋拋物線插值值和拉格朗朗日插值等等。2.3工工程數據的的解析化處處理1.線性插插值線性插值又又稱為一元元函數插值值或兩點插插值。根據據插值點x值選取兩個個相鄰的自自變量xi與xi+1,為簡簡便起見,,可將這兩兩自變量設設定為x1和x2,并滿足足條件x1≤x≤x2。過(x1,y1)、(x2,y2)兩結點點連線的直直線代替原原來的函數數f(x),如圖2.3所示示,則插值值點函數為為:2.3工工程數據的的解析化處處理上式可改寫寫為:可見,g1(x)是兩個基基本插值多多項式A1(x)和A2(x)的線性組組合。設:2.3工工程數據的的解析化處處理2.拋物線線插值線性插值只只利用了兩兩個結點(x1,y1)、(x2,y2)上的信信息,因此此精度很低低。若給定定三個結點點xi-1、xi與xi+1,同樣樣簡化為x1、x2、x3,其對應應函數值為為y1、y2、y3,則與線線性插值類類似,可構構造出相應應的二次多多項式y=g2(x)并使其滿滿足:上式是一個個不超過二二次的多項項式,稱為為二次插值。2.3工工程數據的的解析化處處理實際上,它它是通過三三個結點(x1,y1)、(x2,y2)、(x3,y3)的一一條拋物線線y=f(x),,因此,二二次插值又又稱三點插值、、拋物線插插值。2.3工工程數據的的解析化處處理3.拉格朗朗日插值若插值曲線線通過(x1,y1)、(x2,y2)、…,,(xn,yn)n個結點,則則可構建出出n個結點的(n-1)階插插值多項式式:上式稱為拉拉格朗日插插值多項式式2.3工工程數據的的解析化處處理2.3.2函數數擬合工程中常采采用數據的的函數擬合方法(又稱稱曲線擬合),所擬合合的曲線不不要求嚴格格通過所有有的結點,,而是盡量量反映數據據的變化化趨趨勢勢。函數數擬擬合合有有多多種種方方法法,,最最常常用用的的是是最小小二二乘乘法法。基本本處處理理步步驟驟::(1)在在坐坐標標紙紙上上標標出出列列表表函函數數各各結結點點數數據據,,并并根根據據其其趨趨勢勢繪出出大大致致曲曲線線;(2)根根據據曲曲線線確定定近似似的的擬合合函函數數類類型型,擬擬合合函函數數可可分分為為代代數數多多項項式式、、對對數數函函數數、、指指數數函函數數等等;;(3)用用最最小小二二乘乘法法原原理理確定定函數數中中的的待定定系系數數。2.3工工程程數數據據的的解解析析化化處處理理下面以最簡單單的線性函數數說明最小二二乘法的運用用。對于某一列表表函數,若所所有結點呈現現出一種線性性變化規律,,則可用直線線方程f(x)=a+bx進行描述,最最小二乘法處處理的任務就就是要求出直直線方程中的的待定系數a和b。由左圖所示的的各結點到所所擬合直線偏偏差的平方和和為:可見,所擬合合函數的偏差差平方和是結點系數a、b的函數。如何何選取結點系系數a、b,使偏差平方方和最小,這就是是最小二乘法法的實質。2.3工程程數據的解析析化處理令將代入上式求其偏導數數,得:從而可方便地地求得:式中,分分別別為列表函數數自變量和因因變量的平均均值。將求取取的數a、b代入直線方程程f(x)=a+bx,即可求得最最終的擬合函函數。2.3工程程數據的解析析化處理求出指數函數數中真正的系系數a和b。。若列表函數中中的自變量和和因變量成指指數函數關系系:y=abx仍可用最小二二乘法求取指指數函數中的的系數a和b對式y=abx兩邊取對數得得令則最小二乘法對對上述方程系系數u和v進行求解,然然后根據內容2.1工程程數據的程序化處理2.2工程程數據的文件化處理2.3工程程數據的解析化處理2.4工程程數據的數據庫管理2.4工程程數據的數據據庫管理對于規模較小小的工程設計計任務,采用用程序化、文文件化管理是是可行的。但但若數據量十十分龐大、結結構復雜,并并且操作要求求高,采用數數據庫管理方方式則更為有有效。2.4.1數數據庫技技術的特點數據模型的復雜性和結構化數據的共享性數據的獨

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論