張伶俐, 張皋鵬
(四川大學 輕紡與食品學院, 四川 成都 610065)
服裝CAD制版是計算機輔助設計在服裝生產技術應用中最重要的技術之一,目前國內外服裝CAD應用軟件主要包括美國格柏系統、法國力克系統、德國艾維斯特[1]以及國內的富怡、日升、樵夫和博克等[2]。這些軟件的服裝制版模式大部分采用人工制版模式,即通過設定服裝結構模型和尺寸規格,人工計算服裝內部結構尺寸,利用電腦和鼠標模擬紙、筆進行計算機制圖。由于各部位的尺寸計算及結構線的繪制都相對獨立,一旦服裝尺寸或服裝款式發生變化,服裝的結構圖需要人工重新制圖或修改,雖然服裝CAD軟件能夠自動放碼,但只適合于服裝標準尺寸規格的整體縮放,不能對個別尺寸的變化進行自動修正,大大降低了服裝CAD制版對個性化服裝制版的自動和快速響應能力。
目前解決上述問題的有效方法是開發參數化服裝制版的CAD技術,這也是服裝CAD技術發展的趨勢[3]。參數化制圖是以參數化為設計思想,將與人體體型特征密切相關的服裝關鍵部位的尺寸作為服裝制版的約束值(可變的參數),通過建立反映服裝結構幾何特征和內部尺寸規格的數學模型,設置或開發服裝尺寸規格自動化計算和結構線智能化繪制模型或軟件,實現服裝制版的參數化目標。該技術的應用可實現服裝個性化定制的快速制版需求。經過參數化處理的服裝結構圖,可通過服裝關鍵部位的尺寸設定和變化,實時地快速繪制出與之相應的服裝結構圖,從而達到參數化服裝制版的需要。
參數化服裝制版技術的開發與應用主要通過2個技術途徑。1)個別服裝CAD軟件(例如國產的博克服裝CAD系統)升級擴充參數化服裝制版功能。2)在通用制圖軟件(例如AutoCAD)平臺上開發服裝參數化制圖功能。由于開發技術難度較高,制約了服裝參數化制版的應用和推廣[4],因此,本文以服裝參數化制版作為技術指導思想,在MatLab軟件平臺上研究服裝紙樣平面制版技術,以期實現服裝制版的參數化定制。
MatLab是美國Mathworks公司開發的一款數學軟件,主要致力于科學計算、數據可視化以及交互式程序設計[5]。MatLab已經廣泛使用于各領域,包括算法開發、數據采集、數值分析、數學建模、工程與科學繪圖、圖形用戶界面設計、數字圖像處理、財務與金融等。其函數庫及符號計算功能,可以讓用戶省去繁瑣的運算分析;其圖像處理功能,可以讓用戶能直觀地觀察分析運算結果。同時,MatLab友好的GUI開發環境,讓用戶能夠自主設計參數化定制界面[6]。借助于MatLab的功能齊全的工具箱,能夠便捷地實現參數化輸入與可視化的圖形輸出,因此,基于MatLab研究服裝紙樣的參數化平面制版,用戶可以將服裝關鍵尺寸設置為服裝制版參數,建立和開發服裝結構制圖的數學模型制圖程序,通過參數的設置自動進行定制服裝的制版。
參數化設計是一種基于約束的產品建模方法,它是用一組參數來約束和描述該幾何圖形的結構尺寸序列,通過改變約束,賦予不同的參數序列值,即可驅動約束獲得新的目標幾何圖形,快速地生成不同產品的設計方案,其設計結果是包含設計信息的模型[7]。在服裝紙樣設計中,尺寸、結構等因素是至關重要的約束條件,決定著最后的產品設計。服裝紙樣內部結構相互關聯,尺寸的參數變化會引起相關部件的參數產生相應的變化。這種局部、整體變化的一致性和雙向性,使得無需對所有細節進行人工調整和修改,即可實現設計方案的快速重新生成。
服裝紙樣參數化平面制版的流程如圖1所示。利用參數化進行服裝樣板設計首先要確定影響服裝結構線的人體關鍵點,設置主要的參數變量。然后分析服裝結構線與人體關鍵部位的尺寸和約束關系,確定參數化制圖的數學模型。依據數學模型確定服裝結構設計中的點、直線和曲線,并利用MatLab繪圖工具繪制出基礎樣板。若需要調整參數,則只需在MatLab程序中改變參數值大小,無需對基礎樣板進行大規模修改,即可利用參數驅動實現樣板的自動生成,因此,采用參數化設計方法進行服裝紙樣制版時,通過設置參數變量,調節參數值的大小驅動服裝結構的變化,即可直接完成服裝紙樣設計結構的調整,實現服裝紙樣的自動生成。
服裝紙樣設計中,用到的參數類型主要包括關鍵參數、次要參數和變量參數等[8]。在本文研究中,主要用到的參數包括關鍵參數、次要參數、以及變量參數。關鍵參數是指人體測量的凈尺寸。在參數化設計中,關鍵參數主要包括凈胸圍、領圍、肩寬、背長與衣長。次要參數是基于服裝內在結構關系,通過關鍵參數運算得到的。次要參數主要包括后領寬、后領深、后落肩、袖孔深、后背寬、以及后身寬。變量參數是指服裝紙樣設計中的造型參數。變量參數主要包括收腰量、側縫下擺收縮量、弧形下擺深、后育克省量、以及后背褶量。
為研究基于MatLab實現服裝紙樣參數化平面制版的方法,本文以男士襯衫衣身的參數化平面制版為例,著重分析后片紙樣結構的計算模型,繪圖方法和程序編寫。
男士襯衫衣身后片結構制圖其關鍵變量包括胸圍、領圍、肩寬、背長和衣長,如圖2所示男士襯衫衣身后片結構設計。基于這些關鍵變量以及服裝內在的結構關系計算確定了其他次要參數的值。同時,依據服裝設計的經驗,本文確定了選定的變量參數的值。表1示出各種使用的次要參數基于關鍵參數的表達式與變量參數所采用的值,同時說明了各個部位在圖2中所代表的圖線。

圖2 男士襯衫衣身后片結構設計Fig.2 Structure of back of men′s standardized shirt

部位尺寸計算公式 結構線背長b1P2P9衣長c1P2P14后領寬n1/5-0.5P1P2后領深n1/15-0.17P1P3后落肩n1/15-0.17P21P22后肩突出2P4P21袖孔深b/6+9.5P2P6后背寬b/6+4P15P16后身寬b/4+5P5P6收腰量0.7P7P8后腰圍b/4+4.3P8P9側縫下擺收縮量1P10P11后育克省量0.8P19P20后育克深b/24+17/8P2P17后背褶量3.5P17P18弧形下擺深14P10P12
注:b為胸圍,n1為領圍,s1為肩寬,b1為背長,c1為衣長。單位均為cm。
利用MatLab的繪圖工具箱可進行參數化制圖。首先依據男士襯衫衣身后片關鍵變量,按照表1所列尺寸關系,以后中線與腰圍線的交點為基準點(圖2中男士襯衫衣身后片結構設計中的P9),計算各關鍵點的相對坐標,如表2所示男士襯衫衣身后片關鍵點。然后使用plot函數繪制衣身后片輪廓上的直線。

表2 男士襯衫衣身后片關鍵點Tab.2 Key points of back of men′s standardized shirt
注:b為胸圍,n1為領圍,S1為肩寬,b1為背長,c1為衣長。單位均為cm。
在衣身后片輪廓上,比較復雜的是后片袖窿曲線P4P5、下擺曲線P11P14以及后領圍曲線P2P3(見圖2)。本文采用貝塞爾曲線模型準確繪制了這些曲線[9]。貝塞爾曲線模型為
式中:Pi為貝塞爾曲線上的點,P0為起點,Pn為終點,n為點的順序標簽,從0開始,i為點的順序,表示標簽中的第i個點,從0到n;t代表時間,取值為[0,1],代表從0變化到1。基于貝塞爾曲線的一般公式,在MatLab中編寫了函數bezier(x,y)。其中輸入的x為所有點的橫坐標的數組,y為對應的點的縱坐標的數組。本文在繪制袖窿曲線時,采用8個輔助點確定該曲線的形狀;在繪制下擺曲線時,采用7個輔助點確定形狀;在繪制后領圍曲線,采用5個輔助點確定形狀。
基于MatLab的R2 015 A版本,本文編寫了男士襯衫衣身后片參數化平面制版的函數程序,命名為function mssback (b,n1,s1,b1,c1)。其中函數中的參數分別代表胸圍、領圍、肩寬、背長以及衣長等尺寸。在運行該程序時,直接在Command Window中調用mssback函數,輸入相應的參數值,即可直接獲得不同參數值所對應的男士襯衫衣身后片的紙樣,如圖3所示基于參數值的男士襯衫衣身后片紙樣。

圖4 關鍵參數不同參數值的紙樣對比Fig.4 Clothing pattern contrast for different values of key parameters. (a) Different bust values; (b) Different neck values; (c) Different shoulder values; (d) Different back-length values; (e) Different clothes-length values

圖3 基于參數值的男士襯衫衣身后片紙樣Fig.3 Clothing pattern of back of men′s standardized shirt based on reference values
為測試基于MatLab的參數化制版在應用中的便捷效果,本文以165/84A、170/88A、175/92A 3組號型為參考,分別調整5個關鍵參數的值進行單變量調整,得到不同尺寸下的紙樣。各關鍵參數的對比值如表3所示。在設置關鍵參數的對比值時,根據國家號型標準,胸圍檔差為4 cm,領圍檔差為1 cm,肩寬檔差為1.2 cm,背長檔差為1 cm,衣長檔差為2 cm[10],因此,本文采用等差數列的形式,在參數值的前后各取1個對比值進行測試。

表3 3種不同規格男士襯衫的關鍵參數值Tab.3 Values of key parameters of three different versions of men′s shirt cm
基于3組對比值,應用MatLab參數化制版,得到針對5個關鍵參數的紙樣對比圖,如圖4所示。
在測試了修改單一參數值的制版效果后,對不同號型的男士襯衫衣身后片也做了測試。本文選取了3種不同號型的尺寸,包括165/84A、170/88A、175/92A。3種號型男士襯衫衣身后片的各關鍵參數的值見表3。3種號型的襯衫衣身后片的參數化紙樣制版效果對比,如圖5所示。

圖5 不同號型的紙樣制版對比Fig.5 Contrast of clothing pattern platemaking of three different sizes
本文對上述各號型的結構圖中相關部位的尺寸進行了測量和比照,均與程序設定的各尺寸的預期設定值完全相符,符合各項尺寸規格。
上述男式襯衫后衣身制版程序將胸圍、領圍、肩寬、背長和衣長5個關鍵參數設置為可由用戶控制的交互性參數,程序在運行時會根據用戶對這些參數的設定值,按照程序編制的數學模型自動計算次要參數和變量參數的值,進而繪制出襯衣的結構圖。交互性參數項目可根據需要由關鍵參數擴展到次要參數或變量參數,從而進一步優化服裝結構的參數化制版。例如在上述制版程序中增加一項“收腰量”的交互性參數,用戶就可以通過定制收腰量的尺寸來控制襯衣腰部的緊身度。圖6示出不同收腰量的紙樣對比。即是以170/88A號型為標準,將收腰量分別設置為0、0.7 cm和1.4 cm所繪制的結構圖。

圖6 不同收腰量的紙樣對比Fig.6 Clothing pattern contrast of different defined waist values
需要說明的是,雖然交互式參數的設置數量沒有限制,但也不宜設置過多,因為交互式參數的增加會增加人機交互的次數,降低工作效率,出錯率升高,從而影響程序的有效應用。
運用MatLab進行服裝紙樣參數化平面制版可以省去服裝設計者在調整參數后重復的數據計算和繪圖。對比以上紙樣制版結果,發現在服裝紙樣制版過程中,當某個參數值變化時,會引起某些局部的紙樣設計變化。例如,當胸圍值、領圍值、肩寬值、背長值、以及衣長值發生變化時,紙樣中相關的結構線也將隨之而發生聯動的變化。如果采用手工繪制,設計者需要根據新的參數值,重新去計算、調整新的設計圖。這樣不僅增加了設計者的工作量,而且無法實現批量設計。采用參數化制版,設計者在標準參數的基礎上,自行調整不同的關鍵參數的值,實現批量設計,便于設計者設計出風格不同的服裝紙樣。尤其是,當服裝設計師需要微調某個參數值的大小以優化服裝紙樣的設計效果時,參數化制版的優勢更為明顯,因為設計者可根據自己的需要不斷地微調參數值,以達到個性化設計目標。
運用MatLab進行服裝紙樣參數化平面制版的另一個突出效果是設計者可以很便捷地處理服裝設計中的復雜曲線繪制。服裝紙樣一般由直線和曲線構成。直線繪制比較容易,但是曲線繪制相對復雜。尤其是,在手工繪制中,當參數值改變時,設計者需要重新計算復雜曲線的結構與位置關系,而且還無法確保最后的曲線的準確度。在采用MatLab進行參數化制版時,設計者不需要重復計算復雜曲線的結構與位置關系,因為程序內部根據服裝內部結構以及參數值的大小自動繪制復雜曲線,這樣會極大程度地提高服裝設計的效率與精確度。
本文基于MatLab實現了服裝紙樣的參數化平面制版。將服裝的內部結構參數化,在選定一組關鍵參數以后,通過分析人體關鍵部位的內部結構關系,得到服裝不同部位與選定的關鍵參數之間的數學關系,通過數據自動計算進行參數化制圖,并通過調整參數值控制服裝紙樣設計,實現了服裝結構的個性化制版。
在此基礎上,基于MatLab設計了服裝紙樣參數化平面制版的程序,并且以男士襯衫衣身后片為例,分析了參數化制版的效果。從研究結果可以發現:一方面,參數化制版讓服裝設計者通過微調參數值,控制服裝設計的效果。服裝設計者根據服裝的號型,適當調整某個或某組參數的值,優化設計的效果,這種參數化制版技術提高了服裝制版的準確度和效率。同時,MatLab自身強大的圖像處理工具包,使得服裝設計者便捷地處理服裝結構設計中的復雜曲線。另一方面,參數化制版使服裝設計者可以通過選擇不同的關鍵參數,實現對不同服裝版型的制版控制,本文研究方法還可以應用到西裝、裙裝和褲裝等其他類型的服裝制版中,因此,基于MatLab服裝紙樣參數化制版可提高服裝紙樣設計的效率,同時滿足服裝制版的個性化定制需要,能夠提高服裝制版對服裝個性化定制的快速反應能力。
FZXB