祖家俊 刘阳 梁涓华 刘正亮
摘 要:船舶建造中,外板标志等钢板割字的排板套料工作,其最费时间的是文字的缩放、排列及过桥,而此工作一般是由手工完成,耗时耗力。本文介绍了一个利用二次开发技术设计的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.