一种基于线性定位系统的BIM构件联动方法转让专利

申请号 : CN202310898734.5

文献号 : CN116628827B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 安然苏林杨绪坤渠涧涛齐春雨郑志霖王凯军孟鹤王自超赵飞飞刘新宇齐成龙姚一鸣

申请人 : 中国铁路设计集团有限公司

摘要 :

本发明公开了一种基于线性定位系统的BIM构件联动方法,包括:S1,构建线路计算模型,提供公共计算接口;S2,构造线性定位单元及线性定位系统;S3,通过位置推断函数计算局部坐标系;S4,定义线性定位单元与构件间的关联关系;S5,构件的空间定位及放置;S6,基于线性定位系统的BIM构件联动。该方法构建了BIM构件间的树形关联结构,清楚描述关联构件间的逻辑关系,实现快速查询和定位构件;该方法建立了构件自动更新机制,大幅提高了构件的修改效率;该方法将不同专业构件的放置逻辑注册到映射表内,通过线性定位单元的推断函数索引引用不同专业构件的放置逻辑,实现了在统一的自动更新机制下不同专业构件的位置更新。

权利要求 :

1.一种基于线性定位系统的BIM构件联动方法,其特征在于包括以下步骤:S1,构建线路计算模型,提供公共计算接口,接口函数表示为AlignmentInterfaceFun();

S2,构造线性定位单元及线性定位系统:

所述线性定位单元由线路计算模型索引、位置推断函数索引、线性距离表征、参考线性定位单元索引、里程、局部坐标系、关联构件索引和关联构件局部定位表征组成,用于建立与线路计算模型、其它线性定位单元、位置推断函数及BIM构件的关联关系,实现构件的空间定位及布置;

所述参考线性定位单元索引为关联的线性定位单元的内存地址或者编号,线性定位单元之间通过参考线性定位单元索引建立关联,上一级线性定位单元为下一级的线性定位单元的参考线性定位单元;

所述线路计算模型索引为所述线路计算模型的内存地址或者编号,用于与线路计算模型进行关联,获取线路计算模型的接口;

根据放置BIM构件的数量构造等同数量的线性定位单元,BIM构件与线性定位单元一一关联,线性定位单元之间按照专业逻辑进行关联,形成所述线性定位系统;

S3,通过位置推断函数计算局部坐标系,包括以下分步骤:S31,对所述线性定位单元的线性距离表征进行赋值,距离表征为dDis;

S32,构造位置推断函数映射表,所述位置推断函数映射表由位置推断函数与其索引构成;

S33,根据专业布置BIM构件的逻辑构造位置推断函数,将位置推断函数注册在所述位置推断函数映射表并赋予索引值,将索引值赋予位置推断函数的索引,所述推断函数为BehaviorFun();

S34,根据所述参考线性定位单元的里程 、S33构造的推断函数及S31的线性距离表征计算当前线性定位单元的里程 :;

S35,通过里程计算局部坐标系:

所述局部坐标系由局部坐标系原点 、X轴向量 、Y轴向量   和Z轴向量  组成,其中,X轴向量为里程所对应的线路平面切向量,Z轴向量为竖直方向上的向量,Y轴向量由X轴与Z轴向量叉乘确定,坐标原点 为里程通过线路计算模型计算的坐标,所述局部坐标系构成三维变换矩阵  :,

通过关联的线路计算模型的接口函数AlignmentInterfaceFun()及步骤S34获得的里程Lc计算局部坐标系的三维变换矩阵:;

S4,定义线性定位单元与构件间的关联关系,包括以下分步骤:S41,将关联构件的内存地址或者编号传递给线性定位单元的关联构件的索引,将构件与线性定位单元进行关联;

S42,定义构件局部定位表征:

构件局部定位表征由关联构件在线性定位单元的局部坐标系下沿局部坐标系的X轴、Y轴、Z轴的三轴偏移量   及局部姿态向量( , , )组成;所述构件局部定位表征用三维变换矩阵   表示:;

S5,构件的空间定位及放置:

计算构件在全局坐标系下的坐标   和姿态向量   ,其构成的三维变换矩阵   为:

构件在全局坐标系下的坐标及姿态构成的三维矩阵 由步骤 S35中的三维变换矩阵 及步骤S42中的局部定位表征构建的三维变换矩阵  计算得到,计算公式如下:,

根据计算得到的全局坐标系下的坐标和姿态,实现构件的沿线路的空间放置;

S6,基于线性定位系统的BIM构件联动:

当构件发生移动时,位置变动消息沿线性定位系统中构造的消息链路进行传递,通知每一个关联的线性定位单元进行位置变更;

当线性定位单元收到位置变动消息时,通过关联的线路计算模型重新计算里程和局部坐标系,同时根据S5中的计算方法获得构件在全局坐标系下的坐标和姿态并传递给关联的BIM构件进行位置更新,同时将位置变动消息向下传递给关联的线性定位单元;如此循环,直至最后一个线性定位单元,实现构件的联动。

2.根据权利要求1所述的BIM构件联动方法,其特征在于:步骤S1中,通过输入线路线形参数数据构造线路计算模型,所述线路线形参数数据包括线路平面曲线参数数据、线路纵断面参数数据和断链信息数据,所述线路平面曲线参数数据由交点参数数据或者线元参数数据组成,所述线路纵断面参数数据由坡长坡率数据或者线元参数数据组成。

3.根据权利要求1所述的BIM构件联动方法,其特征在于:步骤S1中,所述公共计算接口包括里程计算三维坐标接口、里程计算切向量接口和坐标计算里程接口。

4.根据权利要求1所述的BIM构件联动方法,其特征在于:步骤S31中所述线性距离表征为所述线性定位单元之间里程差值、直线距离与所述线路计算模型相关的距离表达数据。

说明书 :

一种基于线性定位系统的BIM构件联动方法

技术领域

[0001] 本发明涉及线性工程BIM建模领域,尤其涉及一种适用于长大带状工程的基于线性定位系统的BIM构件联动方法。

背景技术

[0002] 在铁路及公路等线性工程BIM设计领域内, 各专业BIM构件均以线路中心线计算模型为参照进行空间定位及放置,专业构件间存在约束关系,且不同专业布置构件的逻辑也不一样。
[0003] 现有的BIM构件组织方式是离散的,各专业放置的构件是无组织地集成于BIM数据文件内,构件间未表达出这种依据线性空间相互关联的组织关系;当某一专业构件进行空间位置修改时,其下序专业与之相关联的构件无法自动同步更新,需要人工或者通过专业程序去修改受影响的构件位置,当涉及的下序专业较多时,修改工作量巨大。另一方面,不同专业放置BIM构件的逻辑不一样,很难建立统一的BIM构件放置机制。因此,需要抽象出一种线性定位系统来建立BIM构件间的关联关系,实现构件的自动更新并且建立统一的BIM构件放置机制。

发明内容

[0004] 为解决现有技术存在的问题,本发明提供一种基于线性定位系统的BIM构件驱动方法,通过创建线性定位系统及位置推断函数映射表为BIM构件建立树形关联结构,形成构件间的消息传播链路,实现关联构件自动位置更新。
[0005] 为此,本发明采用以下技术方案:
[0006] 一种基于线性定位系统的BIM构件联动方法,包括以下步骤:
[0007] S1,构建线路计算模型,提供公共计算接口,接口函数表示为AlignmentInterfaceFun();
[0008] S2,构造线性定位单元及线性定位系统:
[0009] 所述线性定位单元由线路计算模型索引、位置推断函数索引、线性距离表征、参考线性定位单元索引、里程、局部坐标系、关联构件索引和关联构件局部定位表征组成,用于建立与线路计算模型、其它线性定位单元、位置推断函数及BIM构件的关联关系,实现构件的空间定位及布置;
[0010] 所述参考线性定位单元索引为关联的线性定位单元的内存地址或者编号,线性定位单元之间通过参考线性定位单元索引建立关联,上一级线性定位单元为下一级的线性定位单元的参考线性定位单元;
[0011] 所述线路计算模型索引为所述线路计算模型的内存地址或者编号,用于与线路计算模型进行关联,获取线路计算模型的接口;
[0012] 根据放置BIM构件的数量构造等同数量的线性定位单元,BIM构件与线性定位单元一一关联,线性定位单元之间按照专业逻辑进行关联,形成所述线性定位系统;
[0013] S3,通过位置推断函数计算局部坐标系,包括以下分步骤:
[0014] S31,对所述线性定位单元的线性距离表征进行赋值,距离表征为dDis;
[0015] S32,构造位置推断函数映射表,所述位置推断函数映射表由位置推断函数与其索引构成;
[0016] S33,根据专业布置BIM构件的逻辑构造位置推断函数,将位置推断函数注册在所述位置推断函数映射表并赋予索引值,将索引值赋予位置推断函数的索引,所述推断函数为BehaviorFun();
[0017] S34,根据所述参考线性定位单元的里程  、S33构造的推断函数及S31的线性距离表征计算当前线性定位单元的里程  :
[0018] ;
[0019] S35,通过里程计算局部坐标系:
[0020] 所述局部坐标系由局部坐标系原点   、X轴向量  、Y轴向量   和Z轴向量   组成,其中,X轴向量为里程所对应的线路平面切向量,Z轴向量为竖直方向上的向量,Y轴向量由X轴与Z轴向量叉乘确定,坐标原点   为里程通过线路计算模型计算的坐标,所述局部坐标系构成三维变换矩阵   :
[0021] ,
[0022] 通过关联的线路计算模型的接口函数AlignmentInterfaceFun()及步骤S34获得的里程Lc计算局部坐标系的三维变换矩阵:
[0023] ;
[0024] S4,定义线性定位单元与构件间的关联关系,包括以下分步骤:
[0025] S41,将关联构件的内存地址或者编号传递给线性定位单元的关联构件的索引,将构件与线性定位单元进行关联;
[0026] S42,定义构件局部定位表征:
[0027] 构件局部定位表征由关联构件在线性定位单元的局部坐标系下沿局部坐标系的X轴、Y轴、Z轴的三轴偏移量   及局部姿态向量( , , )组成;所述构件局部定
位表征用三维变换矩阵   表示:
[0028] ;
[0029] S5,构件的空间定位及放置:
[0030] 计算构件在全局坐标系下的坐标   和姿态   ,其构成的三维变换矩阵矩阵矩阵 为:
[0031] ,
[0032] 构件在全局坐标系下的坐标及姿态构成的三维矩阵   由步骤 S35中的三维变换矩阵 及步骤S42中的局部定位表征构建的三维变换矩阵 计算得到,计算公式
如下:
[0033]  ,
[0034] 根据计算得到的全局坐标系下的坐标和姿态,实现构件的沿线路的空间放置;
[0035] S6,基于线性定位系统的BIM构件联动:
[0036] 当构件发生移动时,位置变动消息沿线性定位系统中构造的消息链路进行传递,通知每一个关联的线性定位单元进行位置变更;
[0037] 当线性定位单元收到位置变动消息时,通过关联的线路计算模型重新计算里程和局部坐标系,同时根据S5中的计算方法获得构件在全局坐标系下的坐标和姿态并传递给关联的BIM构件进行位置更新,同时将位置变动消息向下传递给关联的线性定位单元;如此循环,直至最后一个线性定位单元,实现构件的联动。
[0038] 具体的,在步骤S1中,通过输入线路线形参数数据构造线路计算模型,所述线路线形参数数据包括线路平面曲线参数数据、线路纵断面参数数据和断链信息数据,所述线路平面曲线参数数据由交点参数数据或者线元参数数据组成,所述线路纵断面参数数据由坡长坡率数据或者线元参数数据组成。
[0039] 步骤S1中所述公共计算接口包括里程计算三维坐标接口、里程计算切向量接口和坐标计算里程接口。
[0040] 步骤S31中所述线性距离表征为所述线性定位单元之间里程差值、直线距离与所述线路计算模型相关的距离表达数据。
[0041] 与现有技术相比,本发明具有以下有益效果:
[0042] 1.本发明的方法构建了BIM构件间的树形关联结构,进而清楚地描述关联构件间的逻辑关系,实现快速查询和定位构件;
[0043] 2.本发明建立了构件自动更新机制,基于树形关联结构建立了消息传递链路,实现了单个构件位置更细、关联构件位置自动级联更新的效果,大幅提高了构件的修改效率;
[0044] 3.本发明建立了统一的BIM构件放置机制,通过线性定位系统与位置推断函数映射表的结合,将不同专业构件的放置逻辑注册到映射表内,通过线性定位单元的推断函数索引引用不同专业构件的放置逻辑,实现了在统一的自动更新机制下不同专业构件的位置更新。

附图说明

[0045] 图1为本发明的联动方法的流程图;
[0046] 图2为本发明的线性定位系统建立的树形关联结构图;
[0047] 图3为本发明的线性定位单元的结构组成图;
[0048] 图4为本发明的位置推断函数映射表的组成图;
[0049] 图5为本发明中的消息传递链路;
[0050] 图6为本发明的基于线性定位系统的构件联动流程。

具体实施方式

[0051] 以下结合附图对本发明的联动方法进行详细说明。
[0052] 参见图1,本发明的基于线性定位系统的BIM构件联动方法包括以下步骤:
[0053] S1,构建线路计算模型:
[0054] 通过输入线路线形参数数据构造线路计算模型,线路线形参数数据包括:线路平面曲线参数数据、线路纵断面参数数据、断链信息数据。其中,线路平面曲线参数数据可以由交点参数数据或者线元参数数据组成;线路纵断面参数数据可以由坡长坡率数据或者线元参数数据组成。
[0055] 线路计算模型提供公共计算接口,所述接口包括但不限于:里程计算三维坐标接口、里程计算切向量接口、坐标计算里程接口等。接口函数表示为AlignmentInterfaceFun()。
[0056] S2,构造线性定位单元及线性定位系统:
[0057] 如图2所示,线性定位系统是线性定位单元的集合,由相互关联的线性定位单元构成树形数据结构,通过这种树形数据结构构造出消息链路,从而实现线性定位单元之间的消息传递。
[0058] 首先,构造线性定位单元并建立关联关系:根据放置BIM构件的数量构造等同数量的线性定位单元,BIM构件与线性定位单元一一关联,线性定位单元之间按照专业逻辑进行关联,形成线性定位系统。
[0059] 如图3所示,线性定位单元由线路计算模型索引、位置推断函数索引、线性距离表征、参考线性定位单元索引、里程、局部坐标系、关联构件索引、关联构件局部定位表征8部分组成,用于建立与线路计算模型、其它线性定位单元、位置推断函数及BIM构件的关联关系,实现构件的空间定位及布置。其中:
[0060] 参考线性定位单元索引为关联的线性定位单元的内存地址或者编号,用于进行线性定位单元之间的关联。线性定位单元之间通过参考线性定位单元索引建立关联,其关联关系如图2所示,采用树形数据结构描述,上一级线性定位单元为下一级的线性定位单元的参考线性定位单元。其中“1”、“1‑1”等均为线性定位单元的索引,索引为“1‑1”的线性定位单元的参考线性定位单元的索引为“1”。
[0061] 线路计算模型索引为S1中创建的线路计算模型的内存地址或者编号,用来与线路计算模型进行关联,获取线路计算模型的接口。将线路计算模型的内存地址赋值给线性定位单元的线路计算模型索引,建立线性定位单元与线路计算模型的关联,通过关联线路计算模型使线性定位单元获取各种计算接口。
[0062] S3,通过位置推断函数计算局部坐标系,包括以下分步骤:
[0063] S31,对线性定位单元的线性距离表征进行赋值,线性距离表征可以是单元之间里程差值、直线距离等与线路计算模型相关的距离表达数据,该表征由专业进行自定义,距离表征为dDis。
[0064] S32,构造位置推断函数映射表。如图4所示,位置推断函数映射表由位置推断函数与其索引构成,用于提供公共服务,且表内函数可供多个线性定位单元进行复用。
[0065] S33,根据专业布置BIM构件的逻辑构造位置推断函数,将位置推断函数注册在所述位置推断函数映射表并赋予索引值,将索引值赋予位置推断函数的索引。位置推算函数可以根据专业的使用需求进行自定义,根据线路计算模型提供的计算接口,通过参考的线性定位单元及线性距离表征推算当前线性定位单元的里程及局部坐标系。推断函数为BehaviorFun()。
[0066] S34,根据所述参考线性定位单元的里程  、S33构造的推断函数及S31的线性距离表征计算当前线性定位单元的里程 ;
[0067] 。
[0068] S35,通过里程计算局部坐标系:
[0069] 局部坐标系由局部坐标系原点   、 X轴向量  、Y轴向量  、Z轴向量  组成。其中,X轴向量为里程所对应的线路平面切向量,Z轴向量为竖直方向上的向量,Y轴向量由X轴与Z轴向量叉乘确定。坐标原点 为里程通过线路计算模型计算的坐标。局部坐标系构成三维变换矩阵   ,如下所示:
[0070] ,
[0071] 通过关联的线路计算模型的接口函数AlignmentInterfaceFun()及S34获得的里程Lc计算局部坐标系的三维变换矩阵:
[0072] 。
[0073] 4,定义线性定位单元与构件间的关联关系:
[0074] S41,将关联构件的内存地址或者编号传递给线性定位单元的关联构件的索引,将构件与线性定位单元进行关联;
[0075] S42,定义构件局部定位表征:
[0076] 构件局部定位表征由关联构件在线性定位单元的局部坐标系下沿局部坐标系的X轴、Y轴、Z轴的三轴偏移量   及局部姿态向量( , , )组成。构件局部定位表
征可以用三维变换矩阵 表示,如下所示:
[0077] 。
[0078] S5,构件的空间定位及放置;
[0079] 计算构件在全局坐标系下的坐标 和姿态   ,其构成的三维变换矩阵   为:
[0080] ,
[0081] 构件在全局坐标系下的坐标及姿态构成的三维矩阵   由 S35中的三维变换矩阵 及S42中的局部定位表征构建的三维变换矩阵   计算得到,计算公式如下所
示:
[0082] 。
[0083] 根据计算得到的全局坐标系下的坐标和姿态,实现构件的沿线路的空间放置。
[0084] S6,基于线性定位系统的BIM构件联动:
[0085] 当构件发生移动时(包括位置变化或者里程变化),位置变动消息会沿线性定位系统中构造的消息链路进行传递,通知每一个关联的线性定位单元进行位置变更,如图5所示,当图中“1‑3”节点发生移动时,会通知关联的子节点“1‑3‑1”,“1‑3‑2”,“1‑3‑3”,子节点“1‑3‑2”会继续通知关联节点“1‑3‑2‑1”和“1‑3‑2‑2”。
[0086] 如图6所示,当线性定位单元收到位置变动消息时,会通过关联的线路计算模型重新计算里程和局部坐标系,同时返回的局部坐标系根据S5中的计算方法获得构件在全局坐标系下的坐标和姿态并传递给关联的BIM构件进行位置更新;同时将位置变动消息向下传递给关联的线性定位单元。如此循环,直至最后一个线性定位单元,从而实现构件的联动。