作者简介:李家健(1991-),男,工程师。研究方向为CAD二次开发与数字孪生开发。
DOI:10.19981/j.CN23-1581/G3.2024.12.027
摘 要:随着隧道结构设计行业向数智化、信息化发展,常规依托设计经验进行图形绘制无法解决设计人员实现快速化、智能化绘图需求。目前AutoCAD作为设计领域常规辅助软件,其拥有丰富的API接口,人性化交互方式,依托于该平台二次开发实现设计用户需求,成为提升设计用户工作效率的首要选择。该文采用C#语言,依托.NET框架和CAD平台,引入容差等技术,实现自动化布置明挖隧道主体结构桩基方案,有效解决常规设计中绘图时间急迫、设计方案更新频繁、绘图繁琐及桩基布置必须依靠手动调整等带来的设计效率低下、质量起伏大等问题。
关键词:CAD;二次开发;明挖隧道设计;桩基布置;C#
中图分类号:TP311 文献标志码:A 文章编号:2095-2945(2024)12-0120-04
Abstract: With the development of the tunnel structure design industry towards digital intelligence and informatization, conventional drawing based on design experience cannot meet designers' needs for fast and intelligent drawing. At present, AutoCAD, as a common auxiliary software in the design field, has a rich API interface and a humanized interaction mode. Relying on the platform for secondary development to realize the needs of design users, Autocad has become the primary choice to improve the work efficiency of design users. This paper adopts C# language, relies on. NET framework and CAD platform, and introduces tolerance and other technologies to realize the automatic layout of pile foundation for the main structure of open-cut tunnel, which effectively solves the problems caused by urgent drawing time, frequent updating of design schemes, tedious drawing, and manual adjustment of pile foundation layout, such as low design efficiency and large quality fluctuations.
Keywords: CAD; secondary development; open-cut tunnel design; pile foundation layout; C#
在明挖隧道設计中,由于地基承载力过小或浮力过大等因素,需要在隧道下方布置承载桩或抗浮桩基,以抵抗隧道变形导致的隧道破损。在常规设计流程中,桩基方案晚于隧道围护结构方案设计。而在实际施工时,桩基施工早于隧道开挖,其方案图纸需提前交付给相关单位。因此,留给设计人员设计研究桩基方案时间较短。
在地铁或市内道路隧道等明挖隧道中,线路方案调整、地质钻孔信息揭示更新、隧道明挖范围大、桩基布置数量多和图纸中附注细节繁杂等因素都制约着设计人员根据桩基计算结果,快速调整桩基布置方案,而在实际设计过程中,桩基方案调整往往依靠设计人员根据自身设计经验手动调整。因此,快速更新桩基方案是目前大多数隧道设计人员的急迫需求。
1 需求分析
1.1 用户需求
根据设计用户输入的桩基直径、数量及隧道轮廓线等数据结合桩基方案快速完成桩基方案布置,绘制桩基图纸,并同步输出桩基坐标、标号等信息。
1.2 软件平台环境
目前,绝大多数隧道设计人员均使用CAD绘制图形,且CAD二次开发技术成熟,其开发工具主要包括ObjectARX、VBA、Lisp和.NET等常规工具,综合考虑用户CAD版本无法统一因素,结合界面与内容需实时交互等特性,本次采用C#语言,依托.NET框架完成CAD二次开发工作。
2 数据流分析
本项目仅实现图形绘制功能,其数据来源于用户输入的桩径、数量等基本参数和用户选择的隧道外轮廓边线图形信息。程序根据规范要求,生成多种桩基布置方案,供用户选择。用户确认选择后,生成该方案图纸,并完成桩基的坐标及标号绘制,完成数据输出。项目数据流动清晰,如图1所示。
图1 数据流流程图
3 重难点分析
在隧道规范中,仅有桩基之间的最小桩间距要求,并参照行业设计经验,隧道范围内桩基布置均匀、对称即可。上述行业需求为主观描述,其无法转换成相应的客观程序数据要求。综合规范要求的桩基最小间距和用户选择的隧道轮廓线,可以获得桩基间距范围,由于在CAD中布置桩基,其位置精度为0.001 m,桩基布置单位为m,若仅参考布置范围和精度设置,布置方案数量较多,按上述思路进行程序设计,会导致方案冗余和程序性能锐减。假设桩间距最小值为Dmin,最大值为Dmax,精度为p,按常规程序设计,2根桩布置存在方案数量为N,其计算公式如下
N=■。
参考常规桩基方案设计中数据,仅考虑2根桩布置时,其方案数量N>10 000,程序时间和内存复杂度明显超出常规程序方案。
针对上述需求特点,在本项目中引入设计容差f,2根桩按容差的整数倍数值布置,设计容差为用户输入数值,可以动态调节。2根桩在平面布置时,其方案数量
N=■。
根据用户数据反馈,引用设计容差后,其桩基布置方案N为10~40,满足用户需求。
采用设计容差后优势如下:①容差值为动态调整数值,位置精度为方案布置固有属性,其为方案部署精确性的客观描述,同样的位置精度在不同图形比例图纸中代表的工程距离差值较大,采用位置精度来确定方案数量存在方案遗漏的风险,而采用设计容差,用户则可以根据实际需要动态调整,降低方案遗漏风险;②因位置精度为0.001 m,其数值小,在同一个图形比例图纸中布置桩基时,导致方案数量较多,造成方案冗余和降低程序性能,设计容差一般为5 m,数值大,且可以动态调整,布置桩基时,可以有效去除冗余方案。
在满足桩基布置均匀和对称的要求下,桩基布置方案会出现不符合行业经验情况,如图2—图3所示。因此需删除类似不符合要求方案。
图2 不符合行业方案一 图3 不符合行业方案二
由于桩基在平面布置上约束条件过少,如果利用常规的漫水填充法、像素法等常规算法计算桩基位置会出现不符合行业要求的方案。结合明挖隧道桩基布置特点,本项目将隧道桩基分为横、纵布置(沿隧道方向为横方向,垂直于隧道方向为纵方向,如图4所示),每一排的桩基布置中心线与隧道变形缝线或隧道边墙线平行,在上述平行线布置桩基,剔除了不符合设计经验的方案。
图4 沿隧道纵横桩基布置方案
4 功能设计步骤
程序主要使用C#语言,与用户交互界面采用WPF中MVVM框架,依托于CAD平台进行开发,功能设计步骤主要分为用户输入基本参数,选择隧道外轮廓线、程序处理等9个步骤,其流程图如图5所示。
步骤1:用户在用户界面输入桩基数量、桩基直径,设计容差等基本参数,如图6所示。
用户在输入数据时,若项目文件夹中不存在数据配置文件,程序会采用默认值,文本框数据默认为0,勾选框数据默认为false,下拉框数据默认采用数据源中的第一个数据。反之程序将配置文件数据输出到程序界面。用户在确认输入数据后,程序将数据存储到项目配置文件中,通过此项工作内容,增强用户体验,减少用户重复性工作。
在进行下一步时,程序对输入数据进行校验,考虑后续步骤中,存在文字输出需求,因此若用户选择的文本样式中字高或比例为0时,程序会提醒用户暂时退出桩基布置功能如图7所示,并设置相关字体样式参数后,再进行布桩区域选择。
图5 功能设计流流程图
图6 基本参数输入界面
图7 提示用户设置字体样式
步骤2:用户选择拾取隧道外轮廓线。
本步骤利用CAD.net中Prompt Sele-ctionOptions接口,实现可以框选隧道外轮廓线,其代码如下。
public static List
{
List
using(Transaction trans = db.Transaction-Manager.StartTransaction())
{
PromptSelectionOptions peo = new Prompt-SelectionOptions();
peo.MessageForAdding = "請选择实体";
PromptSelectionResult psr=ed.GetSelection(peo);
SelectionSet ss = psr.Value;
if (psr.Status != PromptStatus.OK)
{
return null;
}
else
{
foreach (var objectid in ss.GetObjectIds())
{
var entity = objectid.GetObject(OpenMode.-ForRead) as Entity;
entities.Add(entity);
}
}
trans.Commit();
}
return entities;
}
步骤3:程序根据隧道外轮廓线进行软件识别,确定隧道外墙边线和变形缝线。
在明挖隧道设计中,行业经验规定如下:①隧道侧墙边线与变形缝线始终垂直;②隧道外轮廓线为闭合线段;③隧道侧墙边线可能为曲线或直线,隧道变形缝必须为直线。为满足上述行业要求,在本步骤中需根据输入的外轮廓线进行判断并剔除不符合要求线段。
首先,根据CAD API接口提供的多段线PolyLine属性IsClose判断用户所选线段是否为闭合曲线,剔除掉IsClose属性为false的线段。进一步,对多段线所有顶点进行遍历,并生成前后顶点连线向量,根据向量点积是否为0,判断前后顶点连线是否垂直,如果所有顶点连线均前后不垂直或者判断出的顶点连线数量不等于4,则提醒用户重新选择。将符合要求的多段线在顶点连线垂直位置打断,进一步,判断打断后的线段是否均是曲线,判断线段是否为曲线的原则为对线段顶点进行遍历,并获得前后顶点单位向量,若一段线段的所有前后顶点单位向量存在不相等值,则该线段为曲线,否则为直线。进一步,将曲线添加进隧道边墙轮廓线组合,将直线添加进隧道变形缝线组合。
在上述步骤中,若存在剔除不符合要求线段后,所剩线段数量为0的情况,则需要提醒用户重新选择多段线,直至全部符合要求。同时,还需要对边墙线和变形缝线组合进行数据校验,若出现线段集合数量为0,或数量为奇数,或边墙线数量与变形缝线数量不相等的情况,需提醒用户重新选择合适的边墙线或变形缝线,直至程序能获取符合要求的线段,其流程图如图8所示。
图8 程序处理用户选择多段线流程图
步骤4:取外墙边为横向极限长度,变形缝为纵向极限长度,根据设计容差及规范要求最小净距要求,确定横、纵布置间距范围值。
考虑隧道出现最不利情况,即隧道外轮廓为弧线,内外侧墙长度不相等,且隧道出现扩大段、变形缝长度亦不相等的情况,为满足布置桩基仍然均匀的要求,需分别取外墙和变形缝的极限长度。
步骤5:根据设计桩基数量,获得其公约数组合,每个组合中公约数即为纵横方向上的桩数量。
步骤6:根据数量初步验算横纵布置间距是否满足位于步骤4中范围内,剔除掉不符合要求的方案。
步骤7:在隧道外轮廓线中根据横纵布置间距布置桩基,并对步骤5中每个组合进行循环遍历。
步骤8:将方案输出到界面UI表格中,同时绑定UI表格与CAD方案绘制功能,供用户选择。
步骤9:用户选择合适的方案,程序确认方案,输出每个桩基坐标、标号,并绘制桩基方案布置图。
5 结束语
本项目作为明挖隧道研发系统的一部分,始终立足于解决设计用户的实际需求,解决了用户设计时间紧迫,快速更新方案及绘图等需求,提高了设计生产效率,确保了设计质量。让设计人员有更多的时间及精力完成隧道方案研究。此外,该项研发工作有助于编程人员更好地理解设计人员需求,并针对需求研究满足行业及程序性能解决方案,锻炼了程序方案设计能力,对生产办公的自动化及智能化工作起到了很好的示范与推广工作。
参考文献:
[1] 纪杭辛.新时期计算机软件开发技术的应用及发展趋势[J].大众标准化,2023(24):167-169.
[2] 李培畅.计算机程序设计的多应用型开发探讨[J].哈尔滨职业技术学院学报,2023(5):145-147.
[3] 饶欣频,陈伟.城市明挖隧道抗浮设计思考与研究[J].道桥与防洪,2022(11):251-252,28.
[4] 许鹏,程华鹏.明挖隧道结构抗拔桩设计的重难点和设计建议[J].上海建设科技,2023(2):22-23,43.
[5] MARK M,ERIC L.C#本质论[M].北京:机械工业出版社,2022.
[6] 曾红飞,卢择临,张帆.Auto CAD VBA&VB.NET 开发基础与实例教程(C#版 第二版)[M].北京:中国电力出版社,2013.
[7] 梅炳夫.基于C#的AutoCAD二次开发在通信设计中的应用[J].电脑与电信,2023(4):14-19.
[8] 中国建筑科学研究院.建筑桩基技术规范:JGJ 94—2008[S].北京:中国计划出版社,2008.
[9] 中國城市规划设计研究院.城市轨道交通技术规范:GB 50490—2009[S].北京:中国计划出版社,2009.
[10] 王晓东.算法设计与分析[M].北京:清华大学出版社,2018.