謝嘉偉,汝欣,周香琴
(浙江理工大學機械與自動控制學院,浙江杭州 310018)
圓型針織內衣機是一款運用一次成型無縫針織技術,由電腦控制編織生產產品的紡織機械設備。設計師根據針織工藝需求,自由地設計編織機械動作相關參數(shù),生產出無縫針織內衣機產品。織物CAD技術作為紡織行業(yè)的核心技術,圓型針織內衣機依托于其配套的針織CAD系統(tǒng)實現(xiàn)對織物的設計,進而實現(xiàn)對產品的編織。隨著互聯(lián)網技術的快速發(fā)展,互聯(lián)網技術與針織行業(yè)不斷融合,運用互聯(lián)網技術的CAD系統(tǒng)允許用戶在任何地方進行系統(tǒng)操作,降低客戶端操作成本,加快系統(tǒng)響應速度。研究一款性能穩(wěn)定、操作便捷的在線圓型針織內衣機織物CAD系統(tǒng)對圓型針織內衣機以及針織CAD技術領域的發(fā)展與應用具有重要意義。
目前,國外的圓型針織內衣機依然處于領先地位,配套的CAD軟件大多被國外所壟斷。德國邁耶西為其提花圓機所用的PIC系統(tǒng)和MDSI系統(tǒng)、意大利圣東尼為針織圓機所使用的Photo軟件和Quasars軟件等,大都健壯性好,但穩(wěn)定性較差,以及必須與自家公司生產的編織機進行配套使用,價格昂貴,且大多運行于PC端,維護成本高、運行效率低。國內對圓型針織內衣機的研究相對較少,主要集中在橫機、經編機、圓機等機型,例如江南大學的經編機織物CAD系統(tǒng)、緯編針織物CAD系統(tǒng)、浙江大學的紡織物定制平臺等。
針對上述問題,本文應用互聯(lián)網技術,針對圓型針織內衣機,開發(fā)一款在線織物CAD系統(tǒng),提供在線的織物花型圖案設計和鏈表動作工藝設計,生成上機文件指導內衣機編織生產,使得用戶能夠隨時隨地通過瀏覽器訪問系統(tǒng),實現(xiàn)客戶端的零安裝和零維護,并降低用戶設計門檻。
2.1.1 在線設計需求
圓型針織內衣機織物CAD系統(tǒng)的核心是生成可指導內衣機編織機構進行編織生產的上機文件,其本質是實現(xiàn)對圓型針織內衣機中各編織工作機構控制參數(shù)設計。因此,本文系統(tǒng)通過繪制圖形的方式實現(xiàn)織物花型繪制,并通過動作指令的方式為用戶提供更多編織工作機構控制參數(shù)設計。
2.1.2 數(shù)據管理需求
數(shù)據管理包含用戶數(shù)據及系統(tǒng)數(shù)據管理,保證數(shù)據安全性與唯一性,并且需要考慮對數(shù)據的維護,包含存儲、查看、刪除、下載等基本操作。
2.1.3 非功能性需求
系統(tǒng)應基于Web端的主流框架和技術進行研發(fā),保證系統(tǒng)功能的先進性??紤]到系統(tǒng)處于初期研發(fā)階段,系統(tǒng)需求存在變數(shù),系統(tǒng)可擴展性、可維護性、可升級性應予以保證。
本文以B/S(Browser/Server)三層架構模式構建系統(tǒng)總體架構,如圖1所示,主要包括客戶端交互層、業(yè)務邏輯層及數(shù)據存儲層。B/S架構極大地簡化客戶端的負荷,使得系統(tǒng)更加快捷。
客戶端交互層主要實現(xiàn)用戶交互,其中在線設計服務包括花型圖案設計與鏈表動作設計,花型圖案設計實現(xiàn)對花型多圖層的繪制,鏈表動作設計實現(xiàn)對圓型針織內衣機編織工作機構動作指令的編輯。
業(yè)務邏輯層主要實現(xiàn)對系統(tǒng)業(yè)務數(shù)據處理及存儲。用戶安全管理與系統(tǒng)數(shù)據處理為該層核心,通過接收前端交互層的請求,對數(shù)據作處理,并進行響應。數(shù)據庫訪問接口提供了業(yè)務邏輯層對數(shù)據庫的訪問與數(shù)據操作。
數(shù)據庫層提供云端數(shù)據庫對不同用戶數(shù)據信息、資源文件的存儲。相比于傳統(tǒng)的單機圓型針織內衣機CAD系統(tǒng),云端數(shù)據庫的使用極大方便了對數(shù)據、文件的訪問與調用,不再局限于單機環(huán)境下,可以隨時隨地進行查看。
本文系統(tǒng)采用前后端分離技術,前后端獨立開發(fā)的模式降低了系統(tǒng)代碼耦合度。系統(tǒng)技術架構如圖2所示,HTML5、Boostrap框架實現(xiàn)系統(tǒng)頁面的結構與美化,JQuery庫極大簡化了JavaScript編程;通過Ajax通訊協(xié)議,使得系統(tǒng)進行織物花型與鏈表動作工藝設計時,實現(xiàn)局部數(shù)據更新,設計頁面狀態(tài)得以保留;業(yè)務邏輯層采用Java語言進行實現(xiàn),以SpringBoot框架為基礎,能夠高效穩(wěn)定地將CAD系統(tǒng)數(shù)據轉換為對象模型,實現(xiàn)高效管理;MySQL關系型數(shù)據庫性能良好、操作方便,因而將其作為系統(tǒng)數(shù)據庫。并且,使用JDBC驅動,實現(xiàn)業(yè)務邏輯層與數(shù)據存儲層間的交互。
Fig.1 Web-based circular knitted underwear woven fabric CAD system architecture圖1 基于Web端的圓型針織內衣機織物CAD系統(tǒng)架構
Fig.2 System technology architecture圖2 系統(tǒng)技術架構
本文開發(fā)的圓型針織內衣機織物CAD系統(tǒng)通過圖案設計方式實現(xiàn)對織物花型設計,圖案設計方式更符合用戶對針織物的視覺感官,為用戶提供一種形象好、效率高的設計模式。
針織物結構一般有線圈圖、編織圖、三角配置圖及意匠圖4種表示方法。其中,意匠圖是通過圖形中的方格及方格內的符號表示織物花型與結構,相比于其他3種,意匠圖更便于織物的表示與設計繪制,因此本系統(tǒng)通過意匠圖的方式對花型圖層進行表示。Canvas畫布元素是基于像素的即時二維繪圖,其畫布元素上的像素點只能攜帶顏色和位置兩個數(shù)據信息,因此本系統(tǒng)采用多圖層的設計模式,利用不同圖層的單獨繪制表示圓型針織內衣機織物的不同工藝數(shù)據,通過選針器層、色控紗嘴層、密度電機層三層設計方式實現(xiàn)織物的花型圖案設計,每個圖層中的顏色都對應著相應的動作。并且,每個圖層都具有兩個畫布元素Canvas,通過監(jiān)聽鼠標事件和對應事件觸發(fā)的JavaScript執(zhí)行腳本實現(xiàn)基本繪制功能。
3.1.1 繪圖工具
HTML5提供了豐富的繪圖函數(shù)API接口方法,但原生的API接口較為低級,只適用于完成簡單的繪圖邏輯,若直接使用原生繪圖API實現(xiàn)本系統(tǒng)多圖層繪圖邏輯,不僅操作繁瑣,還會產生很多重復性工作。因此,結合系統(tǒng)的繪圖設計機制,在原生API的基礎上進行封裝設計,實現(xiàn)系統(tǒng)各繪圖工具。
花型圖案設計模塊繪圖工具的封裝設計如表1所示,系統(tǒng)實現(xiàn)了點、剪切、復制、直線、描邊、畫筆、填充等一共17個繪圖工具的封裝。繪制圖形時,用戶選擇相應的繪圖工具,就能調用對應的繪圖API在系統(tǒng)雙畫布機制下進行圖形繪制,操作簡單、繪制效率高。
Table1 Wrapper API design for drawing tools表1 繪圖工具的封裝API設計
3.1.2 顏色動作配置
顏色動作配置即定義各種顏色與選針器、色控紗嘴、密度電機的動作對應關系。同時,為了隨時依據工藝設計需求,改變圖案與顏色動作的匹配關系,花型圖案與不同顏色動作的配置就能形成不同的工藝設計,設計更加靈活多變,本文系統(tǒng)采用顏色動作配置獨立設計及對花型圖案進行匹配的設計方式。
顏色動作配置主要包含對配置進行讀取、修改、保存更新。其主要業(yè)務流程如圖3所示,在客戶端交互層進行數(shù)據的顯示與編輯,業(yè)務邏輯層進行配置信息的處理與存儲,最終將配置信息保存值數(shù)據庫中。前后端信息傳輸使用Ajax通訊實現(xiàn),其傳輸接口如表2所示,提供4個主要的傳輸接口,客戶端交互層調用相應的方法從而向業(yè)務邏輯層發(fā)送請求以及相應的顏色動作配置信息,業(yè)務邏輯層通過相應的接口進行接收并處理,最終響應客戶端交互層。
Fig.3 Color action configuration business process圖3 顏色動作配置業(yè)務流程
鏈表動作設計模塊為生成上機文件提供數(shù)據來源,提供指令式的設計方式對內衣機編織工作機構進行動作設計,以便精確地控制各機構的工作動作參數(shù)和時機。
Table2 Color action configuration data transfer interface表2 顏色動作配置數(shù)據傳輸接口
3.2.1 鏈表編輯
內衣機編織過程的編織動作較多,且其動作分類面向底層指令控制,對用戶設計門檻高,不便于工藝設計。因此,本系統(tǒng)從面向用戶的角度,以方便用戶設計為目的,將鏈表動作分為速度、電機氣閥、報警、三角、紗嘴、選針器、花型、步進電機以及特殊功能九大類,并增加動作備注及鏈表步驟循環(huán),為用戶的鏈表動作工藝設計降低門檻,設計簡單明了。
鏈表動作設計模塊需提供鏈表步驟的插入、刪除和動作的編輯與刪除,依據設計需求與動作分類,設計如圖4所示的鏈表動作數(shù)據結構。該數(shù)據結構主要包含3層:最外層為步驟數(shù)據、第二層為某步驟數(shù)據下的動作類別數(shù)據、最里層為某動作類別下的動作詳情,該數(shù)據結構便于客戶端顯示,同時在該結構下方便對數(shù)據進行操作與修改。
Fig.4 Chain-list action data structure圖4 鏈表動作數(shù)據結構
JSON格式是輕量級的數(shù)據交互格式,使用JSON存儲數(shù)據層次明確、易于讀寫,簡化數(shù)據操作流程。鏈表動作數(shù)據的JSON格式如圖5所示。
遍歷上述鏈表動作數(shù)據格式,使用<table>標簽元素作為載體,建立Web端的可視化表格,實時將變化后的數(shù)據映射至鏈表動作數(shù)據結構中,便于數(shù)據的實時緩存。
3.2.2 花型檢查
鏈表動作設計需要滿足一定的工藝規(guī)范,為了減少用戶在設計鏈表動作時的工藝規(guī)范檢查頻次,在滿足基本動作編輯要求下,增加花型動作指令的工藝規(guī)范檢查,減少用戶設計工作量,提高設計效率。當設計的花型指令數(shù)據不符合規(guī)范時,則提示不規(guī)范信息,以便設計師進行修改?;ㄐ蜋z查接口設計如表3所示,客戶交互層調用ajaxFor-Pattern Examine()方法向業(yè)務邏輯層發(fā)起花型檢查請求,并攜帶鏈表動作設計數(shù)據,業(yè)務邏輯層通過接口“/pattern Examine”進行請求的接收與處理,并響應最終處理結果。
Fig 5 Chain-list action data-JSON format圖5 鏈表動作數(shù)據-JSON格式
Table 3 Pattern check interface design表3 花型檢查接口設計
當花型圖案在CAD系統(tǒng)上設計完成后,對花型圖案數(shù)據進行處理并保存?;ㄐ蛿?shù)據存儲的時序流程如圖6所示,客戶端交互層對花型數(shù)據進行轉換后,調用客戶單方法AjaxBy Conserve Pattern(),使用Ajax傳輸協(xié)議將花型數(shù)據傳輸至業(yè)務邏輯層進行數(shù)據的邏輯存儲。在Service層通過花型名稱(patternName)、用戶(userID)驗證數(shù)據是否已存在同名數(shù)據,最終將花型數(shù)據保存至后綴名為“.ca”的文件中。將文件信息存入對應的數(shù)據庫表中,最終響應客戶端交互層,提示數(shù)據存儲成功信息。
由于花型圖案繪制在<Canvas>畫布的標簽元素中,畫布上存儲的是每個像素的RGB信息,需要將其轉化為使用顏色號代替的二維數(shù)組。通過調用getImageData()方法分別得到花型的選針圖層、色控紗嘴圖層以及密度電機圖層的RGB一維數(shù)組數(shù)據,遍歷該數(shù)據并通過對RGB與顏色號的匹配,最終得到存儲顏色號的花型圖層數(shù)據。
Fig.6 Pattern data storage timing process圖6 花型圖案數(shù)據存儲時序流程
當鏈表動作編輯設計完成后,對設計數(shù)據進行處理并保存。鏈表動作數(shù)據存儲的時序流程如圖7所示,客戶端交互層通過調用ajaxBy Conserve Chain Data()方法獲取數(shù)據,并將鏈表動作數(shù)據傳輸至業(yè)務邏輯層。在業(yè)務邏輯層中的Controller層將JSON格式的鏈表動作數(shù)據轉換為Java對象模型,便于后續(xù)對數(shù)據進行高效處理。在Service層通過用戶ID(userID)、鏈表動作數(shù)據名(chain Name)驗證是否存在同名數(shù)據之后將其保存至后綴名為“.chian”的文件中。最終將文件信息存入數(shù)據庫表中,并響應客戶交互層鏈表動作存儲成功信息。
Fig.7 Chain-list action data storagetiming process圖7 鏈表動作數(shù)據存儲時序流程
其中,鏈表動作數(shù)據是以JSON格式進行客戶端交互層—業(yè)務邏輯層間的傳輸,由于JSON格式在業(yè)務邏輯層的處理相對繁瑣,為實現(xiàn)數(shù)據高效管理,在業(yè)務邏輯層為鏈表動作數(shù)據建立11類動作對象類和鏈表動作數(shù)據對象類,其對象類如圖8所示。
Fig.8 Chain-list action data object struc tureclass圖8 鏈表動作數(shù)據對象結構類
鏈表動作數(shù)據為上機文件的數(shù)據來源,根據圓型針織內衣機的工藝特點,將鏈表動作數(shù)據解析成如圖9所示的文件結構,并將文件信息存儲至數(shù)據庫表中,便于用戶管理與操作。
上機文件解析業(yè)務流程如圖10所示,獲取需要解析的鏈表動作數(shù)據進行數(shù)據檢查,檢查相應數(shù)據是否存在且動作設計是否符合工藝規(guī)范,然后對數(shù)據進行解析,生成以后綴名為“.uco”的上機文件,最后將上機文件信息存入對應的數(shù)據庫表中,以便于文件管理與操作。
Fig.9 Compiled file structure of the chain-list action圖9 鏈表動作編譯文件結構
Fig.10 On-board fileparsing business process圖10 上機文件解析業(yè)務流程
由于上機文件中的動作類別面向內衣機底層控制,而鏈表動作設計中的動作類別面向用戶設計,這就導致二者動作類別不一致。例如:上機文件解析格式中的氣閥動作包含前端交互層中鏈表動作的三角、紗嘴、特殊功能3個動作類別數(shù)據,如圖11所示。
Fig.11 Parsing action-gasvalve and chain-list action圖11 解析動作-氣閥與鏈表動作
因此,將數(shù)據匹配上機文件動作格式,從而進行解析。以氣閥解析為例,其格式匹配步驟如下:①獲取鏈表動作數(shù)據中某一步驟下的紗嘴、特殊功能、三角動作數(shù)據;②對紗嘴、特殊功能、三角的動作數(shù)據進行篩選,去除與解析動作氣閥無關的部分數(shù)據,并按動作參數(shù)中動作針位大小進行遞增排序;③統(tǒng)計處理后的紗嘴、特殊功能、三角動作數(shù)據中出現(xiàn)的動作針位和相同動作針位出現(xiàn)的個數(shù);④依據動作針位以及針位出現(xiàn)的個數(shù)對紗嘴、特殊功能、三角動作按氣閥解析格式以字節(jié)形式進行數(shù)據解析。
T
的第一行表示第一個選針器的動作信息,第二行表示第二個選針器的動作信息。通過上述方式解析得到選針圖層的選針出針信息、色控紗嘴動作控制信息以及密度電機控制信息。用戶成功登錄后跳轉至用戶管理界面,用戶管理界面包括用戶基本信息管理、密碼管理以及用戶產品信息管理。其中,用戶產品信息管理包括對用戶花型圖案設計數(shù)據、鏈表動作設計數(shù)據以及上機文件的查看、檢索、刪除與下載。
系統(tǒng)在線設計服務界面包含菜單欄、花型圖案設計模塊、鏈表動作設計模塊。其中,左側為花型圖案設計模塊,從上至下分別為工具欄、花型圖案顯示界面、顏色選擇表與顏色動作配置、圖層選擇。右側為鏈表動作設計模塊,分別包含工具欄、鏈表動作編輯表以及動作選擇欄3部分。
使用本系統(tǒng)的花型圖案設計與鏈表動作設計實例如圖12所示,依據該實例生成的上機文件能夠正確指導圓型針織內衣機編織生產出期望織物,操作便捷、設計門檻低,且易于推廣。
Fig.12 Example of fabric design圖12 織物設計實例
本文基于互聯(lián)網技術,設計了在線圓型針織內衣機織物CAD系統(tǒng),從圓型針織內衣機CAD系統(tǒng)軟件和互聯(lián)網角度對系統(tǒng)功能需求進行分析,并使用B/S網絡架構模式設計系統(tǒng)總體三層架構,實現(xiàn)了內衣機織物的在線設計服務,并實現(xiàn)對系統(tǒng)數(shù)據的處理。系統(tǒng)操作方便、設計門檻低,易于推廣。目前,該系統(tǒng)只能實現(xiàn)對織物花型規(guī)范的簡單檢查,智能化程度不足。因此,在系統(tǒng)后續(xù)開發(fā)中,有必要對針織工藝作進一步研究,以更好地實現(xiàn)織物編織效果預測。