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