刘亚东,戴宏钦,2,赵子羽(.苏州大学纺织与服装工程学院,江苏 苏州 2502;2.现代丝绸国家工程实验室(苏州),江苏 苏州 2502)
最初的服装CAD技术诞生于20世纪70年代的美国[1],己经发展了四十多年。目前国内外对服装CAD都有一定的研究,国际上的服装CAD系统主要有美国格柏GERBER公司、法国力克LECTRA公司、西班牙INVESRANIC公司和日本旭化成公司等[2];国内也有不少服装CAD系统,如北京日升(NACPRO)、深圳博克智能系统(Boke)、广州樵夫((INVAN)、ARISA航天服装CAD系统等[3]。这些知名的服装CAD系统不仅开发了常规服装CAD,也对智能服装CAD的开发进行了尝试,但是基本都是在界面和工具等方面进行便捷设计,在结构上仍然需要操作者的经验和专业知识进行修改,并没有彻底实现服装CAD打板的智能化。此外,国内还有部分服装院校也对智能打板进行了一定的研究,但基本都是运用部件选择的形式进行打版,并没有很好的将服装结构知识和打板经验融入打板系统中,所以实现智能服装CAD还需要有更多的尝试。
为了更好的实现服装CAD的智能打板,最重要也是最基本的就是让计算机能够读懂服装结构及其变化,这样在打板过程中计算机才能根据服装的变化生成对应的结构样板。本文就此问题提出了一种面向对象的数字化描述方法,运用该方法可以将服装结构知识转变成计算机可识别的编码,从而使计算机读懂服装结构,并对男式衬衫的部分进行了编码实验,证明了该方法的可行性。
服装款式变化多样,设计元素越来越多,但是对于服装部件而言是不会发生本质变化的,同一类型的服装的主要部件基本相同,如一般的上衣都包含领子、袖子、前后衣片等主要部位等。男式衬衫作为一种基本的男式服装品类,其结构款式变化较简单,部件基本固定。经过大量搜集男式衬衫图片及资料并进行分析,发现目前市面上常规的男式衬衫的部件一般包括衣身前片、衣身后片、肩部育克、领子、门襟、袖身、袖衩、袖克夫、口袋。但衣身前片、衣身后片、门襟、口袋与肩部育克同属于衣身部分,袖身、袖衩、袖克夫同属于袖子部分,基本款式如图1所示,所以在主要部件划分中可以把它们分为衣身部件、领子部件和袖子部件。
图1 男式衬衫基本款式图
服装结构图是根据服装款式图的要求绘制而成的,是一个将三维服装转化成二维平面图形的过程,所以服装结构图的每一部分分别对应于服装的每一个部件。对于男式衬衫而言,结构图主要分为衣身部分、袖子部分、领子部分等三大模块,其余细节部位均表现在这三大模块之上。
用计算机解决问题需要用程序设计语言对问题求解加以描述(即编程), 实质上,软件是问题求解的一种表述形式。如果软件可以直接表现人求解问题的思维路径,那么软件不仅容易被人理解,而且易于维护和修改。更加能保证软件的可靠性和可维护性。面向对象概念和机制恰好可以使得按照人们通常思维方式来建立问题域的模型,设计出尽可能自然地表现求解方法的软件[4]。
面向对象的本质是更接近于一种人类认知事物所采用的哲学观的计算模型[5]。所谓对象就是一个包括数据以及操作的数据结构。任何面向对象的方法都应该可以表达对象,它的基本思想就是按照对象分解,进行数据的抽象和传递,整个过程呈现出封装和遗传的特性。
面向对象的方法所具有的基本特性:
(1)抽象性:类和子类的概念和它们相互关系的抽象。
(2)封装性:数据和对它的操作的一体化。
(3)遗传性:属类和操作由父类向子类遗传(继承性)。
(4)传递性:客观事物之间的相互关系用统一的信息传递方法来描述[6]。
面向对象的方法摆脱了固定的数据格式以及过程的限制,使人们可以集中精力去研究所要处理的对象。它把类和对象图、服务图、状态转换图、对象登典作为逻辑工具,在问题的表示域和解决域的表示都针对同一概念。新的类、新的对象的发现能使它不断的增加和递归地建立对象的逻辑模型。它生命周期的不同阶段(分析、设计以及编码)是重叠的,系统分析员、系统设计员和编程人员都有对象这个共同的目标,所以可以对对象模型进行各自的工作。同一对象在开发的不同阶段都被使用,但不同阶段考虑问题的方式有区别。在分析阶段应该用和实现无关的方式来表达事物,但是在设计阶段,就要以与实现相关的方式进行表达。这样才能使分析、设计、实现可以做到平滑过渡和无缝衔接。
运用面向对象的方法描述服装结构就是以服装结构为对象,构建一个完整的服装结构类,以每个服装部件模块作为类的属性,根据服装款式变化的不同还可以继续构建下一层子类,直至能包含整个服装结构。针对类的每一个属性要分析其可变化的点和线,作为其需要存放的数据,这样就可以通过给数据点赋值得到一个新的服装结构。
以男式衬衫为例,用一个类来描述衬衫,衬衫的基本部件对应着类的属性,该类的构成如图2所示。
图2男式衬衫类的构成
应用面向对象的数字化描述方法对服装结构进行描述,主要分为两个部分,第一部分分析目标服装结构的变化,找到关键点;第二部分构建合理的对象类,对服装结构编码描述。上节中已经构建了男式衬衫的类,本节中将以男式衬衫口袋部件为例,对其进行编码描述。
现代男式衬衫可以采用无口袋设计,特别是衣身分割设计时,一般可忽略口袋的设计;经典男衬衫的设计中左前胸设一贴袋,袋角呈圆型或袋底呈宝剑头状。现代商务休闲男衬衫设计中,口袋的变化则较为随意,除平面贴袋外,嵌线挖袋、立体贴袋等均可,袋的数量可单可双、甚至叠加[7]。但考虑到常用衬衫口袋还是平面贴袋,故本研究暂时只讨论平面贴袋的变化。图3~图8所示是不同的平面贴袋结构图。
图3 平口剑型口袋纸样 图4 平口切角口袋纸样
图5 平口圆角口袋纸样 图6 斜口剑型口袋纸样
图7 斜口切角口袋纸样 图8 斜口圆角口袋纸样
通过对以上结构图进行观察对比可以注意到这六种口袋均可以由表现口袋大小的基本矩形演变得到,所以首先建立一个基本矩形,关键值即为矩形的长和宽。建立好基本矩形后,若要将口袋上沿变为斜口,需要将左上方的点向下移设计好的长度。而口袋的下沿,若要转换成剑型口袋,需要在矩形竖向对称轴上取低于矩形下边缘的一个点作为辅助点,连接矩形下边缘的两端点得到剑型口袋下边缘;若要转换成切角口袋,则需要确定切角宽度即每个切角需要两个关键点来确定切角线的位置;而若要转换为圆角口袋,每个圆角也需要两个与切角相似的关键点作为圆弧的起点和终点,再将原矩形端点作为辅助点利用贝塞尔曲线画出圆角。
衬衫的口袋描述中,含有多个数据,不能用单个数据类型来表示。应用一个类似于类的数据结构来表示,具体描述如下。
口袋{口袋的数量:表示口袋的数量,取0表示没有口袋,1表示有1个口袋、2表示有2个口袋;口袋上边缘形状类型:表示口袋上边缘形状的类型,取0为水平,1为斜口;口袋下边缘形状类型:表示口袋下边缘形状的类型,可以用0、1、2表示,0表示切角口袋,1表示圆角口袋,2表示剑型口袋;口袋大小:该数据存放两个值,即口袋袋长和口袋袋宽;切角口袋下边缘:该数据存放1个点的位置,即切角辅助点;圆角口袋下边缘:该数据存放2个点的位置,即圆角弧线的起点、终点;剑型口袋下边缘:该数据存放2个点的位置,即剑型尖点和辅助点}
口袋属于男式衬衫类中前片的子类,每个子类组合起来就可以完整的描述整件服装。描述中每个数据存放点都对应着控制服装结构变化的关键点,所以只要数据点数值发生变化就会对应得到一个新的服装结构。
本文针对服装结构提出了一种面向对象的数字化描述方法,并且以男式衬衫的部分模块为例,运用该方法进行了数字化描述,证明了该方法的可行性。经过数字化描述后的编码可以用于计算机编程中,为后续的构建智能服装CAD系统奠定基础。但本方法还不能完全描述所有款式的服装结构,并且没有深入探讨引起结构变化的内在逻辑等,这些还有待进一步的研究。
[1] 宋丹.服装CAD技术的发展与应用[J].内蒙古科技与经济,2016(18):68-69.
[2] 万岚. 男内穿衬衫PDS智能化专家知识研究[D].北京:北京服装学院,2007.
[3] 李静. 衬衫个性化定制纸样设计自动生成系统专家知识研究[D].北京:北京服装学院,2014.
[4] 姜德森.面向对象方法[J].泉州师范学院学报(自然科学),2003,21(2):14-19.
[5] 刘晓峥.浅析面向过程与面向对象编程思想之异同[J]. 科技信息,2011(3):501-502.
[6] 牛咏梅. 面向对象程序设计概述[J]. 科技信息(学术版),2007(19):2.
[7] 陈英,史明玉. 现代商务男衬衫的综合设计研究[J]. 轻纺工业与技术,2015(2):33-38.