张伶俐, 张皋鹏
(四川大学 轻纺与食品学院, 四川 成都 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