91色色视频手机版_久久综合亚洲色hezyo_欧美精品色精品一区二区三区_色欲v国产日韩欧美精品视频_久久91超碰色中文字幕总站

歡迎光臨深圳市凱迪賢模具有限公司官網(wǎng)!
0755-26825352
18948189678
AutoCAD結合MATLAB實(shí)現公式曲線(xiàn)曲面的精確繪制

/ 2021/6/5 10:43:51

一、引言
   
    用AutoCAD繪制平面公式曲線(xiàn)如漸開(kāi)線(xiàn)、心形線(xiàn))、空間公式曲線(xiàn)如螺旋線(xiàn))以及公式曲面如馬鞍形曲面)是比較困難的,一般情況下,需要用 AutoCAD開(kāi)發(fā)程序編程,但多數程序比較復雜,尤其是公式曲面的繪制程序,需要多層嵌套循環(huán),復雜且運行效率低。
   
    快速且精確地繪制各種公式曲線(xiàn)、曲面恰恰是MATLAB的長(cháng)項,但是MATLAB繪制的圖形卻不能直接用于機械零件設計。其中非常關(guān)鍵的一點(diǎn),就是 MATLAB繪制的曲線(xiàn)、曲面分別是由有限個(gè)點(diǎn)連接而成的折線(xiàn)和空間網(wǎng)格構成的,而在A(yíng)utoCAD中繪制的曲線(xiàn)、曲面也是如此。因此,只需要把在 MATLAB中繪制的公式曲線(xiàn)、曲面上所有的點(diǎn)坐標數據都提取出來(lái),若能讓AutoCAD正確識別,那么我們就可以在A(yíng)utoCAD中精確地繪制這些曲線(xiàn)、曲面了。
   
    本文介紹了一種快速、精確地繪制各種公式曲線(xiàn)、曲面的方法,即在A(yíng)utoCAD中通過(guò)調用經(jīng)過(guò)Excel處理的MATLAB數據實(shí)現。
   
    二、AutoCAD和MATLAB的特點(diǎn)
   
    MATLAB是非常優(yōu)秀的科學(xué)計算、信號處理以及圖形顯示軟件,它有自身的語(yǔ)言,與其他高級語(yǔ)言相比,MATLAB提供了一個(gè)人機交互的數學(xué)環(huán)境,并以矩陣作為基本的數據結構,可大大節省編程時(shí)間。另外,MATLAB不僅語(yǔ)法規則簡(jiǎn)單,容易掌握,調試方便,還可以存儲中間結果,這使得MATLAB既可以快捷、精確地繪制各種公式曲線(xiàn)、曲面,又可以很方便地提取中間數據。
   
    在工業(yè)設計領(lǐng)域,AutoCAD不僅被廣泛應用于平面繪圖,也可以用于三維建模,但在曲線(xiàn)、曲面造型方面不是很理想。它是開(kāi)放型的人機交互系統,有多種語(yǔ)言接口,與外界的數據交換很靈活,這些特點(diǎn)使得它與MATLAB的結合成為可能。
   
    三、結合MATLAB在A(yíng)utoCAD中繪制曲線(xiàn)、曲面的原理及方法
   
    1.原理
   
    MATLAB中的矩陣數據雖然很容易提取,但由于它不是AutoCAD能識別的格式,因此不能直接被AutoCAD調用,需要先用Excel對從MATLAB中提取的數據進(jìn)行編輯,轉換成AutoCAD可以識別的格式,才能在A(yíng)utoCAD中繪出曲線(xiàn)、曲面。
   
    2.方法
   
    由于在A(yíng)utoCAD中繪制平面曲線(xiàn)、空間曲線(xiàn)和曲面的繪制命令不同,且數據結構也不同,因此結合MATLAB的繪制方法也稍有區別。這種繪制方法的關(guān)鍵就是把數據格式轉換成AutoCAD的繪制命令所需要的數據格式,只要熟悉AutoCAD的數據結構,就可以舉一反三。
   
    在這三者中最復雜的是繪制公式曲面的數據結構,下面就以一個(gè)馬鞍形曲面的繪制為例來(lái)介紹這種方法,數學(xué)模型如公式(1)所示。
    



    (1)利用MATLAB得到公式曲面數據
   
    1)在MATLAB中繪制出曲面
   
    在MATLAB中輸入如下命令
   
    [th,r]=meshgrid((0:5:360)*pi/180,0:.05:1); %在極坐標系下設置一個(gè)73×21的網(wǎng)格矩陣,即圓周方向分為73份,半徑方向分為21份,總共分了1533個(gè)點(diǎn),節點(diǎn)越多,圖形越精確 %
   
    [X,Y]=pol2cart(th,r); %轉化為笛卡兒坐標系%
    Z=X+i.*Y;
    F=abs((Z.^4-1).^(1/4));
    surf(X,Y,F); %顯示曲面的立體圖形%
    S=[X(:) Y(:) F(:)]; %把X、Y、F 3個(gè)矩陣中的數據存儲到矩陣S中%
   
    運行后得到曲面圖形,如圖1所示。



圖1 MATLAB中繪制的曲面


    2)提取點(diǎn)坐標
   
    在MATLAB的“Workspace”窗口中可以看到S是個(gè)1533×3的矩陣,即表示有1533個(gè)點(diǎn)的坐標,每個(gè)點(diǎn)有三個(gè)坐標參數,雙擊打開(kāi)S,則彈出“Array EditorS”窗口,窗口表格中的數字就是矩陣的數據。
   
    先將全部數據復制到剪貼板,下面用Excel對坐標數據進(jìn)行數據處理。



    (2)利用Excel編輯曲面數據
   
    打開(kāi)Excel,將保存在剪貼板里的數據粘貼到Excel表格里,得到三列數據,每列1533行。其中,A、B、C列中的數據分別是曲面上各點(diǎn)的笛卡兒坐標系中的X、Y、Z值,而在A(yíng)utoCAD中的笛卡兒坐標系的點(diǎn)坐標的輸入形式為“x,y,z”,所以我們需要對A、B、C列的數據間加個(gè)“,”。 


 


    方法是點(diǎn)選中D1D表示第D列,1表示第1行)格,在公式欄里輸入“=A1&","&B1&","& C1”后回車(chē),再將光標放到D1格的左下角,當光標變成黑色十字時(shí),按住鼠標左鍵向下拖動(dòng),一直到D1533格,這時(shí)D列的數據格式已經(jīng)變成了“X,Y, Z”,就可以被AutoCAD正確讀取了。復制D列數據到剪貼板后,就可以在A(yíng)utoCAD中繪制曲面了,如圖2所示。



圖2 在Excel中編輯后的曲面數據


    3.在A(yíng)utoCAD中繪制曲面
   
    在A(yíng)utoCAD中運行3dmesh三維網(wǎng)格)命令,命令行提示“Enter size of mesh in M direction: ”,輸入“73”后回車(chē),命令行提示“Enter size of mesh in N direction: ”,輸入“21”后再回車(chē),即73×21的網(wǎng)格矩陣),然后在命令行中粘貼剪貼板中的數據,程序將自動(dòng)運行,結束后就得到了馬鞍形曲面,如圖3所示。



圖3 網(wǎng)格矩陣為73×21的馬鞍形曲面


   特別需要注意的是,在運行3dmesh命令時(shí)的網(wǎng)格矩陣一定要和MATLAB中的相同,否則將得到錯誤圖形或運行出錯。如果輸入的網(wǎng)格節點(diǎn)數不等于1533,則命令運行出錯;如果輸入成21×73的網(wǎng)格,則命令執行結束后將得到錯誤的圖形,如圖4所示。



圖4 網(wǎng)格矩陣為21×73的錯誤圖形


    四、結束語(yǔ)
   
    用這種方法得到的公式曲線(xiàn)、曲面不是貼圖,而是實(shí)際繪出和AutoCAD圖元,不僅可以在MATLAB中控制精度,還可以被用于進(jìn)行各種相應發(fā)的命令操作,比如復制、鏡像、拉伸放樣、旋轉放樣或用鼠標直接拖動(dòng)任意節點(diǎn)來(lái)調整圖形等等。AutoCAD結合MATLAB實(shí)現公式曲線(xiàn)、曲面的繪制,加強了 AutoCAD在曲線(xiàn)、曲面造型方面的功能,使其在輔助設計方面發(fā)揮更大的作用。



服務(wù)熱線(xiàn)

0755-26825352

企業(yè)微信銷(xiāo)售咨詢(xún)