SolidWorks截面草圖曲線約束優(yōu)化技術(shù)(五)

2013-07-18  by:廣州SW培訓(xùn)中心  來源:仿真在線

SolidWorks截面草圖曲線約束優(yōu)化技術(shù)(五)

 

2.3 基于SolidWorks平臺的算法實現(xiàn)


    SolidWorks軟件通過對象鏈接與嵌套(OLE)或者組件對象模型(COM)為用戶提供了功能強大的二次開發(fā)接口(API),其中包含了豐富的功能函數(shù),這些函數(shù)提供程序員直接訪問SolidWorks的能力,可以被VB、C/C++等編程語言調(diào)用,從而創(chuàng)建出用戶定制的、專業(yè)化的SolidWorks應(yīng)用模塊。因此截面草圖曲線的約束優(yōu)化算法在SolidWorks平臺下可以較為方便地實現(xiàn)。Visuai C++與SolidWorks有極好的連接性,能夠最大程度地使用SolidWorks API。使用Visual C++作為SolidWorks二次開發(fā)的工具,在Visual C++6.0環(huán)境下定制自己的菜單和對話框,通過生成動態(tài)鏈接庫DLL文件,以插件的形式被SolidWorks加載并調(diào)用。具體的約束優(yōu)化算法則可以在對話框的消息響應(yīng)函數(shù)中編寫。


 

2.3.1 截面輪廓數(shù)據(jù)點分段和初始草圖曲線重建


      截面輪廓數(shù)據(jù)點分段與識別技術(shù)在逆向工程、計算機視覺以及模式識別等領(lǐng)域中處于十分重要的地位,輪廓分段的精確程度直接影響著計算機后續(xù)識別的準確性。對于點云切片得到的截面輪廓數(shù)據(jù)點,通常采用曲率估算法實現(xiàn)數(shù)據(jù)點的分段與識別。根據(jù)截面輪廓數(shù)據(jù)點的曲率分布特性提取角點、切點等特征點,然后利用這些特征點進行數(shù)據(jù)分段,并判斷出每個分段數(shù)據(jù)的最佳擬合曲線類型,確定相應(yīng)的目標函數(shù)進行分段擬合,最終創(chuàng)建初始草圖曲線。如果通過已有的點云切片數(shù)據(jù)不能直接獲取草圖曲線,可以使用SolidWorks的草圖設(shè)計功能構(gòu)建,同時需要用戶在曲線間手動添加相應(yīng)的約束條件。對于直接得到的初始曲線,曲線分段則比較每一個點與所有曲線段之間的距離,若點到某一曲線的距離最近,即可認為該點屬于那段曲線。所示為截面輪廓數(shù)據(jù)點分段和初始草圖曲線構(gòu)建的案例分析。所示為經(jīng)過去噪、平滑等預(yù)處理的某凸輪截面輪廓數(shù)據(jù)點;所示為截面輪廓數(shù)據(jù)點進行離散曲率分析的結(jié)果;所示為數(shù)據(jù)分段所依據(jù)的特征點;所示為凸輪截面輪廓的初始草圖曲線,利用該曲線可以確定數(shù)據(jù)點列的走勢,并將其輸人到SolidWorks的曲線分析工具中做進一步的調(diào)整和修改。



 

2.3.2 約束優(yōu)化算法實現(xiàn)


    約束優(yōu)化算法的實現(xiàn)分為以下幾步:


    1)讀取點云切片數(shù)據(jù)點列,并將數(shù)據(jù)點排序;


    2)截面輪廓數(shù)據(jù)點分段處理,各段擬合得到切始草圖曲線;


    3)讀取草圖曲線段間的各種約束關(guān)系,并將其解釋成相應(yīng)的約束表達式;


    4)編寫優(yōu)化算法,實現(xiàn)約束優(yōu)化。


    在編與優(yōu)化算法程序的過程中、需要用到SolidWorks提供的許多接口函數(shù),如草圖插入函數(shù)Skeich Managerrr→InsertSketrh(),草圖曲線獲取函數(shù)Sketch Segment→CetCurvr()、草圖曲線約束獲取函數(shù)Sketrh Segment→IGetConStraints()和樣條曲線生成函數(shù)ModelDoc2→SketchSpline()等。通過這些函數(shù)可以從SolidWorks中獲取模型的各種數(shù)據(jù)參數(shù),為約束優(yōu)化算法的實現(xiàn)服務(wù)。在此基礎(chǔ)土,約束優(yōu)化算法可以利用Visual C++的編程環(huán)境輕松實現(xiàn)。在SolidWorks平臺下加載的截面草圖曲線約束優(yōu)化對話框,其中第1個按扭選擇草圖平面,第2個按鈕選擇需要擬合的數(shù)據(jù)點列,并對數(shù)據(jù)點進行排序、分段處理。第3個按鈕用于用戶定義所選曲線的幾何約束關(guān)系。優(yōu)化因子則是進行L-M迭代求解時主約束與普通約束間的比例囚子。通過調(diào)節(jié)優(yōu)化因子的大小可以得到滿足不同誤差要求的優(yōu)化曲線。



 

3 案例實現(xiàn)


    基于SolidWorks平臺的二次開發(fā),實現(xiàn)基于點云切片數(shù)據(jù)的截面草圖曲線約束優(yōu)化重建技術(shù),使得該技術(shù)與SolidWorks本身的曲面建模功能相結(jié)合,可以靈活地實現(xiàn)復(fù)雜外形的模型重建。圖6所示為電吹風(fēng)機截面優(yōu)化CAD模型重建的案例。為該電吹風(fēng)機的原始點云數(shù)據(jù),其中包含了68327個數(shù)據(jù)點,且表面幾何特征不規(guī)則,難以采用直接擬合的方法得到精確的曲面模型。因此,首先將原始點云分割為手柄點云和吹風(fēng)機外殼點云。其次對這兩部分點云分別用1組平行平面切片,共創(chuàng)建29個草圖平面,進而得到截面點云數(shù)據(jù),通過對各個草圖上的數(shù)據(jù)點列單獨進行約束優(yōu)化擬合,最終得到截面草圖曲線集。是切片得到的截面點云,是截面點云經(jīng)過約束優(yōu)化后得到的截面曲線集。簡單列舉了的草圖曲線幾何約束定義的兩種情況,主要是直線和圓弧段間的相切約束關(guān)系。是根據(jù)截面曲線集蒙皮或者放樣,并且經(jīng)過SolidWorks編輯得到的曲面模型。是在曲面模型基礎(chǔ)上重建的CAD模型。在CAD模型重建過程中,需耍利用SolidWorks軟件的曲面編輯功能對所得到曲面進行延伸。剪裁、縫合、加厚和切除等操作,自是終完成CAD模型的重建工作。



      該實例利用L-M迭代方法進行約束優(yōu)化求解,從輸出報告中可以看到優(yōu)化前、后數(shù)據(jù)點與曲線之間的平均誤差和標準偏差都得到了大大改善,同時各種約束條件的誤差都達到了設(shè)定的要求。


開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標簽搜索:SolidWorks截面草圖曲線約束優(yōu)化技術(shù)(五) SolidWorks產(chǎn)品設(shè)計 二次開發(fā) SolidWorks培訓(xùn)課程 SolidWorks設(shè)計教程 SolidWorks視頻教程 SolidWorks軟件下載 SolidWorks在建筑室內(nèi)設(shè)計工業(yè)設(shè)計的應(yīng)用 SolidWorks基礎(chǔ)知識 SolidWorks代做 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復(fù)電話,謝謝!
驗證碼

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com