老司机亚洲精品影院,网址永久国产成人,久久亚洲私人国产精品,色婷婷久久综合中文久久蜜桃av 91精品国产mcu-久久93精品国产91久久综合-91精品国产自产91精品-911亚洲精品

歡迎光臨深圳市凱迪賢模具有限公司官網!
0755-26825352
18948189678
AutoCAD結合MATLAB實現公式曲線曲面的精確繪制

/ 2021/6/5 10:43:51

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



    (1)利用MATLAB得到公式曲面數據
   
    1)在MATLAB中繪制出曲面
   
    在MATLAB中輸入如下命令
   
    [th,r]=meshgrid((0:5:360)*pi/180,0:.05:1); %在極坐標系下設置一個73×21的網格矩陣,即圓周方向分為73份,半徑方向分為21份,總共分了1533個點,節(jié)點越多,圖形越精確 %
   
    [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個矩陣中的數據存儲到矩陣S中%
   
    運行后得到曲面圖形,如圖1所示。



圖1 MATLAB中繪制的曲面


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



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


 


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



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


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



圖3 網格矩陣為73×21的馬鞍形曲面


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



圖4 網格矩陣為21×73的錯誤圖形


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



服務熱線

0755-26825352

企業(yè)微信銷售咨詢