基于AutoCAD二次开发的船体结构图快速绘图模式

2019-08-28 09:07陈茂勇黄祖钦
船舶 2019年4期
关键词:线型二次开发图层

陈茂勇 黄祖钦

(上海外高桥造船有限公司 上海200137)

引 言

船舶的详细设计正由二维设计趋向于三维设计,在后者成熟应用之前,传统的二维设计模式仍是主流。作为二维绘图通用软件,AutoCAD在船体制图中使用率较高,但受到软件的跨行业通用性限制,其绘图功能对船体结构专业领域的契合度仍显不足。然而,AutoCAD支持二次开发以强化现有功能或实现新的功能[1-3],行业内也有诸多具有针对性的辅助工具被开发出来用以实现特定的绘图功能。此类工具在一定程度上能替代手工完成某些复杂的绘图过程,但其单一功能较为零散,对绘图效率的提升不够全面。而且,由于所采用的绘图标准不一致,导致各类辅助工具在行业内的通用性不佳,也无法被有效共享。针对以上现状及存在问题,本文提出一种基于AutoCAD二次开发的船体结构图快速绘图新模式(下文简称快速模式)作为解决方案。

1 二次开发

1.1 开发环境

AutoCAD 提供了几种可用于控制图形和数据库的应用程序编程接口,其中内嵌的AutoLISP是一种功能全面的解释性编程语言,可用于调用AutoCAD 命令、系统变量和对话框。快速模式基于AutoLISP编程语言和用于增强AutoLISP的Visual LISP编程语言开发而成。

1.2 实现流程

二次开发程序将按照快速绘图流程进行设计,如图1所示。

图1 快速绘图流程

在普通的AutoCAD环境下,设计人员主要通过绘图命令配合修改命令进行结构图形的绘制,同时需在绘图前或绘图后进行图层、线型、颜色等标准项的调整。对于稍复杂的图形,还需要额外辅助线的支持。这种模式下完成一个目标图形的绘制,需全程手工干预,不仅低效,还存在易产生人为错误的风险。相比之下,基于二次开发程序,结构图形的绘制过程趋于格式化,通常经过两个步骤即可完成目标图形的绘制。

2 绘图标准

2.1 标准的组成

快速模式通过二次开发程序实现,而程序的二次开发又以绘图标准为指导,因此,在程序开发中系统地融入标准是建立完善绘图模式的前提。快速模式涉及到的基础标准项包括文字及标注样式、线型定义、图层定义和绘图节点,如图2所示。这些标准项分别在标准配置文件(ASCII文本文件)中逐行定义,其中每个文本行包含一项“键,值”组合。如:文本中对文字高度的定义为“text_height,1.8”。

图2 标准的组成

2.2 标准的初始化

在开始制图前,通常要根据绘图标准对当前绘图环境做初始化设置,如建立标准的文字及标注样式、线型和图层等。传统的做法是在标准的样板文件基础上绘制新图,但其存在有以下几点不足:

(1)依赖于标准样板;

(2)样板只能在新建的文档中应用;

(3)在样板应用后产生的标准项的变更仍需手工干预。

快速模式下,设计者可通过程序界面对标准配置文件进行修改和确认,并由程序自动实现标准的初始化,初始化流程见下页图3。在程序设计中,初始化的本质是将每个标准项设为一个变量,并将对应的配置值赋给该变量。变量被用来生成标准的文字及标注样式、线型和图层等,并为绘图辅助程序提供参数。

图3 初始化流程

初始化分成以下两种形式:

(1) 被动初始化

文字及标注样式、线型定义和图层定义等内容的初始化,会对文档造成更改并随文档保存,因此,这部分内容需在设计者下达指令后,由被动初始化程序完成。

(2) 主动初始化

绘图节点配置、图形与图层的关联等不对文档造成更改的内容,由主动初始化程序静默完成,不需设计者下达指令。

这种模式不但弥补了传统做法的不足,还使标准变得量化可见,初始化的过程也更加简洁和规范,具体表现在以下四个方面。

2.2.1 文字样式和标注样式

文字和标注都是结构图中最常规的图面元素,文字样式和标注样式一般相对固化,其标准样式的建立过程可通过程序进行简化。在程序界面中确认样式名称及细节后,文字及标注样式将在被动初始化程序运行后自动建立。

2.2.2 线型定义

辅助程序提供直观的界面进行线型创建和修改,并将线型实时加载或更新到当前文档,如图4所示。

图4 线型定义

设计者可用两种方式定义标准线型:

(1)通过输入框创建或修改标准线型;

(2)将现有文档中的线型保存为标准线型。

2.2.3 图层定义

图层是一项重要的绘图标准,用于有效组织和管理图面内容。图层通常按不同的图面元素和构件类型来分类。如将文字归入TEXT图层,标注归入DIMENSION图层,构件线根据主次类型分别归入LAYER1、LAYER2等。设计人员依据传统的绘图方法,需借助样板引入或手动建立这一系列标准图层。在快速模式下,标准图层由被动初始化程序自动建立,颜色、线型、线宽等图层要素可由设计者自行定义,参见图5。

将所绘图形归入正确的标准图层是一项必不可少的工作。使用传统的绘图方式,在交替绘制不同类型的图形元素时,设计者需反复切换图层以实现图层的标准化;而且属于同一图层的图形可能需要设置不同的颜色或/和线型,这些情况无疑增加了绘图过程中的手工干预量。在快速模式下,主动初始化程序将图形元素关联到指定的标准图层,如图6所示。通过辅助程序所绘的图形将自动归入所关联的图层,无需手动进行图层调整。

图5 图层定义

图6 图形与图层的关联

2.2.4 绘图节点

绘图节点包含一些控制图形细节和形状的设置项,如下页图7所示。在主动初始化程序运行后,这些设置项以全局变量的形式驻留在当前文档的内存空间中,并被辅助程序调用以达到按节点绘图的目的。若节点与打印比例关联,则节点将按比例缩放,如文字高度。

图7 节点配置

3 快速绘图模式的特点

快速模式下,基于二次开发辅助程序,绘图过程具有自动化、智能化、构件化和批量化的特点,这些特点使该模式能够有效提升绘图效率。

3.1 自动化

自动化是快速模式最主要的特点。以绘制一个肘板为例,其轮廓形状由若干关键点(和半径)控制,通过程序计算这些关键点的坐标并连接成多段线实现自动化。因此,设计者只需输入或指定边长、半径、角隅孔、边界线等用于计算关键点的数据,即可自动完成肘板绘制。程序界面如图8所示。

图8 肘板绘制

程序提供材质、板厚等可选项,供设计者按需输入,这些信息将被提取用以进行肘板的规格和焊脚高度等自动标注。

3.2 智能化

AutoCAD支持对图形添加扩展数据[4],通过扩展数据,设计者可以将任何图形贴上自定义标签,并赋予额外的属性。有效组织这些标签和属性能实现图形的分组归类,使程序能够识别特定图形组,从而具备智能化的特点。以下程序代码可实现扩展数据的添加,将贯穿孔图形贴上“CUTOUT”的标签,并赋予“T-BAR”属性:

智能化体现在两方面(以绘制贯穿孔和补板为例):

(1)智能识别结构类型

绘制贯穿孔时,程序在框选范围内智能识别型材截面,并自动生成由设计者指定类型的贯穿孔;绘制补板时,程序在框选范围内智能识别贯穿孔,并自动生成由设计者指定类型的补板,如图9所示。

图9 贯穿孔和补板绘制

(2)智能识别结构尺寸

通常,型材的贯穿孔和补板在《船体结构节点图册》中有详细的外形尺寸要求,如下页图10所示。只要确定型材截面的尺寸,就可以得到指定类型的贯穿孔尺寸;同理,只要确定贯穿孔的尺寸,也可以得到指定类型的补板尺寸。而采用传统的手动方式,在绘制型材截面、贯穿孔和补板时,都要输入外形尺寸数据,造成这些数据的重复输入。快速模式下,辅助程序能够自动识别型材截面或贯穿孔尺寸,并借以计算对应贯穿孔或补板的尺寸。因此,在型材截面、贯穿孔和补板这一系列结构的绘制过程中,设计者只需在绘制型材截面时输入一次即可。图9中贯穿孔和补板的绘制,仅需指定类型而无需输入结构尺寸。

图10 贯穿孔和补板的尺寸

智能化的特点可避免结构尺寸的重复输入,不但提高绘图过程的自动化程度,而且能有效杜绝因重复输入而产生人为错误。

3.3 构件化

所谓构件化是指图形由封闭或半封闭的连续线条组成,自成一个单独构件,并具有材质、板厚、尺寸等属性。相比于使用零散线条组成结构图形的传统方式,构件化的图形更贴近实际,且易于选择和管理,如图11所示。构件化的图形所具有的属性能够被辅助程序提取和分析,用于支持智能化的实现。

图11 构件化的图形

3.4 批量化

不同于通过复制粘贴所实现的批量化绘制,在快速模式下,辅助程序能批量绘制形状、大小和角度等不完全相同的图形,例如批量绘制图9中不同规格T型材对应的贯穿孔和补板。

4 结 语

本文阐述快速绘图模式的总体思路和实施流程,并对二次开发辅助程序的功能特点进行分析,初步展示该模式的基本框架。相比于已公开的多数应用于船体制图领域的零散AutoCAD插件,承载该快速模式的辅助程序在功能上具有更好的系统性、连续性和通用性。经过若干实船项目的持续应用和跟踪优化,证明该模式达到了提升结构图绘图效率的预期目标。在尚未应用三维自动化设计软件进行船体详细设计的情况下,基于AutoCAD二次开发的船体结构图快速绘图模式具有明确的实际应用价值。

猜你喜欢
线型二次开发图层
AutoCAD 与PDMS 二次开发在三维复杂形体设计建模上的应用
湘潭高月塘大桥施工线型监控与合拢策略研究
加权融合方法在船型开发中的应用
为《飞舞的空竹龙》加动感
例谈对高中数学教材中习题的二次开发
以假乱真窥探湿玻璃后的风景
浅谈CAD软件二次开发的方法及工具
与众不同“跳出”画面更个性
AutoCAD中线型的开发定制技术
例谈课本习题的“二次开发”