面向路桥施工问题求解的功能图形数据模型
2011-07-29李延强符力勇
黄 羚, 李延强, 符力勇
面向路桥施工问题求解的功能图形数据模型
黄 羚, 李延强, 符力勇
(石家庄铁道学院土木工程分院,河北石家庄 050043)
针对现有路桥施工问题求解所常采用的工程数据模型的缺陷,提出了功能图形数据模型。以功能图形对象建模技术为指导,以特征线、特征线数组为基本数据结构描述具有可变长非结构化的工程图形,进行相关几何和专业计算,表达特征线数组间存在的协同合作关系,支持功能图形对象的动态计算过程,实现了一种利用简单数据结构创建复杂工程图形对象的新途径,表现出广泛的工程软件开发应用价值。
计算机应用;数据模型;功能图形对象;路桥施工问题
近20年来,公路、铁路等路桥工程已成为我国工程建设业的重点和热点产业,具有庞大的建筑和经济规模。然而,与航空航天、机械、电子等行业的制造技术相比,目前我国路桥施工问题计算机求解技术还比较落后,还不能很好地满足现场工程实际需要。出现这种现象的根本原因之一在于,现有的路桥施工专业软件或相关国际CAD/CAE通用软件还不能充分地反映路桥施工问题求解本质特征,路桥施工专业软件出现难以克服的发展瓶径。
路桥施工软件属于工程软件研究范畴。与CAD技术研究规律一样,路桥施工问题求解技术的研究应该分三个层次:一是反映路桥施工问题本质特征的建模理论,二是实现环境的研究,以建模理论为指导研究问题求解所需要的工程数据模型、工程数据库管理系统及相关的交互式图形系统,最后才是以建模理论和实现环境为支撑的工程应用软件的开发。然而,在路桥施工领域,国内学术界和工程界大多致力于第二或三个层次的研究,即在现有基本建模理论基础上进行实现环境的研究及专业应用软件开发,很少能见到关于基础性建模理论研究的报道。
功能图形建模技术是笔者提出的一种面向功能图形对象的建模技术,它是一种新的区别于传统面向对象的建模方法:以具有工程属性和专业功能的功能图形对象为基本建模单位,功能图形对象间彼此独立又协同合作,专业人员通过创建和操作功能图形对象实现工程问题求解。为使该建模技术得以实现,笔者研究了相应的功能图形数据模型、工程数据库数据管理系统及面向功能图形对象的图形系统,并开发了大量的路桥施工问题求解软件功能,较为系统地建立起了针对路桥施工问题求解的功能图形建模新技术体系。本文主要介绍该技术体系中功能图形数据模型的相关数据结构、数据操作方法、数据关系模式与实现途径等。
1 功能图形数据结构
功能图形对象抽象于现实工程求解过程中所涉及的工程图形的整体、局部、某个符号或意图,由点、直线段、圆、圆弧、文本等基本图形元素构成,具有几何和工程双重属性,其数据结构既要描述复杂多样的工程图形的几何形状,还需要描述蕴涵于工程图形中可变长非结构化的工程属性。功能图形对象的图形元素的这些数据特征可以通过简单、规范且易于运算和管理的特征线数据结构加以描述。
1.1 特征线的数据结构
特征线是一种由若干个整型数、实型数、特征点及两个长度可达256个字符的字符串构成的抽象数据类型,可以用来描述具有可变长工程信息的图形元素。其Object Pascal描述是:
type TLine=record //特征线数据结构
Id ,ItemIndex ,ControlValue,Tag1,Tag2,Tag3,LineWidth:integer;//整型数
R, TagD1, TagD2, TagD3:double; //实型数据
LineStr1,lineStr2:String; //字符串信息
firstPoint,secondPoint,arcPo: TUserDefPoint; //特征点
LineColor:TColor; //特征线颜色
LineStyle:TLineStyle;//特征线线型
……
end;
type TUserDefPoint=record //特征点数据结构
x,y,z:Double;
end;
根据特征线数据结构中各变量的具体数值,即可以得到具有工程信息的直线段、圆弧、圆或文本等图形元素。其中,特征线的整型、实型或字符串变量主要用于描述特征线的工程信息。其中,FGOTag(=1,2,3)及FGOTagD(=1,2,3)分别描述特征线相关的整型及实型数据;当工程信息数据较多,可变长且难以结构化时,可以将整型或实型数值转化为字符串存入LineStr1或LineStr2中,可以通过若干属性存取方法实现。
例如,要将某工程数值V存储在特征线Line中,可以采用如下实现方法:
SetLineValue(Line,S,V)——表示将数值V存储给特征线Line字符串中,其存储前置标记为s;
当要提取该数时,则取数值的方法为:
V:=GetLineValue(Line,S)——表示从特征线Line中提取前置标记为s的数值。
当要在特征线Line中存储某字符串信息时,可以采取的方法如下:
SetLineStringValue(Line,S,ItemIndex)——表示在Line中存储第ItemIndex个字符串;
当要在特征线Line中取得某字符串信息时,可以采取的方法如下:
S:=GetLineStringValue(Line,ItemIndex)——表示在Line中提取第ItemIndex个字符串。
当工程图形中需要描述丰富的图形信息和工程信息时,可以通过对特征线数据变量加载可视或隐性特征,将特征线数据结构直接显示为图形系统中直线、圆、圆弧或文本等图形元素,或者在图形系统被隐含,其目的主要用来存储功能图形对象中所可能蕴涵的丰富多样的工程信息。
1.2 基于特征线的几何计算
以特征线为统一数据线元数据模型,可以实现图形系统中图形元素间的各种几何运算,如交点计算、点到特征线距离、特征线长度、特征线切断、特征线上点计算、特征线段延长、特征线段剪切、特征线段平移、特征线段旋转等。以下示出了基于特征线的若干计算方法:
function GetIntersectedPointOfTwoLine(line1,line2:TLine):TUserDefPoint;
//计算两条特征线段的交点,不管两条线段有实交点,还是虚交点
function GetExtendedLineAtTwoEnd(line:TLine;Leftlen,RightLen:double):TLine;
//计算特征线向两端切线方向延长Leftlen,RightLen后的线段
……
基于特征线数据几何运算方法,可使工程图形几何运算简单化和规范化,并可方便提供用于图形系统中工程图形元素的绘制和编辑等各种方法,便捷地构造出丰富多样的工程几何图形。
1.3 特征线数组
功能图形对象可以通过特征线数组描述。特征线数组是由特征线构成的动态线性数组,其Object Pascal描述为:
TOLines:=array of TLine;
OLines:TOLines;
为了便于描述复杂功能图形对象中的工程信息,有时需要对特征线数组OLines进行分段描述,将特征线数组分解成的可视的及隐性特征线数组区段。特征线数组的分段结构如下:
OLines:=[ ViewOLines, virtureOLines];
ViewOLines=[ ViewOLines1,ViewOLines2,…,ViewOLinesn];
virtureOLines=[ virtureOLines1,virtureOLines2,…,virtureOLinesm];
其中,ViewOLines为可视特征线数组,ViewOLines(=1, 2,…,)为各分类可视特征线数组;virtureOLines为隐性特征线数组,virtureOLines(=1, 2,…,)为各分类隐性特征线数组。
利用上述特征线数组结构,既可描述工程图形中复杂多样的几何信息,也可以描述功能图形中所蕴涵的可变长非结构化的工程信息,其工程信息的类型、数量可以动态变化,增加一种工程数据不需要改变图形数据的数据结构。这种可变长非结构化的工程图形数据结构特征不仅很好地适用了工程应用复杂多样的工程信息描述,而且可二维工程图形描述的简单化和规范化,有利于工程图形的运算和管理。特征线数组的工程信息描述机制是多样的,常见特征描述策略有:
·局部特征描述 一个工程图形除了具有其整体特征外,还可能具有多样化的局部特征,通过对工程图形的局部特征描述,可以实现对工程图形的整体或局部特征处理;
· 多态显示描述 工程图形可能需要多种显示方式,来适应不同工程约束条件下的状态,或者当工程图形具有空间特征需要从多个视角显示其空间特征时,可以在特征线数组中加载局部特征信息来功能图形对象的多态显示机制;
· 功能图形化处理 同一类型的几何图形可以通过加载不同的工程信息而成为不同类型的功能图形类型,并表现出不同的工程图形属性行为特征;
· 功能图形的细化分类 通常情况下,由于工程问题的复杂性,同一类功能图形类型可能表现出多样化的属性行为特征,通过细化分类特征变量,可以对功能图形对象的细化分类;
· 复合异质工程图形描述 在一个特征线数组中,可以包含多种由不同材料构成的复合工程图形,通过在特征线数组中进行各材料的特征描述,可以实现根据工程约束条件对不同类型工程图形进行显示或运算处理;
· 复杂工程信息描述 当工程图形蕴涵大量复杂工程信息需要描述时,可以利用特征线数组的分段描述机制加以实现。
1.4 特征线数组的几何和专业计算
特征线数组是一种抽象数据类型,其几何信息与工程信息同属于一个数据结构,具有完整的几何信息和工程信息的描述能力,相应的面向特征线数组的计算,既可以是几何计算,又可包含专业方法的专业计算,具体计算方法丰富多样。以下是几种常见的特征线数组运算类型:
· 几何计算 主要通过对特征线数组的提取、平移、延长、修剪、旋转、分段、组合、重线清除、序号重排、方向调整、局部几何区域处理等方法创建出新特征线数组;
· 工程信息存取和管理 对特征线数组中的工程信息进行存储与提取,使特征线数组具有工程信息,并可从特征线数组中提取专业计算所需要的工程数据;
· 类型识别和处理 对特征线数组所代表的几何图形进行特征分析、判断,确定其所代表的工程图形类型,并加载上必要的初始化的工程信息;
· 关系识别和处理 识别和处理特征线数组元素间的几何约束关系,例如:平行、同轴、相交、垂直,特征线点是否在工程图形上等;
· 专业计算 从特征线数组中提取有关几何信息和工程信息,然后利用专业方法对它们进行加工处理,可以得到相关的由特征线数组表达的专业计算结果。
通常,一个工程问题可以通过规划分解为一系列便于实现的子问题,而每个子问题原始数据则可通过一个或多个具有工程约束关系的特征线数组或数组集来描述,利用专业方法对这些原始数据进行处理可以得到新的由特征线数组表达的新的问题求解结果。
图1显示了一贝雷梁结构计算模型。贝雷梁力学计算需要贝雷梁有限元模型、外荷载、约束支座等由特征线数组构成的功能图形对象组,由这些对象组构成的特征线数组包含了完整的杆件有限计算的原始信息,可以对其进行杆件有限元计算,得到新的负载了杆件内力、变形、约束反力等计算结果的的特征线数组集,通过各类特征线数组的多态显示机制,可以显示出杆件有限元的内力、变形效果,并利用杆件有限元特征线数组可以创建出需要的内力图表,所有计算功能实现均以特征线数组为数据类型,无需增加新的其它数据结构,实现了贝雷梁结构计算的简单化、规范化。
单元号Ni(kN)Qi(kN)Mi(kN.m)Nj(kN)Qj(kN)Mj(kN.m) 142-710.89-9.08-4.11710.899.08-2.25 409-43.74-0.97-0.4643.740.97-0.5
2 功能图形数据模型的关系模式
数据模型研究的一个核心内容是数据关系模式。不同的关系模式决定了不同数据模型类型。常见的数据模型可以是层状、网状和关系数据模型,或者面向对象的数据模型。面向对象数据模型虽然语义丰富,表达自然,具有很强的描述能力,但由于存在复杂的数据层次结构,使得面向对象的数据库管理系统的开发成为一种开发难度大、开发成本高的一项系统工程,至今还没有成熟的适合于路桥工程问题求解的商品化面向对象数据模型和相关数据库管理系统。目前流行的关系数据模型中,表(或关系)是用来表示数据,每个关系是由一些属性(列)或随时间变化的记录(行)构成的二维表来组成,记录相当于一个实体实例。功能图形数据模型中特征线数组之间的关系是一种协同合作关系模式,其特征可以通过特征线数组协同关系网络图来表达,见图2。图2(a)中的节点为独立的特征线数组,边表示特征线数组间存在协同关系,椭圆表示一个协同合作关系。对象网络本质上是一系列协同合作关系的集合体,它可以通过绘制一系列单个的协同合作关系图来表达。如图2(a)中的关系、、可以将该其分解为图2(b)所示的协同关系图。
(a) (b)
特征线数组间的协同合作关系是通过特征数组中用于描述类型或关系的特征数据自然地建立起来,并通过相关的专业方法加以实现,具体实现机制是:通过识别协同合作关系中所涉及的特征线数组,对它们进行几何或专业计算,最后通过对特征线数组进行修改或创建新的特征线数组,来表达产生协同合作关系的结果。本质上,功能图形数据模型属于一种新的数据模型,它与具有定长数据项的关系数据模型或者具有层次结构的面向对象数据模型具有存在明显区别(见图3),功能图形数据模型描述的是一组具有协同合作关系的具有几何属性和可变长非结构化工程属性的图形数据,具有很强的工程图形描述能力,可表达出复杂多样的工程属性,表现出广泛的适应性和灵活性。
3 功能图形数据模型的实现
功能图形数据模型是对工程图形数据描述的一种新的数据模型,其实现不仅需要研发面向功能图形数据模型的工程数据库管理系统,而且还需要研发面向功能图形对象的交互式图形系统。为此笔者开发了路桥施工计算专家系统RBCCE (Road Bridge Construction Calculation Expert),图4为其图形界面。RBCCE它是一款面向路桥工程测量计算领域的图形驱动式、高性能、集成化软件,是一种全新的通过动态驱动功能图形实现路桥工程问题求解的新软件系统,系统本身为面向功能图形对象的交互式图形系统,支持功能图形对象的建模技术,融合了面向功能图形数据模型的工程数据库管理系统。目前,RBCCE功能涵盖了铁路、公路、地铁、隧道、桥涵等线路及其结构物的平面及三维施工测量计算、线路改线、导线近似平差计算、路基土方自动计量及隧道断面分析、路桥施工安全计算等众多领域,提供了众多现有专业软件或国际通用软件难以实现的专业功能和使用性能。多年的推广应用表明,RBCCE具有良好的使用性能和广泛的应用推广价值,可以适合于路桥工程领域项目总工、工程部长、测量主管、普通测量人员等广大路桥施工技术人员使用。
4 结 论
工程数据模型是工程软件研究与开发的基础性和系统性课题,其研究需要有相关的工程问题求解建模理论为指导,并需要研究出合适的实现环境。研究的功能图形数据模型是在以功能图形对象建模技术为指导的基础上提出的,相应的实现环境为面向功能图形对象的路桥施工计算专家系统。功能图形数据模型本质上属于一种新工程数据模型,其学术意义在于实现了一种能够利用特征线、特征线数组等简单数据结构描述和创建复杂多样的工程图形、便捷处理特征线数组间蕴涵的各种协同合作关系,及支持各种功能图形对象的几何和专业计算的新途径,表现出广泛的工程应用价值。
[1] 童秉枢. 试论CAD技术的发展[J]. 工程图学学报, 1999, (3): 317-322.
[2] 秦浦雄. 桥梁CAD中的面向对象数据库及图形系统的研究[D]. 上海. 同济大学, 2000.
[3] 黄 羚, 任伟新, 李文雄, 等. 实现工程问题逆向求解模式的功能图形对象技术[J]. 计算机辅助设计与图形学学报, 2005, 17(7): 1556-1561.
[4] 黄 羚, 李建军, 杨腾峰. 图形驱动式路线施工放样与控制系统的研究与实现[J]. 公路交通科技, 2005, 22(11): 79-83.
[5] 黄 羚, 李皓玉, 向 敏. 基于功能图形对象的杆系结构力学计算[J]. 计算机辅助工程, 2008, 17(4): 64-68.
[6] 杨腾峰, 黄 羚, 侯永会. 图形驱动式线路施工测量放样计算集成系统[J]. 铁道建筑, 2008, (6): 86-89.
Function Graphic Data Model for Road Bridge Construction Problem Solving
HUANG Ling, LI Yan-qiang, FU Li-yong
( Civil Engineering Department, Shijiazhuang Railway Institute, Shijiazhuang Hebei 050043, China)
In view of the defects existing in present engineering data models for the road bridge construction problem solving, the function graphic data model is provided. Taking the function graphic modeling technology as the instruction, with the feature line and the feature line array as the basic data structure, this paper introduces the length-variable and unstructured engineering graphs, conducts the related graphic and professional computation, describes the collaborative relationship among feature line arrays, and the model supports dynamic computation process for function graphic objects. The result proves it a new way to create complicated engineering graphic objects with simple data structure and its engineering application value in engineering software development.
computer application; data model; function graphic object; road bridge construction problem
TP 391
A
1003-0158(2011)01-0174-06
2009-09-02
黄 羚(1966-),男,江西樟树人,副教授,博士,主要研究方向为桥梁施工设计与控制、路桥施工信息化技术。