祖家俊 劉陽 梁涓華 劉正亮
摘 要:船舶建造中,外板標(biāo)志等鋼板割字的排板套料工作,其最費(fèi)時(shí)間的是文字的縮放、排列及過橋,而此工作一般是由手工完成,耗時(shí)耗力。本文介紹了一個(gè)利用二次開發(fā)技術(shù)設(shè)計(jì)的AutoCAD插件,可以將繁復(fù)的手工操作改為通過計(jì)算機(jī)自動(dòng)處理直接得到結(jié)果,且此插件可適用于幾乎所有的船舶及海工項(xiàng)目甚至部分陸用產(chǎn)品,具有較好的通用性。
關(guān)鍵詞:AutoCAD二次開發(fā);AutoLisp/VLisp;標(biāo)志;過橋;效率
中圖分類號(hào):U671.99 文獻(xiàn)標(biāo)識(shí)碼:A
Abstract: During the ship construction, the most time-consuming work of the outer plate marks composing nesting is text zoom, arrangement and crossing. The work is usually done manually by the designer and it is time-consuming and exhausting. This paper introduces an AutoCAD plug-in designed by the secondary development technology, which can change the complicated manual operation to the automatic calculation through computer. This plug-in can be applied to almost all ships and marine projects, and even some of the land products with good versatility.
Key words: AutoCAD secondary development; AutoLisp/VLisp; Marks; Crossing; Efficiency
1 前言
對(duì)于鋼質(zhì)船舶,在外板和甲板等位置要布置諸如分艙標(biāo)志、放水塞標(biāo)志、肋位標(biāo)志、水尺水字、載重線標(biāo)志、螺旋槳標(biāo)志、船名、港籍、IMO號(hào)碼等標(biāo)志,也可能在船舶內(nèi)部需設(shè)置如貨艙內(nèi)艙壁上的高度、容積等標(biāo)志,或者在各種人孔蓋、艙口蓋上的艙名等標(biāo)志,以及其他位置上可能需要的標(biāo)志。本文中統(tǒng)一簡稱為標(biāo)志。
以上這些標(biāo)志的制作方式主要有兩種:鋼板割字;用焊珠堆焊輪廓。其中,鋼板割字制作出來的標(biāo)志具有字體清晰、安裝方便、美觀耐用等優(yōu)點(diǎn),成為各種標(biāo)志首選的制作方式。
在鋼板割字的制作過程中,火焰切割池上方的托架,一般由間距300 mm的扁鋼支撐,字高或字寬小于300 mm的字符切割后掉入托架下方,收集不便,如果在字符之間制作過橋則能避免這種情況的發(fā)生。同時(shí),為了方便現(xiàn)場(chǎng)施工人員的領(lǐng)用和減少丟失,也要求字符之間存在過橋結(jié)構(gòu)。切割后的標(biāo)志如圖1所示。
鋼板割字的制作,現(xiàn)在已經(jīng)有很多軟件能夠?qū)崿F(xiàn)自動(dòng)及手動(dòng)結(jié)合的方式進(jìn)行套料,生成套料冊(cè)及切割指令用于現(xiàn)場(chǎng)生產(chǎn)。但在為套料進(jìn)行的前期準(zhǔn)備工作中,將外板標(biāo)志的文字按要求進(jìn)行縮放、排列并進(jìn)行過橋的操作卻是相當(dāng)耗時(shí)耗力,基本上占用了準(zhǔn)備工作的90%以上。其實(shí),這種機(jī)械式重復(fù)的工作,可以通過計(jì)算機(jī)自動(dòng)化程序解決。
2 實(shí)施過程
使用AutoCAD軟件自帶的VLisp編程語言編寫程序源代碼,將標(biāo)志文字按要求縮放字高、調(diào)整間距后排列出來,并做過橋操作的自動(dòng)化處理軟件。AutoCAD軟件自帶的VLisp編程語言是歷史悠久的Lisp語言的子集,嵌入式的運(yùn)行方式使之能夠更好的操作與處理AutoCAD對(duì)象,但也限制了程序不能脫離AutoCAD軟件獨(dú)立運(yùn)行,故此程序稱為插件更為合適。該插件包含以下幾個(gè)部分組成:
(1)傳統(tǒng)的字模文件
字模文件即生產(chǎn)設(shè)計(jì)實(shí)際使用的文字模板文件,一般為DWG格式。其中包含了大寫英文字母A~Z、數(shù)字0~9以及符號(hào)“/”等,但不包含“-”、“.”以及T或L型分艙標(biāo)志符。這類符號(hào)一般與字母及數(shù)字不等高,混在一起套料降低了板材的利用率,也不便于編程處理,故不在本插件的考慮范圍之內(nèi)。
對(duì)于字模文件的要求不高,每個(gè)字符的內(nèi)外輪廓線均是閉合的多段線,無自交,盡量避免太過尖銳的銳角。
(2)將字模文件轉(zhuǎn)換為字體數(shù)據(jù)庫的插件
將常用的幾種字體轉(zhuǎn)換為數(shù)據(jù)文件保存起來,每種字體為一個(gè)數(shù)據(jù)文件,使用時(shí)按照船廠的習(xí)慣和船東的偏好進(jìn)行選擇。一般情況下字體種類不是很多,需要添加新字體的情況不多,所以制作了一個(gè)功能單一的簡單插件實(shí)現(xiàn)添加新字體的功能,而不是和經(jīng)常使用的排字過橋功能合成一個(gè)整體插件。
(3)需求表
需求表內(nèi)含需要排字并過橋的字符串、字高、間距、零件名稱、數(shù)量、板厚、材質(zhì)等必要的信息。*.xls和新的*.xlsx兩種格式的Excel表格文件均可支持,但對(duì)于表格內(nèi)部的格式則必須按照固定的格式不可隨意更改,以免產(chǎn)生不可預(yù)料的錯(cuò)誤。
(4)排字及過橋的插件
排字及過橋的插件為本套插件的核心程序,運(yùn)行后選擇特定的字體,按要求的字高、間距將各個(gè)字符排列好,并在相鄰字符之間生產(chǎn)過橋,同時(shí)生成零件代碼。
3 使用方法
(1)制作字體庫文件
首先準(zhǔn)備CAD字模文件,其中包含該字體需要的全部字母、數(shù)字及符號(hào)等;然后加載制作字體數(shù)據(jù)庫的插件,加載成功后會(huì)彈出窗口提示本插件的運(yùn)行命令,同時(shí)在命令行也會(huì)出現(xiàn)相似的提示信息;選擇新建的字體數(shù)據(jù)庫文件,開始轉(zhuǎn)換文字多段線到數(shù)據(jù)庫文件。每次選擇一個(gè)文字多段線(含輪廓及內(nèi)部線條),選擇成功后用戶輸入此字符的名稱。
轉(zhuǎn)換的順序并不影響后續(xù)程序的運(yùn)行,但還是建議按照數(shù)字、字母及特殊字符的順序進(jìn)行轉(zhuǎn)換,以便日后有需要時(shí)修改調(diào)整。
數(shù)據(jù)庫文件的寫入是按照新增數(shù)據(jù)的模式進(jìn)行的,如果某個(gè)字符的選擇不正確也不必停下轉(zhuǎn)換,只需保證輸入的字符名稱正確,待到最后再次轉(zhuǎn)換該字符,最新轉(zhuǎn)換的數(shù)據(jù)會(huì)保存在數(shù)據(jù)庫文件的末尾,只需將正確的數(shù)據(jù)替換掉前面錯(cuò)誤的數(shù)據(jù)即可。
(2)制作需求信息表
本文采用一條總長約95 m、型寬22.6 m、設(shè)計(jì)吃水6.2 m的工程船舶進(jìn)行示例,全船外板標(biāo)志217個(gè)字符串共294件。
(3)運(yùn)行主程序插件
加載并運(yùn)行排字及過橋插件。程序開始后,依次選擇需要使用的字體庫和需求表,選擇之后程序自動(dòng)運(yùn)行。程序結(jié)束之后,程序會(huì)彈出提示信息,反饋本次處理的字符串的數(shù)量和運(yùn)算耗費(fèi)的時(shí)間。
插件運(yùn)行時(shí)間僅供參考,實(shí)際運(yùn)行時(shí)間受到以下3個(gè)方面的影響:①每個(gè)標(biāo)志中包含的字符個(gè)數(shù)不同;②選用的字體復(fù)雜程度不同;③計(jì)算機(jī)硬件性能不同。
由于運(yùn)行時(shí)讀取字體庫的時(shí)間是固定的,并不因需求表的增大而增加,所以在需求表增加時(shí),插件的運(yùn)行時(shí)間并不是簡單的按比例增加。例如,上面217個(gè)標(biāo)志用了約15 s,而用同一臺(tái)計(jì)算機(jī)對(duì)1 000個(gè)類似長度的標(biāo)志進(jìn)行測(cè)試,分別使用4種字體,用時(shí)最多的也不超過40 s,說明使用本插件單次處理的標(biāo)志越多,則越是節(jié)省時(shí)間。
本次運(yùn)行共處理了217個(gè)標(biāo)志,在此僅截取部分結(jié)果顯示,如圖2所示。
如圖3所示,過橋統(tǒng)一寬度為6 mm,并在4個(gè)連接處做了R3倒角。倒角并不是必須的,但考慮到過橋與文字如果存在小于90°的銳角,切割時(shí)在拐角處可能造成過度切割形成缺陷,所以對(duì)所有連接處均做了倒角處理。
4 小結(jié)
本套插件利用計(jì)算機(jī)編程解決了機(jī)械重復(fù)的手工勞動(dòng),具有諸多優(yōu)點(diǎn),同時(shí)也存在著一些缺點(diǎn):
(1)節(jié)約時(shí)間。以本文中示例的船舶中200多個(gè)字符串為例,對(duì)于一個(gè)有經(jīng)驗(yàn)的設(shè)計(jì)人員來說,大約需要一個(gè)工作日才能完成,而使用本插件僅需要不到20秒的時(shí)間,大大提高了工作效率,節(jié)約了時(shí)間;
(2)節(jié)約成本。設(shè)計(jì)人員的工時(shí)能夠折算為工時(shí)成本,節(jié)約了時(shí)間亦即縮短了設(shè)計(jì)周期,也就節(jié)約了時(shí)間成本;
(3)防止丟失和混亂。相對(duì)于不做過橋操作的情況來說,使用本套插件進(jìn)行過橋操作,極大的減少了切割之后從火焰切割池托架下方收集零散字符的時(shí)間,以及現(xiàn)場(chǎng)找字拼字的時(shí)間,同時(shí)也極大的避免了因?yàn)楝F(xiàn)場(chǎng)丟失需要補(bǔ)料、重新切割字符均導(dǎo)致時(shí)間耗費(fèi)和成本增加。
(4)通用性強(qiáng)。幾乎所有的船舶以及海工項(xiàng)目都會(huì)有各類鋼質(zhì)標(biāo)志,使用者只需根據(jù)需要不斷增加新的字體庫文件就可以重復(fù)使用,甚至其他陸上行業(yè)也可以使用此插件進(jìn)行排字和過橋的操作。
(5)增加了切割長度。以往的手工過橋,有經(jīng)驗(yàn)的設(shè)計(jì)人員會(huì)在相鄰的兩個(gè)字符間最接近的位置添加過橋,以盡量減少切割長度,減少切割所用的材料及時(shí)間。而本插件還無法做到人工智能的添加過橋,只能將過橋統(tǒng)一制作在字符串頂端,以避免不同字符帶來的不利影響。但考慮到前面提到的各種優(yōu)點(diǎn),此缺點(diǎn)增加的損耗基本可以忽略不計(jì)。
參考文獻(xiàn)
[1] AutoLISP Developer's Guide(C). 1982-1999 Autodesk, Inc.
[2] AutoLISP 參考(C). 1982-1999 Autodesk, Inc.
[3] ActiveX/VBA 開發(fā)人員手冊(cè)(C). 1982-1999 Autodesk, Inc.