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

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

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

 

2.3 基于SolidWorks平臺(tái)的算法實(shí)現(xiàn)


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


 

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


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



 

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


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


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


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


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


    4)編寫優(yōu)化算法,實(shí)現(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)化算法的實(shí)現(xiàn)服務(wù)。在此基礎(chǔ)土,約束優(yōu)化算法可以利用Visual C++的編程環(huán)境輕松實(shí)現(xiàn)。在SolidWorks平臺(tái)下加載的截面草圖曲線約束優(yōu)化對話框,其中第1個(gè)按扭選擇草圖平面,第2個(gè)按鈕選擇需要擬合的數(shù)據(jù)點(diǎn)列,并對數(shù)據(jù)點(diǎn)進(jìn)行排序、分段處理。第3個(gè)按鈕用于用戶定義所選曲線的幾何約束關(guān)系。優(yōu)化因子則是進(jìn)行L-M迭代求解時(shí)主約束與普通約束間的比例囚子。通過調(diào)節(jié)優(yōu)化因子的大小可以得到滿足不同誤差要求的優(yōu)化曲線。



 

3 案例實(shí)現(xiàn)


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



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


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

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

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

全國服務(wù)熱線

1358-032-9919

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