一种适用于三维设计钢筋图的抗干涉点筋自动标注方法转让专利

申请号 : CN202210417585.1

文献号 : CN114842174B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王小毛陈尚法谢明霞廖杰彭扬平高蔚谭海蝉张乐罗炜游攀利

申请人 : 长江勘测规划设计研究有限责任公司

摘要 :

本发明公开了一种适用于三维设计钢筋图的抗干涉点筋自动标注方法。它包括如下步骤:步骤一:将矢量存储的结构线和钢筋点线绘制到栅格图上;步骤二:以点筋关联结构线从长到短的顺序,依次为每组点筋计算并绘制标注线;以点筋关联结构线从短到长的顺序,依次对每组点筋执行步骤三至步骤六;步骤三:确定标注文本内容、候选方向及理想布局区域,计算各候选方向标注文本干涉图;步骤四:基于点筋标注规范和设计人员标注习惯,构建标注文本位置损失权重图;步骤五:计算标注文本方向和位置,并绘制标注文本;步骤六:根据标注底线和标注文本的位置关系,计算并绘制标注扩展线。本发明具有能够自动生成干涉少、结构规整且易于阅读的点筋标注的优点。

权利要求 :

1.一种适用于三维设计钢筋图的抗干涉点筋自动标注方法,其特征在于:包括如下步骤:步骤一:读取三维模型的剖切视图信息,将矢量存储的结构线和钢筋点线绘制到栅格图上;

步骤二:以点筋关联结构线从长到短的顺序,依照点筋标注规范、干涉规避原则以及标注文本理想布局区域容错率最大化原则,依次为每组点筋计算并绘制标注线;

以点筋关联结构线从长到短的顺序,为每组点筋构建候选标注线,计算每个候选标注线的干涉值和标注文本理想布局区域容错率,并综合计算结果选取最优的候选标注线作为点筋标注线进行绘制;

以点筋关联结构线从短到长的顺序,依次对每组点筋执行步骤三至步骤六;

步骤三:确定标注文本内容、候选方向及理想布局区域,计算各候选方向标注文本干涉图;

步骤四:基于点筋标注规范和设计人员标注习惯,构建标注文本位置损失权重图;

步骤五:结合标注文本干涉图、位置损失权重图以及理想布局区域,计算标注文本方向和位置,并绘制标注文本;

从标注文本理想布局区域到全图范围,基于标注文本干涉图和位置损失权重图,检索干涉值为0中位置损失值最低的标注文本位置和方向,并依据检索的位置和方向绘制标注文本;

步骤六:根据标注底线和标注文本的位置关系,计算并绘制标注扩展线;

基于标注底线和标注文本的位置关系,通过延长标注底线或计算标注底线到标注文本的最短路径,得到并绘制标注扩展线。

2.根据权利要求1所述的适用于三维设计钢筋图的抗干涉点筋自动标注方法,其特征在于:在步骤一中,读取三维模型的剖切视图信息,将矢量存储的结构线和钢筋点线绘制到栅格图上,具体过程如下:S1a:定义形状类及其功能函数,形状类包括:直线、弧以及B样条;功能函数包括:初始化、坐标变换、绘制、采样点获取、法向量获取、边缘伸展、法向量方向扩展;

S1b:读取三维模型的剖切视图信息,将其中的矢量形状初始化为形状对象;

S1c:初始化高分辨率栅格图,构建剖切视图到栅格图的坐标映射关系,调用几何形状的坐标变换函数和绘制函数,将结构线和钢筋点线以不同赋值绘制到栅格钢筋图上。

3.根据权利要求1所述的适用于三维设计钢筋图的抗干涉点筋自动标注方法,其特征在于:在步骤二中,以点筋关联结构线从长到短的顺序,依次为每组点筋计算并绘制标注线,具体过程如下:S2a:计算每组点筋所关联结构线的长度,其长度计算区间为点筋所分布范围内区间;

以关联结构线从长到短的顺序对每组点筋执行步骤S2b至S2e;

S2b:基于点筋标注规范和关联结构线形状构建候选标注线;

S2c:针对每个候选标注线绘制栅格图,并计算所绘栅格图和钢筋图的内积,得到候选标注线的干涉值;

S2d:为每个候选标注线确定标注文本理想布局区域,计算理想布局区域内实际可布局区域的面积占比,得到标注文本理想布局区域容错率;

S2e:选取候选标注线中干涉值最小者进行绘制,若存在多个干涉值最小者,则从多个干涉值最小者中选取标注文本理想布局区域容错率最大者绘制。

4.根据权利要求1所述的适用于三维设计钢筋图的抗干涉点筋自动标注方法,其特征在于:在步骤三中,确定标注文本内容、候选方向及理想布局区域,计算各候选方向标注文本干涉图,具体过程如下:S3a:读取点筋所对应钢筋组编号、根数、等级、直径和间距信息,构成标注文本内容;

S3b:基于标注线样式确定标注文本理想布局区域,基于标注线方向确定标注文本候选方向;

S3c:针对每种标注文本候选方向绘制标注文本卷积核;

S3d:用不同方向的标注文本卷积核对栅格钢筋图卷积,获取各方向标注文本干涉图。

5.根据权利要求1所述的适用于三维设计钢筋图的抗干涉点筋自动标注方法,其特征在于:在步骤四中,构建标注文本位置损失权重图,具体过程如下:S4a:计算钢筋图每个像素到标注底线的最近距离,构成距离矩阵A;

S4b:计算钢筋图每个像素到标注底线中点距离,构成距离矩阵B;

S4c:构建标注文本位置损失权重图为A+λB,其中λ为权重系数。

6.根据权利要求1所述的适用于三维设计钢筋图的抗干涉点筋自动标注方法,其特征在于:在步骤五中,计算标注文本方向和位置,并绘制标注文本,具体过程如下:S5a:检索标注文本位置损失权重图和标注底线平行方向对应的标注文本干涉图,若在标注文本理想布局区域内存在干涉值为0的位置,则在干涉值为0且位置损失值最低的位置以平行于标注底线的方向绘制标注文本,并结束步骤五;否则,继续执行步骤S5b至S5d;

S5b:基于钢筋图构建有向连通图,其节点为像素,边连接相邻像素,边权重与终点像素对应要素相关,要素权重由小到大依次是:空白像素、结构线、标注线和标注文本;

S5c:基于狄杰斯克拉最短路径搜索算法,计算连通图上各位置到标注线的最短路径及路径距离,构建标注线路径距离图;

S5d:基于各方向标注文本干涉图检索干涉值最小的位置及对应文本方向,为每个检索出的位置方向计算损失值,损失值为文本包围盒到标注线最短路径距离、位置损失值以及文本方向优先级权重的加权求和,从检索出的位置方向中选取损失值最小者,并基于选取的位置方向绘制标注文本。

7.根据权利要求1所述的适用于三维设计钢筋图的抗干涉点筋自动标注方法,其特征在于:在步骤六中,计算并绘制标注扩展线,具体过程如下:若标注文本在理想布局区域内但超出了标注底线范围,则延伸标注底线直至其覆盖整个标注文本底部;若标注文本不在理想布局区域,则基于步骤五计算标注文本包围盒到标注底线的最短路径,沿最短路径绘制标注扩展线,并将标注扩展线延伸至覆盖文本顶部或者底部。

说明书 :

一种适用于三维设计钢筋图的抗干涉点筋自动标注方法

技术领域

[0001] 本发明涉及水利工程技术领域和计算机辅助设计领域,更具体地说它是一种适用于三维设计钢筋图的抗干涉点筋自动标注方法。

背景技术

[0002] 随着计算机辅助设计技术的发展与推广,基于三维模型的出图方法已成为工程设计领域的主流方法。目前,该方法主要利用传统的剖切和投影算法来实现工程图中模型轮廓的生成,而很难做到标注的自动创建和布局。
[0003] 钢筋图是水利工程行业主要设计成果之一。除水工结构线和钢筋线外,它还包含钢筋标注。在钢筋标注中,点筋标注因其标注对象那繁多、标注样式多样、标注位置依赖钢筋图结构以及容易与其他图形要素干涉等原因,而往往需要较大的人工成本完成其布局和绘制。
[0004] 为减少点筋标注的工作量,专利CN111895898A提出了一种钢筋断面图点钢筋标注方法。该方法基于固定的标注模式对钢筋图中所有点筋进行标注。虽然标注过程不需要人工参与且标注样式高度同一,但是由于标注逻辑简单且没有考虑点筋周围的环境信息,该方法无法规避点筋标注和其他图形要素之间的干涉。
[0005] 不同于专利CN111895898A所述方法采用全自动标注的方式,专利CN109814783B提出的基于MicroStation的点筋引线注释绘制方法采用人机交互的方式标注点筋。通过计算点筋的分布方位以及鼠标与点筋的位置关系,专利CN109814783B所述点筋标注方法让设计人员决定点筋标注的方位并通过计算机辅助设计技术基于该方位自动绘制点筋标注。该方法虽然通过引入人机交互能够避免点筋标注与其他图形要素间的干涉,但是也正因如此标注过程仍需要较大的人工成本。
[0006] 与上述个专利所提出的点筋标注方案不同,专利CN102831259B中所提出的点筋标注方法在不需要人工参与的情况下能够一定程度上避免所绘点筋标注与其他图形要素间的干涉。该方法初始化所有点筋标注之后,基于网格划分和碰撞检测计算点筋标注的评估值,并通过迭代调整的方式得到评估值满足要求的标注方位,从而实现具有一定抗干涉能力的点筋标注布局和绘制。然而,专利CN102831259B并未明确评估值的具体定义,标注的布局位置也受限于局部的优化调整区域,基于该专利所绘制的点筋标注仍存在较大的干涉问题。
[0007] 在商业软件领域,三维配筋软件VisualFL的二维出图模同样块附带点筋标注功能。尽管VisualFL在水利工程行业有着较高的知名度和普及度,其输出的钢筋图中点筋标注仍存在干涉和布局混乱的问题,使得钢筋图的可读性较差。
[0008] 综上所述,现有的基于计算机辅助设计的钢筋图点筋标注方法或需要较大的人工参与,或无法避免标注的干涉和布局混乱问题。因此,开发一种能自动生成干涉少、布局规整且易于阅读的点筋标注的标注方法十分必要。

发明内容

[0009] 本发明的目的是为了提供一种适用于三维设计钢筋图的抗干涉点筋自动标注方法。该方法能够基于待标注钢筋图及其附属信息,自动生成干涉少、结构规整且易于阅读的点筋标注,以在解决现有的基于计算机辅助设计的钢筋图点筋标注方法或需要较大的人工参与,或无法避免标注干涉和布局混乱的问题。
[0010] 为了实现上述目的,本发明的技术方案为:一种适用于三维设计钢筋图的抗干涉点筋自动标注方法,其特征在于:包括如下步骤:
[0011] 步骤一:读取三维模型的剖切视图信息,将矢量存储的结构线和钢筋点线绘制到栅格图上;
[0012] 步骤二:以点筋关联结构线从长到短的顺序,依照点筋标注规范、干涉规避原则以及标注文本理想布局区域容错率最大化原则,依次为每组点筋计算并绘制标注线;
[0013] 以点筋关联结构线从短到长的顺序,依次对每组点筋执行步骤三至步骤六;
[0014] 步骤三:确定标注文本内容、候选方向及理想布局区域,计算各候选方向标注文本干涉图;
[0015] 步骤四:基于点筋标注规范和设计人员标注习惯,构建标注文本位置损失权重图;
[0016] 步骤五:结合标注文本干涉图、位置损失权重图以及理想布局区域,计算标注文本方向和位置,并绘制标注文本;
[0017] 步骤六:根据标注底线和标注文本的位置关系,计算并绘制标注扩展线。
[0018] 在上述技术方案中,在步骤一中,读取三维模型的剖切视图信息,将矢量存储的结构线和钢筋点线绘制到栅格图上,具体过程如下:
[0019] S1a:定义形状类及其功能函数,形状类包括:直线、弧以及B样条;功能函数包括:初始化、坐标变换、绘制、采样点获取、法向量获取、边缘伸展、法向量方向扩展;
[0020] S1b:读取三维模型的剖切视图信息,将其中的矢量形状初始化为形状对象;
[0021] S1c:初始化高分辨率栅格图,构建剖切视图到栅格图的坐标映射关系,调用几何形状的坐标变换函数和绘制函数,将结构线和钢筋点线以不同赋值绘制到栅格钢筋图上。
[0022] 在上述技术方案中,在步骤二中,以点筋关联结构线从长到短的顺序,依次为每组点筋计算并绘制标注线,即以点筋关联结构线从长到短的顺序,为每组点筋构建候选标注线,计算每个候选标注线的干涉值和标注文本理想布局区域容错率,并综合计算结果选取最优的候选标注线作为点筋标注线进行绘制,具体过程如下:
[0023] S2a:计算每组点筋所关联结构线的长度,其长度计算区间为点筋所分布范围内区间;
[0024] 以关联结构线从长到短的顺序对每组点筋执行步骤S2b至S2e;
[0025] S2b:基于点筋标注规范和关联结构线形状构建候选标注线;
[0026] S2c:针对每个候选标注线绘制栅格图,并计算所绘栅格图和钢筋图的内积,得到候选标注线的干涉值;
[0027] S2d:为每个候选标注线确定标注文本理想布局区域,计算理想布局区域内实际可布局区域的面积占比,得到标注文本理想布局区域容错率;
[0028] S2e:选取候选标注线中干涉值最小者进行绘制,若存在多个干涉值最小者,则从多个干涉值最小者中选取标注文本理想布局区域容错率最大者绘制。
[0029] 在上述技术方案中,在步骤三中,确定标注文本内容、候选方向及理想布局区域,计算各候选方向标注文本干涉图,即根据点筋对应钢筋组信息及标注线样式,确定标注文本内容、候选方向及理想布局区域,针对每种标注文本候选方向构建标注文本卷积核,并用卷积核卷积钢筋图得到各候选方向的标注文本干涉图,具体过程如下:
[0030] S3a:读取点筋所对应钢筋组编号、根数、等级、直径和间距信息,构成标注文本内容;
[0031] S3b:基于标注线样式确定标注文本理想布局区域,基于标注线方向确定标注文本候选方向;
[0032] S3c:针对每种标注文本候选方向绘制标注文本卷积核;
[0033] S3d:用不同方向的标注文本卷积核对栅格钢筋图卷积,获取各方向标注文本干涉图。
[0034] 在上述技术方案中,在步骤四中,构建标注文本位置损失权重图,即基于点筋标注规范和设计人员标注习惯,综合计算钢筋图每个像素与标注线的距离关系,得到标注文本位置损失权重图,具体过程如下:
[0035] S4a:计算钢筋图每个像素到标注底线的最近距离,构成距离矩阵A;
[0036] S4b:计算钢筋图每个像素到标注底线中点距离,构成距离矩阵B;
[0037] S4c:构建标注文本位置损失权重图为A+λB,其中λ为权重系数。
[0038] 在上述技术方案中,在步骤五中,计算标注文本方向和位置并绘制标注文本,即从标注文本理想布局区域到全图范围,基于标注文本干涉图和位置损失权重图,检索干涉值为0中位置损失值最低的标注文本位置和方向,并依据检索的位置和方向绘制标注文本,具体过程如下:
[0039] S5a:检索标注文本位置损失权重图和标注底线平行方向对应的标注文本干涉图,若在标注文本理想布局区域内存在干涉值为0的位置,则在干涉值为0且位置损失值最低的位置以平行于标注底线的方向绘制标注文本,并结束步骤五;否则,继续执行步骤S5b至S5d;
[0040] S5b:基于钢筋图构建有向连通图,其节点为像素,边连接相邻像素,边权重与终点像素对应要素相关,要素权重由小到大依次是:空白像素、结构线、标注线和标注文本;
[0041] S5c:基于狄杰斯克拉最短路径搜索算法,计算连通图上各位置到标注线的最短路径及路径距离,构建标注线路径距离图;
[0042] S5d:基于各方向标注文本干涉图检索干涉值最小(通常为0)的位置及对应文本方向,为每个检索出的位置方向计算损失值,损失值为文本包围盒到标注线最短路径距离、位置损失值以及文本方向优先级权重的加权求和,从检索出的位置方向中选取损失值最小者,并基于选取的位置方向绘制标注文本。
[0043] 在上述技术方案中,在步骤六中,计算并绘制标注扩展线,即基于标注底线和标注文本的位置关系,通过延长标注底线或计算标注底线到标注文本的最短路径,得到并绘制标注扩展线,具体过程如下:
[0044] 若标注文本在理想布局区域内但超出了标注底线范围,则延伸标注底线直至其覆盖整个标注文本底部;若标注文本不在理想标布局区域,则基于步骤五计算标注文本包围盒到标注底线的最短路径,沿最短路径绘制标注扩展线,并将标注扩展线延伸至覆盖文本顶部或者底部。
[0045] 本发明具有如下优点:
[0046] 本发明所提供的适用于三维设计钢筋图的抗干涉点筋自动标注方法,能够基于待标注钢筋图及其附属信息,自动生成干涉少、结构规整且易于阅读的点筋标注。通过步骤S2c所述基于矩阵内积计算标注线干涉值和步骤S3c至S3d所述基于标注文本卷积核构建标注文本干涉图,本发明方法以干涉值最小化策略有效实现点筋标注和其他图形要素之间的干涉规避;通过步骤S2d、S3b所述标注文本理想布局区域计算和步骤S4a至S4c所述标注文本位置损失权重图计算,本发明方法能够筛选符合点筋标注规范和设计人员标注习惯的标注文本布局方位;通过步骤S2a所述点筋关联结构线长度计算和排序以及S2d所述标注文本理想布局区域容错率计算,本发明方法能够以全局调整和局部预判的方式保证标注布局的全局结构规整;通过步骤S5b至S5d所述连通图构建和最短路径搜索,本发明方法在避免干涉的前提下,缩短标注线和标注文本间标注扩展线的距离,从而提升标注结果的可读性。
[0047] 图14~图16展示了本发明方法和三维配筋软件VisualFL分别在图7(a)、7(b)和7(c)所示剖切位置钢筋图的点筋标注结果对比,对比表明:本发明方法计算的点筋标注具有干涉少、结构规整和易于阅读的优点。

附图说明

[0048] 图1为现有点筋标注的组成要素及其关联结构图;
[0049] 图2为现有技术降低点筋标注可读性的主要因素图;
[0050] 图3为现有技术点筋标注文本的组成内容图;
[0051] 图4为本发明中候选点筋标注线样式及标注文本理想布局区域图;
[0052] 图5为本发明中标注文本理想布局区域及其容错率图;
[0053] 图6为本发明点筋标注方法流程图;
[0054] 图7为本发明实施例采用的三维模型案例及其剖切位置和方向图;
[0055] 图8为本发明实施例基于图7(a)绘制的三维模型剖切钢筋图;
[0056] 图9为本发明实施例对图8的点筋标注线绘制标注线之后的钢筋图;
[0057] 图10为本发明实施例中点筋标注文本干涉图及其含义图;
[0058] 图11为本发明实施例中标注文本的4类方向图;
[0059] 图12为本发明实施例中标注文本位置损失变化趋势和位置损失权重图;
[0060] 图13为本发明实施例进行点筋标注之后的钢筋图;
[0061] 图14为本发明实施例和三维配筋软件VisualFL分别在图7(a)所示剖切位置钢筋图的点筋标注结果对比图;
[0062] 图15为本发明实施例和三维配筋软件VisualFL分别在图7(b)所示剖切位置钢筋图的点筋标注结果对比图;
[0063] 图16为本发明实施例和三维配筋软件VisualFL分别在图7(c)所示剖切位置钢筋图的点筋标注结果对比图。

具体实施方式

[0064] 以下将结合附图详细阐述本发明方案所涉及的重要概念,以方便技术领域相关人员更好地理解本发明方案。
[0065] a.点筋标注的组成要素及其关联结构:如图1所示,点筋标注主要由标注文本和标注线组成,标注线可以进一步划分为承托标注文本的标注底线和连接点筋的标注引线。当标注文本不在标注底线上,或者标注文本超出标注底线范围时,则需要绘制标注扩展线以连接标注文本和标注底线。标注线的样式主要与点筋所关联的结构线相关,关联结构线即点筋所分布的结构面在当前视图的投影,点筋标注线样式和关联结构线的关系如图4所示。
[0066] b.降低点筋标注可读性的主要因素:如图2所示,降低点筋标注可读性的主要因素分别为干涉和布局混乱。干涉,即钢筋图中要素互相叠加导致难以辨明的现象,如图2(a)所示;布局混乱,即标注样式违背设计人员的标注习惯,导致观感差的现象,如图2(b)所示。图2(a)为点筋标注干涉的标注示意图;图2(b)为点筋标注布局混乱的标注示意图。
[0067] c.候选标注线:如图4所示,候选标注线即同时满足点筋标注规范和设计人员标注习惯的标注线,其样式与点筋关联结构线相关。在图4中,图4(a)表示直线结构线对应点筋候选标注线样式及标注文本理想布局区域图;图4(b)表示弧结构线对应点筋候选标注线样式及标注文本理想布局区域图;图4(c)表示B样条结构线对应点筋候选标注线样式及标注文本理想布局区域图。在本发明方案所述方法中,标注线从候选标注线中选取。
[0068] d.标注文本理想布局区域:如图4所示,标注文本理想布局区域即同时满足点筋标注规范和设计人员标注习惯的标注文本布局区域,其样式与标注线样式相关。
[0069] e.标注文本理想布局区域容错率:如图5所示,标注文本理想布局区域容错率,即标注文本实际可布局区域在理想布局区域内的面积占比(理想布局区域容错率=实际可布局区域面积/标注文本理想布局区域面积)。图5(a)和5(b)分别展示了同一点筋的不同候选标注线所对应理想布局区域和理想布局区域中实际可布局区域,实际可布局区域越大,标注文本布局到理想布局区域的概率越高,对应的标注文本理想布局区域容错率越大。
[0070] 实施例
[0071] 以下将通过实施例配以附图的方式详细阐述本发明方案的实施方式和技术效果。需要说明的是,以下所述的实施例仅仅是本发明的部分实施例,而不是全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所做出的所有其他实施例,都是本发明保护的范围。
[0072] 先以发明试用于某水利工程项目的进水塔结构设计中为实施例对本发明进行详细说明。
[0073] 本实施例采用发明所提供的适用于三维设计钢筋图的抗干涉点筋自动标注方法进行点筋自动标注,具体实施方式流程图如图6所示,该方法步骤如下:
[0074] 步骤1:读取三维模型的剖切视图信息,将矢量存储的结构线和钢筋点线绘制到栅格图上。
[0075] 为方便计算和读取钢筋图中结构线、钢筋点线、标注线以及标注文本等占领区域,从而为抗干涉标注提供信息基础,本发明方法的全部操作都是基于栅格图执行,因此首先要将读取的剖切视图转化为栅格图。
[0076] 首先,为方便对钢筋图中的所有几何形状做统一管理,定义形状基类及其虚成员函数,包括:初始化、坐标变换、绘制、采样点获取、法向量获取、边缘伸展、法向量方向扩展等。基于形状基类定义直线类、弧类以及B样条类,其中直线类用以表示直线,弧类用以表示圆、圆弧、椭圆、椭圆弧以及实心点,B样条用以表示直线和弧之外的所有形状。
[0077] 随后,读取三维模型的剖切视图信息,包括结构信息和钢筋组信息,将其中的几何形状用上述直线、弧和B样条对象表示。
[0078] 最后,初始化高分辨率栅格图,构建剖切视图到栅格图的坐标映射关系,调用形状对象的坐标变换函数和绘制函数,在栅格图上绘制结构线和钢筋点线。图7展示了一例三维模型案例,图8为本步骤基于图7(a)对应剖切视图信息绘制的栅格图。在图7中,图7(a)表示本实施例三维模型剖视结构示意图一,其中的白色框线表示三维模型的剖切部位,箭头表示三维模型的剖切方向。图7(b)表示本实施例三维模型剖视结构示意图二,其中的白色框线表示三维模型的剖切部位,箭头表示三维模型的剖切方向。图7(c)表示本实施例三维模型剖视结构示意图三,其中的白色框线表示三维模型的剖切部位,箭头表示三维模型的剖切方向。
[0079] 步骤2:以点筋关联结构线从长到短的顺序,为每组点筋构建候选标注线,计算每个候选标注线的干涉值和标注文本理想布局区域容错率,并综合计算结果选取最优的候选标注线作为点筋标注线进行绘制。
[0080] 当钢筋图中结构线和钢筋点线的布局较为紧凑或者复杂时,往往需要适当调整标注线样式和标注文本位置,以避免标注和其他要素产生干涉。然而,对于任意一组点筋,其候选标注线和标注文本理想布局区域是有限的。为保证钢筋图中所有点筋都能得到干涉少且结构规整的标注,本发明方案提出基于点筋关联结构线长度设置点筋标注优先级以及基于标注文本理想布局区域容错率布局标注线的策略。该策略的核心思路是:点筋候选标注线长度越大,则越容易与其他图形要素叠加干涉,因此关联结构线长度大的点筋标注线布局优先级应该更高;标注文本理想布局区域容错率越大,则标注文本布局在理想布局区域内的概率越高,因此应该优先选取标注文本理想布局区域容错率更大的候选标注线。
[0081] 首先,计算钢筋图中每组点筋所关联结构线的长度。若视图信息未提供点筋关联结构线信息,则在钢筋图内检索距点筋最近的结构线。选取点筋组中的首尾点筋,计算关联结构线距首尾点筋最近的两点,两点之间的结构线长度即为点筋关联结构线的长度。
[0082] 随后,以关联结构线从长到短的顺序对每组点筋执行下述步骤:
[0083] a.依照点筋标注规范和设计人员标注习惯调研结果,确认点筋候选标注线,候选标注线样式和关联结构线的关系如图4所示。
[0084] b.计算所有候选标注线的干涉值。创建一个尺寸和栅格钢筋图相同且初始值为0的矩阵,并以权值为1将候选标注线绘制于矩阵上。计算该矩阵和栅格钢筋图(栅格图本质是矩阵)的内积,得到候选标注线的干涉值。干涉值越大,则候选标注线和视图中其他要素干涉范围越大,干涉值为0表示候选项不与其他任何要素叠加。
[0085] c.针对每个候选标注线,计算相应标注文本理想布局区域及理想布局区域容错率。依照钢筋标注规范及设计人员标注习惯,确认候选标注线对应标注文本理想布局区域。标注文本理想布局区域分布在标注底线上,其高度比标注文本稍高,样式与标注线关系如图4所示。计算标注文本理想布局区域内实际可布局区域的面积占比,得到标注文本理想布局区域容错率。
[0086] d.选取干涉值最小的候选标注线,若最小干涉值对应多个候选标注线,则继续选取标注文本理想布局容错率最大的候选标注线,随后在钢筋图上绘制所选取的候选标注线。图9展示了本发明方法对图8所示案例绘制标注线之后的结果。
[0087] 为整体提高钢筋图中点筋标注文本在理想布局区阈内布局的概率,以点筋关联结构线从短到长的顺序布局每组点筋的标注文本,该排序策略核心思路是:点筋标注底线越短,则标注文本布局在理想布局区域的概率越低,因此关联结构线短的点筋标注文本布局优先级应该更高。点筋标注文本布局的具体方法如步骤3至步骤6所述;
[0088] 步骤3:根据点筋对应钢筋组信息及标注线样式,确定标注文本内容、候选方向及理想布局区域,针对每种标注文本候选方向构建标注文本卷积核,并用卷积核卷积钢筋图得到各候选方向的标注文本干涉图。
[0089] 为精确绘制不干涉且可读性高的点筋标注,本发明方法提出构建标注文本干涉图作为抗干涉标注计算的基础。标注文本干涉图是表示不同位置布局标注文本产生干涉程度的栅格图,如图10所示。其尺寸和钢筋图相同,像素值表示当前位置布局标注文本时与其它图形要素叠加的像素数量。在图10中,图10(a)为标注文本位置与干涉程度的标注示意图;图10(b)为标注文本干涉图。
[0090] 首先,确定标注文本内容。根据点筋标注规范,其内容依次为:钢筋编号、数量、钢筋等级、钢筋直径和组内间距,如图3所示。
[0091] 随后,确定标注文本候选方向。对于任意点筋组,存在4种标注文本候选方向,按照优先级从高到低的顺序,分别是:相切于标注底线、垂直于标注底线、水平以及竖直,如图11所示。在图11中,图11(a)为文本方向与标注底线相切的标注示意图;图11(b)为文本方向与标注底线垂直的标注示意图;图11(c)为文本方向水平的标注示意图;图11(d)为文本方向垂直的标注示意图。
[0092] 然后,针对每种标注文本候选方向绘制标注文本卷积核。计算标注文本包围盒对角线长度,以此长度为边长构建方阵。将标注文本以相应方向绘制于矩阵中心,从而得到标注文本卷积核。
[0093] 最后,基于标注文本卷积核构建标注文本干涉图。若标注底线为直线,则与其相切和垂直的方向各只有一种,加上水平和竖直方向,共对应4个卷积核,用4个卷积核对钢筋图卷积,得到相应的4张标注文本干涉图。若标注底线为弧或者B样条,则与标注底线垂直或者相切方向与标注文本位置相关,其相应干涉图绘制方法为:构建大小与钢筋图相同的栅格图,沿标注底线以相切、垂直方向依次构建卷积核并与相应位置做内积,内积值即为该位置的干涉值。
[0094] 步骤4:基于点筋标注规范和设计人员标注习惯,综合计算钢筋图每个像素与标注线的距离关系,得到标注文本位置损失权重图。
[0095] 为选取更符合设计人员审美的标注文本布局位置,本发明方法提出构建标注文本位置损失权重图以实现对标注文本位置的软性约束。标注文本位置损失权重图反应的是设计人员对于不同标注位置的偏好。其尺寸和钢筋图相同,像素值越低则该位置的偏好越高,如图12所示。根据点筋标注规范和设计人员标注习惯调研反馈结果,对于任意一组点筋,在满足文本不干涉的前提下,文本应该尽可能贴近标注底线且位于标注底线中央,如图12(a)所示。在图12中,图12(a)为位置损失变化趋势图;图12(b)表示位置损失权重图。
[0096] 首先,构建标注底线距离图A,其尺寸与钢筋图相同,像素赋值为像素位置到标注底线的最近距离。
[0097] 随后,构建标注底线中点距离图B,其尺寸与钢筋图相同,像素赋值为像素位置到标注底线中点的距离。
[0098] 最后,构建标注文本位置损失权重图。将A和B视作矩阵,则标注文本位置损失权重图为A和B的加权求和,在本实施例中,位置损失权重图为A+B/max(height,width),其中max(height,width)表示选取钢筋图高和宽中较大者。该位置损失权重图赋予标注底线中点距离图B较低的权重,使得算法优先考虑贴近标注底线的位置,而后从中选取居于标注点线中间的位置。
[0099] 步骤5:从标注文本理想布局区域到全图范围,基于标注文本干涉图和位置损失权重图,检索干涉值为0中位置损失值最低的标注文本位置和方向,并依据检索的位置和方向绘制标注文本。
[0100] 本步骤旨在选取干涉小、符合规范且满足设计人员标注习惯的标注文本位置和方向,并进行绘制。为平衡算法效率和标注结果准确度,本发明方法提出从局部到全局的标注文本布局策略,即优先在局部的标注文本理想布局区域内选取符合要求的标注文本方向和位置;若局部不存在符合要求的方向和位置,才在全局范围内选取标注文本方向和位置。
[0101] 首先,检索标注文本位置损失权重图和标注底线平行方向的标注文本干涉图。若在标注文本理想布局区域内存在干涉值为0的位置,则在干涉值为0且位置损失值最低的位置以平行于标注底线的方向绘制标注文本,并结束步骤5;否则,在全局范围内检索标注文本方向和位置并进行绘制,具体思路如下:
[0102] 为保障全局布局的标注文本、标注扩展线和已绘标注线的结构规整性及良好可读性,需在避免标注文本和标注扩展线与其他要素干涉的同时减少标注文本和标注线之间的距离。为此,本发明方法提出基于连通图构建和最短路径搜索算法的全局标注文本布局策略。该策略的核心思路是:构建钢筋图的像素连通图,通过赋予结构线、钢筋线和标注所对应像素边较高的权重,鼓励基于最短路径搜索算法计算的标注扩展线在绕开图形元素的同时保持距离最短。全局标注文本布局策略的具体实施方式如下:
[0103] 首先,基于钢筋图构建有向连通图。有向连通图节点为像素,边连接相邻像素。边权重与边终点像素对应元素类型相关,元素类型权重值由小到大排序依次是:空白像素、结构线、标注线以及标注文本。边权重越小,标注扩展线路由的优先级越高。在本实施例中,不同要素与边权重对应关系为:空白像素为1,结构线为200,标注线为500,以及标注文本为2000。
[0104] 随后,基于狄杰斯克拉最短路径搜索算法,计算连通图上各位置到标注线的最短路径距离,构成标注线路径距离图。
[0105] 最后,检索干涉值最小、到标注线路径距离最近且位置损失值较小的标注文本位置和方向。基于各方向标注文本干涉图检索干涉值最小(通常为0)的位置及对应文本方向,为每个检索出的位置方向计算文本包围盒到标注线最短路径距离、文本位置损失值以及文本方向优先级权重的加权求和,选取干涉值最小且加权求和最小的标注文本位置,并基于选取的位置方向绘制标注文本。各文本方向优先级从高到底分别为:相切于标注底线、垂直于标注底线、水平以及竖直。在本实施例中,各文本方向的加权值分别为:相切于标注底线为0.1,垂直于标注底线为0.2,,水平为0.3,以及竖直为0.4。最短路径距离和文本位置损失值的权重分别是1和1/(100x钢筋图对角线像素长度)。该权重的设置优先保证标注文本到标注线的距离最近,而后鼓励标注文本方向和位置符合设计人员审美习惯。
[0106] 步骤6:基于标注底线和标注文本的位置关系,通过延长标注底线或计算标注底线到标注文本的最短路径,得到并绘制标注扩展线。
[0107] 当标注文本不在理想布局区域或超过了标注底线范围时,则需要绘制标注扩展线以连接标注文本和标注底线,如图1所示。在图1中,图1(a)为标注文本在理想布局区域的标注示意图;图1(b)为标注文本不在理想布局区域的标注示意图;
[0108] 图1(c)表示标注文本超过了标注底线范围的标注示意图。
[0109] 若标注文本在理想布局区域内但超出了标注底线范围,则延伸标注底线直至其覆盖整个标注文本底部;若标注文本不在理想标布局区域,则基于步骤5所述最短路径搜索方法计算其包围盒到标注底线的最短路径,沿最短路径绘制标注扩展线,并将其延伸至覆盖文本顶部或者底部。图13展示了本方法对图8所示案例点筋自动标注之后的结果图。从图13可以看出,本实施例采用本发明方法进行点筋标注,能够基于待标注钢筋图及其附属信息,自动生成干涉少、结构规整且易于阅读;解决了现有的基于计算机辅助设计的钢筋图点筋标注方法或需要较大的人工参与,和/或无法避免标注的干涉和布局混乱问题。
[0110] 验证试验
[0111] 现对上述实施例的三个剖切视图,分别采用本发明方法、现有三维配筋软件VisualFL进行点筋标注,二者对比标注结果如图14‑图16所示。
[0112] 在图14中,图14(a)为VisualFL点筋标注结果图;图14(b)为本发明方法与VisualFL点筋标注结果细节对比图;图14(c)为本发明方法点筋标注结果图。在图14(b)中,位于上侧的附图为图14(a)中某处标注放大图;位于下侧的附图为图14(c)中某处处标注放大图;在图14(b)中,位于同一列上下两侧的附图分别为图7(a)中相同部位、采用本发明方法与VisualFL点筋标注方法标注后的放大图,用于清楚地显示及对比本发明方法与VisualFL点筋标注方法的标注结果。从图14(a)、图14(b)、图14(c)中可以看出:采用VisualFL点筋标注方法标注,存在干涉和布局混乱的问题,钢筋图的可读性较差。而采用本发明所述方法标注,干涉少、结构规整且可读性高。
[0113] 在图15中,图15(a)为VisualFL点筋标注结果图;图15(b)为本发明方法与VisualFL点筋标注结果细节对比图;图15(c)为本发明方法点筋标注结果图。在图15(b)中,位于上侧的附图为图15(a)中某处标注放大图;位于下侧的附图为图15(c)中某处处标注放大图;在图15(b)中,位于同一列上下两侧的附图分别为图7(b)中相同部位、采用本发明方法与VisualFL点筋标注方法标注后的放大图,用于清楚地显示及对比本发明方法与VisualFL点筋标注方法的标注结果。从图15(a)、图15(b)、图15(c)中可以看出:采用VisualFL点筋标注方法标注,存在干涉和布局混乱的问题,钢筋图的可读性较差。而采用本发明所述方法标注,干涉少、结构规整且可读性高。
[0114] 在图16中,图16(a)为本发明方法点筋标注结果图;图16(b)为VisualFL点筋标注结果图。从图16(a)、图16(b)中可以看出:采用VisualFL点筋标注方法标注,存在干涉和布局混乱的问题,钢筋图的可读性较差。而采用本发明所述方法标注,干涉少、结构规整且可读性高。
[0115] 从图14‑图16可以看出:相比于现有三维配筋软件VisualFL,本发明方法绘制的点筋标注具有干涉少、结构规整且可读性高的优势。
[0116] 其它未说明的部分均属于现有技术。