【正文】
lidWorks中運行,則單擊菜單欄中的“工具”→“宏”→“運行”命令,選擇源文件即可;,直接運行即可。 (3)選擇文件?,F(xiàn)簡要介紹用Visual Basic開發(fā)SolidWorks的一般步驟: (1)安裝SolidWorks和Visual Basic。另一種開發(fā)是基于COM的,這種技術(shù)可以使用最多的so1idworkSAPI(運用程序界面)。 Solidworks API的部分對象任何支持OLE(對象的鏈接與嵌入)和COM(組件對象模型)的編程語言都可以作為so1idworkS的開發(fā)工具。solidworks支持OLE標(biāo)準(zhǔn),完全實現(xiàn)了OLE自動化。雖然solidworks操作簡單,功能強大,容易上手,可以最大限度地滿足設(shè)計者的設(shè)計意圖,但它也不是十全十美的,不可能滿足所有企業(yè)的特殊要求。 同時 SolidWorks具有良好的開放性和兼容性, 可以和多種軟件集成。各零件之間的尺寸約束方程式可利用SolidWorks中工具菜單下的方程式子菜單設(shè)置完成。組件中各個零件之間要設(shè)定尺寸約束方程式。零件模塊模板是組件模塊模板建立的基礎(chǔ)。用VB調(diào)用SolidWorks API來讀取各個零件和它們對應(yīng)的尺寸驅(qū)動參數(shù),并利用上節(jié)講到的零件模塊參數(shù)化的方法,實現(xiàn)了組件模塊的自動幾何建模。相反,約束方程定義越準(zhǔn)確越完備,組件模塊中參數(shù)匹配結(jié)果也就越準(zhǔn)確。當(dāng)給定一個組件模塊幾何模型時,必須定義它的約束方程。Private Sub Command3_Click(Index As Integer)Dim swApp As ObjectDim swPart As ObjectSet swApp = CreateObject()Set swPart = If Then(D1草圖3).SystemValue = CDbl() / 1000End IfIf Then(D1草圖2).SystemValue = CDbl() / 1000End IfIf Then(D1草圖4).SystemValue = CDbl() / 1000End IfIf Then(D1拉伸3).SystemValue = CDbl() / 1000End IfIf Then(D1拉伸2).SystemValue = CDbl() / 1000End IfIf Then(D1拉伸4).SystemValue = CDbl() / 1000End IfEnd Sub 數(shù)控機(jī)床組件模塊的自動幾何建模原理數(shù)控機(jī)床組件模塊是由一定尺寸約束關(guān)系的多個零件組裝而成的,具有一定功能的模塊。 尺寸的參數(shù)驅(qū)動就是指零件模塊模板中的主參數(shù)按照用戶自己輸入的值或者根據(jù)數(shù)據(jù)庫中的值生成新的圖形文件的過程。因此為了方便輸入數(shù)據(jù)并使數(shù)據(jù)的含義與數(shù)控機(jī)床設(shè)計手冊中的一致,模板制作時應(yīng)該設(shè)定尺寸參數(shù)名稱。其中參數(shù)名稱是由數(shù)控機(jī)床設(shè)計人員根據(jù)機(jī)床設(shè)計手冊中的相應(yīng)參數(shù)名稱設(shè)定的。下面是作者在SolidWorks平臺上實現(xiàn)的數(shù)控機(jī)床模塊尺寸驅(qū)動參數(shù)名稱提取的核心代碼:Dim message As String Dim swDim As Object Dim swPart As Object Dim swFeat As Object Dim swDispDim As Object Dim FeatStatus As Boolean Dim Number As Integer Set swApp = CreateObject() Set swPart = If swPart Is Nothing Then MsgBox 未打開任何零件文檔! Exit Sub End If Set swFeat = FeatStatus = False Number = 0 While Not swFeat Is Nothing message = If message 原點 Then If FeatStatus = True Then If Left(message, 2) 草圖 Then Set swDispDim = While (Not swDispDim Is Nothing) Set swDim = If = swDimensionParamTypeDoubleLinear Then Str(Number) + ** + + = + Str() + mm Str(Number) + ** + + = + Str() + deg End If Number = Number + 1 Set swDispDim = (swDispDim) Wend Else FeatStatus = True End If Set swFeat = WendEnd Sub一般尺寸驅(qū)動參數(shù)全名如“H草圖1”所示。如何從數(shù)控機(jī)床模板中提取尺寸參數(shù)名稱是數(shù)控機(jī)床模塊參數(shù)化建模的關(guān)鍵技術(shù)之一。零件模塊模板參數(shù)化建模的關(guān)鍵技術(shù)是尺寸變量名的提取和尺寸變量的導(dǎo)入建模。輔助參數(shù)的值可由主參數(shù)的值決定。模板的參數(shù)分為主參數(shù)和輔助參數(shù)。數(shù)控機(jī)床模板即為帶有屬性的,參數(shù)化的數(shù)控機(jī)床圖形。規(guī)格L草圖W草圖H基本拉伸…提取參數(shù)名稱X1101020…X2203050…X3304050…....…參數(shù)驅(qū)動視圖尺寸驅(qū)動 參數(shù)化零件零件模板 尺寸驅(qū)動原理圖所謂模板是具有屬性的,參數(shù)化的,大小可變的三維幾何實體。需要修改時只要改變相應(yīng)的尺寸變量就可以修改圖形形狀。 數(shù)控機(jī)床零件模塊的自動幾何建模原理數(shù)控機(jī)床零件模塊自動幾何建模主要基于三維造型中的尺寸驅(qū)動原理。不同的模塊結(jié)構(gòu),建模方式是不一樣的。這種技術(shù)實現(xiàn)了零件模型與語言程序的有效分離,使它們之間的耦合性變小。而尺寸驅(qū)動的過程是在零件幾何特征不變的約束下,把零件的尺寸參數(shù)作為變量,給定尺寸驅(qū)動的值,即可生成相應(yīng)參數(shù)的零件的過程。所謂尺寸驅(qū)動思想通俗的講指所繪制的圖,經(jīng)過標(biāo)注尺寸后,允許任意修改尺寸值,繪圖系統(tǒng)自動保持圖形與最新尺寸保持一致的圖形編輯方法。 SolidWorks中系列零件設(shè)計表尺寸驅(qū)動原理 尺寸驅(qū)動原理從外部編程角度操作三維CAD軟件提供的API對象,實現(xiàn)自動建模。這樣就可以利用語言編程方便地來實現(xiàn)自動化造型。比如六角頭螺栓的模型,首先,建立一個六角頭螺栓的CAD模型,錄制其繪制過程,建立一宏文件(即內(nèi)部編程)。在SolidWorks 。保存此工作表,然后將其插入模型文件以生成配置;2)在模型中插入一個新的、空白的系列零件設(shè)計表,然后直接在工作表中輸入系列零件設(shè)計表資料。對于一個模板文件,如果要生成系列零件設(shè)計表,則必須在模板中定義想要生成配置的名稱,指定要控制的參數(shù),并為每個參數(shù)分配數(shù)值。它為一個系列的零件提供關(guān)鍵的驅(qū)動數(shù)據(jù)。首先對數(shù)控機(jī)床的功能進(jìn)行分解,將數(shù)控機(jī)床的總的功能分解為不同的功能元,根據(jù)不同功能元之間的相關(guān)性定性的進(jìn)行模塊聚類,其次按照結(jié)構(gòu)將已經(jīng)聚類的功能模塊對應(yīng)的零部件分解出來,再根據(jù)各個零部件之間在制造和裝配上的相關(guān)性進(jìn)行分析,最終將兩次分析的結(jié)果綜合起來,得到更為細(xì)小的具有不同用途或性能的模塊。定性法相比定量法復(fù)雜度低,比較直觀、簡便,易于實現(xiàn),但是劃分結(jié)果表現(xiàn)不穩(wěn)定,結(jié)果的好壞依賴于實際問題、經(jīng)驗和設(shè)計師的技術(shù),設(shè)計師的主觀性對劃分結(jié)果影響很大;定量法以某種算法來尋找最優(yōu)模塊劃分方案,以遺傳算法與模擬退火算法為典型代表,這兩種方法為模塊劃分的優(yōu)化問題提供了一條高效的數(shù)學(xué)計算途徑,但是算法的復(fù)雜程度隨著產(chǎn)品復(fù)雜度的增加而呈指數(shù)增長,因此研究復(fù)雜產(chǎn)品的模塊劃分方法至關(guān)重要。給定固體的初始狀態(tài)i,其狀態(tài)的能量為Ei;然后用攝動裝置使粒子的位移隨機(jī)產(chǎn)生一個微小變化,并得到新狀態(tài)j,對應(yīng)的能量為Ej,固體是否接受新狀態(tài)需要根據(jù)該準(zhǔn)則: 一些學(xué)者將該準(zhǔn)則應(yīng)用于模塊劃分過程中,將模塊劃分的最優(yōu)解類比于固體退火的能量最低的狀態(tài),給定模塊的初始劃分,應(yīng)用Metropolis算法進(jìn)行模塊劃分過程的迭代,最后得到最優(yōu)的模塊劃分方案。2)基于模擬退火算法的模塊聚類模擬退火算法是上個世紀(jì)80年代提出的一種適合于解決大規(guī)模組合優(yōu)化問題的方法。遺傳算法同其他聚類方法有較好的兼容性,如可以用其他聚類方法求得初始解。(3)模塊劃分的定量分析1)基于遺傳算法的模塊聚類遺傳算法(Genetic Algorithm, GA)是模擬自然界生物進(jìn)化機(jī)制的一種算法,近年來已經(jīng)在許多領(lǐng)域得到了應(yīng)用。 3)模糊聚類方法模糊聚類方法采用λ———截矩陣對產(chǎn)品的模似矩陣進(jìn)行截割,從而將單元聚類為不同的模塊,過程如下:將產(chǎn)品的相關(guān)度矩陣轉(zhuǎn)化成產(chǎn)品的模糊相陣:對于任意的模塊劃分粒度度量值λ∈[01],Rλ=[γ(λ)ij]為模糊矩陣R的λ截矩陣,其中,對λ取不同的數(shù)值,得到相似度矩陣R的λ截矩陣Rλ,在Rλ的主對角線上填入單元,在主對角線下方,以“*”代替1,以空格代替0。Stone等提出一種啟發(fā)式模塊創(chuàng)建方法,首先建立由功能元所表示的產(chǎn)品的功能模型,然后在功能模型中表示出產(chǎn)品的能量流、物料流、信號流以及力等,最后根據(jù)支配性流、分支流以及轉(zhuǎn)換傳輸流將功能元聚合成模塊。其中n為產(chǎn)品所包含的單元數(shù),Cij為 i單元與j單元的相關(guān)度系數(shù)。如Victor等中考慮功能和結(jié)構(gòu)相關(guān)進(jìn)行了單元間的相關(guān)度分析,得到單元間相關(guān)度系數(shù)為:cij———兩單元的相關(guān)度系數(shù);PHij———結(jié)構(gòu)相關(guān)度系數(shù);FCij———功能相關(guān)度系數(shù);wPij———結(jié)構(gòu)相關(guān)度權(quán)重;wFij———功能相關(guān)度權(quán)重;對于權(quán)重w,設(shè)計者可根據(jù)經(jīng)驗直接指定,也可以采用層次分析法中的權(quán)重計算方法進(jìn)行計算。(1)相關(guān)性分析相關(guān)性分析即分析單元間的關(guān)聯(lián)程度、相互影響程度,以此作為模塊聚類的依據(jù)。定性是指非數(shù)值計算方法,主要采用啟發(fā)式以及樹圖等進(jìn)行模塊的聚類;定量是指數(shù)值計算方法,采用各種算法進(jìn)行聚類。 模塊的聚類方法在基本單元劃分的基礎(chǔ)上,通過各種聚類方法將單元聚類為模塊,完成模塊的劃分。Victor等進(jìn)一步細(xì)化了模塊化設(shè)計的生命周期驅(qū)動因素來進(jìn)行模塊構(gòu)建。Gu等考慮了產(chǎn)品生命周期中的多種因素,提出了一種面向產(chǎn)品生命周期的多目標(biāo)(易于回收性、可升級、可重復(fù)用、重構(gòu)等)的模塊劃分方法。產(chǎn)品的生命周期從產(chǎn)品的市場需求開始到回收利用結(jié)束,涉及到多個過程、多方面因素,均對模塊的劃分產(chǎn)生或多或少的影響。黃海鴻等從壽命分析、材料相容性、回收經(jīng)濟(jì)性、環(huán)境影響、結(jié)構(gòu)與物理交互5個方面,建立了面向回收的模塊劃分準(zhǔn)則。不同的模塊有不同的壽命周期,設(shè)備報廢后,它的某些模塊的壽命并沒有結(jié)束,可以重用或者回收。隨著人們環(huán)境意識的提高,產(chǎn)品的環(huán)境屬性及其回收利用性能成為模塊化設(shè)計的重要目標(biāo)。Tseng等應(yīng)用零部件間聯(lián)接件的工程參數(shù),如聯(lián)接類型、聯(lián)接方向、拆卸工具以及連接器所聯(lián)接的零部件的信息,作為模塊劃分的標(biāo)準(zhǔn)。產(chǎn)品劃分的模塊越多,接口就越多,裝配中考慮的因素也越多,對裝配過程和裝配質(zhì)量影響也越大。(3)面向使用、裝配和維修的模塊劃分如果用戶需要經(jīng)常對產(chǎn)品的某些部分進(jìn)行更換或維護(hù)時,產(chǎn)品模塊劃分通常側(cè)重于面向裝配和維修,在這一類模塊劃分中,應(yīng)重點考慮的是裝卸和接口方面的問題。(2)面向制造的模塊劃分如果產(chǎn)品的市場需求相對穩(wěn)定,而制造過程比較復(fù)雜,模塊劃分通常側(cè)重于面向制造,在模塊劃分中應(yīng)重點考慮加工方面的問題。鏈?zhǔn)浇Y(jié)構(gòu)(串聯(lián)):各分功能按順序相繼作用;并列結(jié)構(gòu)(并聯(lián)):各分功能并列作用;循環(huán)結(jié)構(gòu)(回路):分功能成環(huán)狀循環(huán)回路,體現(xiàn)反饋作用。同樣的,數(shù)控機(jī)床的功能分解也要有利于其功能一結(jié)構(gòu)映射的求解,有利于其模塊劃分的實施。然而功能分解并不能無限制地進(jìn)行下去,分解至哪一層合適,要視模塊化設(shè)計對象的具體情況而定。西方國家越來越多地采用“功能模塊化”設(shè)計方法。模塊設(shè)計特別適用于生產(chǎn)批量較小的系列產(chǎn)品。由于考慮模塊的適應(yīng)性和互換性,系統(tǒng)比較復(fù)雜,層次編排沒有程序化設(shè)計清晰。模塊化設(shè)計對產(chǎn)品的功能及模塊劃分進(jìn)行了精心研究,保證了它的性能,使產(chǎn)品性能穩(wěn)定可靠。產(chǎn)品維修時,只須更換損壞的模塊,維修方便、快捷。模塊化后,同一個功能模塊可用于數(shù)種產(chǎn)品,增大了該模塊的生產(chǎn)數(shù)量,還便于采用先進(jìn)工藝、成組技術(shù)等,縮短了設(shè)計時間,從而降低了產(chǎn)品成本,提高了產(chǎn)品質(zhì)量。當(dāng)用戶提出要求后,只需更換部分模塊,或設(shè)計、制造個別模塊即可獲得所需產(chǎn)品,這樣就大大縮短了設(shè)計和制造周期。如計算機(jī)制造就是改變其中某些插件(模塊),提高了計算機(jī)的性能。其中功能模塊化設(shè)計的特點:1)產(chǎn)品更新?lián)Q代快。就數(shù)控機(jī)床這樣的機(jī)械產(chǎn)品而言,功能就是產(chǎn)品必須解決的問題,以及為解決此問題產(chǎn)品應(yīng)完成的動作和發(fā)揮的作用?!‘a(chǎn)品的功能分解過程面向設(shè)計的模塊劃分的基礎(chǔ)是功能分析,功能分析是目前模塊劃分的主要依據(jù),側(cè)重功能分析或者以功能分析為主綜合考慮其他因素的模塊化設(shè)計方法研究較多。因此,可以根據(jù)模塊劃分所面向的生命周期中的具體階段,把模塊劃分為:(1)面向設(shè)計的模塊劃分當(dāng)某類產(chǎn)品的市場需求種類較多或者需求的變化較快時模塊劃分通常側(cè)重于面向設(shè)計主要根據(jù)產(chǎn)品各個組成部分之間功能上的相關(guān)程度進(jìn)行模塊劃分,即對產(chǎn)品的總功