一种基于AutoCAD二次开发地下洞室断面绘制方法与流程

文档序号:17992266发布日期:2019-06-22 00:53阅读:444来源:国知局
一种基于AutoCAD二次开发地下洞室断面绘制方法与流程

本发明涉及断面绘制技术领域,特别是涉及一种基于autocad二次开发地下洞室断面绘制方法。



背景技术:

隧洞工程施工过程中,为了检测隧洞开挖质量需要频繁测量开挖断面,并且要求以最快的速度提供检测断面图。在没有合适的断面绘图软件前,资料的处理大部分依靠手工来完成,内业工作量大、作业时间长,开挖洞室多时,要按排专职内业资料员处理,而且不能及时提供断面成果,且经常出现成果格式不统一,式样不美观等缺点。

autocad是目前国内外使用最为广泛的cad应用与开发平台,在开放式体系结构的autocad环境下通过autolisp语言、visuallisp语言及其程序设计、对话框的设计与制作,activex自动化及vba开发技术,和objectarx应用程序的开发等,对autocad进行定制和二次开发,编写针对本专业标准或技术规格的软件程序,使autocad更加符合用户的需要,使其专业化、用户化,提高绘图和设计的质量和效率,已成为普遍现象。

在地下洞室开挖中开挖断面是反映开挖质量和计算开挖方量的主要方式,开挖断面主要有城门洞型、马蹄型、圆型、多圆型和有梁座城门洞型等。同一洞室的断面绘制中设计断面的绘制、展点、超欠挖标注、断面数据统计(如:断面检查点数、平均超挖、最大超挖,欠挖点数,最大欠挖等的统计)多为重复性工作,而且多数是借助于修改设计参数来完成,可通过autolisp语言、visuallisp语言进行autocad的二次开发,程序化地下洞室断面绘制过程和步骤,提高断面绘制的速度和效率。



技术实现要素:

本发明提供了一种基于autocad二次开发地下洞室断面绘制方法。

本发明提供了如下方案:

一种基于autocad二次开发地下洞室断面绘制方法,包括:

接收用户输入的启动命令,根据所述启动命令在autocad中生成相应断面类型的用户操作界面;

接收用户输入的桩号,获取与所述桩号对应的断面绘制参数,所述断面绘制参数为预先保存的与所述桩号对应的参数集;

根据所述断面绘制参数生成所述桩号所在断面的标准设计体型图形;

接收用户输入的与所述桩号对应的实测点坐标数据并生成断面展点;

计算获得所述断面展点的超欠挖距离并展示。

优选的:所述参数集为通过autocad自带的二次开发工具visuallisp自定义获得。

优选的:所述参数集至少包括根据断面类型选定的绘制参数。

优选的:所述断面类型包括城门洞型、马蹄型、圆型、多圆型、梁座城门型。

优选的:所述断面类型为城门洞型,所述绘制参数至少包括洞高、洞宽、拱肩高、圆弧半径以及底板高程。

优选的:计算获得所述断面展点的超欠挖距离并生成检查结果汇总表格并同时展示。

优选的:所述检查结果汇总表格中至少包括断面检查点数、平均超挖、最大超挖距离、欠挖点数、最大欠挖距离。

优选的:所述实测点坐标数据为通过全站仪现场测量获得,并采用预置的方法将所述全站仪现场测量获得实测点坐标数据的格式转化为autocad可识别的格式。

优选的:采用excel将所述全站仪现场测量获得实测点坐标数据的格式转化为autocad可识别的格式。

优选的:采用excel进行格式转化的方法包括:

将通过全站仪现场测量获得实测数据用纯文本格式进行文件保存,在excel中打开此数据文件,进行数据分列命令,通过设置分列符为逗号或空格,使x值、y值和高程均单处一列;

在数据结尾y值列中输入:999.00,高程列中输入:0.00,此对数据做为断面展点标注时程序自动判断是否断面点输入结束;

另选一空白列,在其中第一个单元格中输入命令,回车后在所述第一个单元格中出现一个以断面点y值和高程形成的autocad展点所需的坐标对,把鼠标放至所述第一个单元格右下角处,当指针变为细黑“+”字时按住鼠标左键向下拖动进行复制计算,即得到了一组转化后autocad可识别的断面点数据。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

通过本发明,可以实现一种基于autocad二次开发地下洞室断面绘制方法,在一种实现方式下,该方法可以包括接收用户输入的启动命令,根据所述启动命令在autocad中生成相应断面类型的用户操作界面;接收用户输入的桩号,获取与所述桩号对应的断面绘制参数,所述断面绘制参数为预先保存的与所述桩号对应的参数集;根据所述断面绘制参数生成所述桩号所在断面的标准设计体型图形;接收用户输入的与所述桩号对应的实测点坐标数据并生成断面展点;计算获得所述断面展点的超欠挖距离并展示。本申请提供的方法具有良好的通用性、可扩展性,可广泛用于各种隧洞横断面的绘制和工程量的计算。通过扩展可进行圆型、马蹄型、有梁座城门洞型、矩形型、倒角矩形型和多圆型断面绘制程序。该方法广泛应用于地下隧道工程地下洞室施工测量内业处理,极大地提高了技术人员的工作效率,使断面资料的处理迅速、准确和标准化。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种基于autocad二次开发地下洞室断面绘制方法的流程图;

图2是本发明实施例提供的绘制结果图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

实施例

参见图1,为本发明实施例提供的一种基于autocad二次开发地下洞室断面绘制方法,如图1所示,该方法包括:

s101:接收用户输入的启动命令,根据所述启动命令在autocad中生成相应断面类型的用户操作界面;

s102:接收用户输入的桩号,获取与所述桩号对应的断面绘制参数,所述断面绘制参数为预先保存的与所述桩号对应的参数集;具体的,所述参数集为通过autocad自带的二次开发工具visuallisp自定义获得。所述参数集至少包括根据断面类型选定的绘制参数。所述断面类型包括城门洞型、马蹄型、圆型、多圆型、梁座城门型。所述断面类型为城门洞型,所述绘制参数至少包括洞高、洞宽、拱肩高、圆弧半径以及底板高程。

s103:根据所述断面绘制参数生成所述桩号所在断面的标准设计体型图形;

s104:接收用户输入的与所述桩号对应的实测点坐标数据并生成断面展点;所述实测点坐标数据为通过全站仪现场测量获得,并采用预置的方法将所述全站仪现场测量获得实测点坐标数据的格式转化为autocad可识别的格式。采用excel将所述全站仪现场测量获得实测点坐标数据的格式转化为autocad可识别的格式。采用excel进行格式转化的方法包括:

s105:将通过全站仪现场测量获得实测数据用纯文本格式进行文件保存,在excel中打开此数据文件,进行数据分列命令,通过设置分列符为逗号或空格,使x值、y值和高程均单处一列;

在数据结尾y值列中输入:999.00,高程列中输入:0.00,此对数据做为断面展点标注时程序自动判断是否断面点输入结束;

另选一空白列,在其中第一个单元格中输入命令,回车后在所述第一个单元格中出现一个以断面点y值和高程形成的autocad展点所需的坐标对,把鼠标放至所述第一个单元格右下角处,当指针变为细黑“+”字时按住鼠标左键向下拖动进行复制计算,即得到了一组转化后autocad可识别的断面点数据。

s106:计算获得所述断面展点的超欠挖距离并展示。具体的,计算获得所述断面展点的超欠挖距离并生成检查结果汇总表格并同时展示。所述检查结果汇总表格中至少包括断面检查点数、平均超挖、最大超挖距离、欠挖点数、最大欠挖距离。

本申请提供的方法可以实现以下六个功能,1、绘图环境设置;2、实现设计断面绘制;3、实现实测断面绘制;4、实现超欠挖计算和标注;5、断面开挖质量统计和绘制统计表格;6、绘制图框、图签。

在地下洞室开挖中开挖断面是反映开挖质量和计算开挖方量的主要方式,开挖断面主要有城门洞型、马蹄型、圆型、多圆型和有梁座城门洞型等。同一洞室的断面绘制中设计断面的绘制、展点、超欠挖标注、断面数据统计(如:断面检查点数、平均超挖、最大超挖,欠挖点数,最大欠挖等的统计)多为重复性工作,而且多数是借助于修改设计参数来完成,可通过autolisp语言、visuallisp语言进行autocad的二次开发,程序化地下洞室断面绘制过程和步骤,提高断面绘制的速度和效率。

断面绘制前,首先须对测量采集的断面数据进行数据处理,使其满足autocad绘图的要求,现在施工测量基本都使用全站仪进行测量放线和断面测量,断面数据可直接存贮在全站仪、pc-e500等测绘仪器设备中,通过随机软件和电缆把坐标数据传入计算机中。

此时数据格式不一致,但数据中包括断面点x值和y值及高程。有多种方法可使断面数据格式转化为适合断面绘制、满足autocad展点要求的格式,一种办法是通过vb或vc++等编程语言进行编程,实现数据格式转化,另一种办法,也是本申请提供了一种简单实用、易操作的方法,其操作如下:

断面测量数据传入计算机后,一般一个断面点的所有数据资料占据一格,数据排列整齐,用纯文本格式进行文件保存,在excel中打开此数据文件,进行数据分列命令,通过设置分列符为逗号或空格等,使x值、y值和高程均单处一列,在数据结尾y值列中输入:999.00,高程列中输入:0.00,此对数据做为断面展点标注时程序自动判断是否断面点输入结束。另选一空白列(如d列),在其中第一个单元格d1中输入命令(假设断面展点所需的y值和高程位于b列和c列):b1&“,”&c1,回车后d1中就出现一个以断面点y值和高程形成的autocad展点所需的坐标对,把鼠标放至d1格右下角处,当指针变为细黑“+”字时按住鼠标左键向下拖动进行复制计算,这样我们就得到了一组断面点数据,选中所有坐标对进行复制,以备断面展点等。

在autocad中断面绘制程序提示展点并标注超欠挖时,在命令行中点击鼠标右键,在弹出菜单中选择paste(粘贴)命令,即可进行所有断面点的快速、自动化展点、超欠挖标注和断面点间连线。

断面绘制时,首先需通过合理地设置autocad系统变量,建立符合本专业和本行业标准的初始绘图环境,其主要设置有:1、线型设置;2、尺寸标注设置;3、文本设置;4、绘图单位设置;5、建立绘图所需的各种图层。

autocad提供了标准线型库文件acad.lin和acadiso.lin,用户在绘图时,可根据需要选择其中的线型进行线型设置,当标准线型不能满足本行业和本专业要求时,还可根据需要进行线型定制。线型设置主要指绘图所需的线型的定制、加载;线型全局比例系数、当前对象缩放比例的设置;线宽、笔宽设置等。

尺寸标注设置主要包括符合本专业要求的尺寸线型和箭头设置,尺寸标注文本、尺寸标

注单位设置,公差设置等,其中尺寸标注文本的设置又包括文字外观、文字位置、文字对齐。文本设置主要包括文本输入时的字体、字高,字宽,文本输入角度等的设置。线型设置、尺寸标注设置,文本设置中部分如线型全局比例因子、尺寸标注文本的字高、

尺寸标注箭头大小等根据断面绘图比例尺的变化成反比例变化,其它设置根据本专业要求都为固定设置,因此可以以绘图比例尺为变量,利用autocad内部命令和系统变量建立autocad外部函数:绘图环境设置函数。

编写建立地下洞室断面绘制参数的程序文件(*.lsp文件)

为了简化和用户化以上数据的输入,可单独编写建立绘图参数文件的程序命令,使用目前最为流行的对话框进行人机交互界面,向用户提供图形与文本并存的可视化环境,使操作更为自然、简捷。不同的地下隧洞只需运行本程序后,建立不同的洞室断面绘制参数文件,即可进行洞室断面的绘制。

下面以城门洞断面绘制程序为例,城门洞型断面其绘图参数主要有:洞高、洞宽、拱肩高、圆弧半径和底板高程等。断面绘制中以底板中心为断面基点,根据隧洞的坡比,计算出不同桩号位置的底板高程。根据底板与洞顶,拱肩,圆弧中心的几何关系,可计算出其它绘图参数,如:拱顶高程、拱肩高程、圆弧圆心高程等。

一般同一隧洞断面绘图比例为固定比例,可直接在此文件中输入。根据绘图比例尺计算出的绘图比例因子(k)是程序的全局变量,断面绘制中统计结果表的大小,超欠挖标注文本字体的大小,超欠挖文本输出字符串与对应断面点之间相对距离等都与之成正比。

断面统计结果表和断面统计结果的插入点随着底板高程变化,可在计算出某一断面的底板高程后计算与之相对应的插入点,减少绘图中人机交互数据输入,提高绘图速度。

在程序命令执行时,可给定装载路径和参数文件名,通过autolisp语言中“load”函数自动装载以上绘图参数到程序进行绘图。

设计断面绘制

设计断面的绘制可以利用“defun”函数进行函数自定义,以城门洞绘制参数为局部变量,定义好函数可以以文件的形式存储在磁盘上,在需要的时候,只需将其装入内存(可以由load函数装入)就可以像使用其他autolisp的标准函数一样来使用这些自定义的函数。

在autocad中程序化绘图前必须通过修改系统变量自动关闭对象捕捉模式,否则应autocad在绘图中的自动捕捉功能,将使绘制的图形严重出错。

设计断面绘制中为了断面图的美观,断面桩号标注一般以断面的中心线对称,而断面桩号标注文本的长度不确定,需根据断面桩号文本的长度确定文本的插入点。文本字符串的字符数可以用字符串长度函数(strlen)求得,文本字符串的几何长度则需根据字符串的字符数乘以每个字的宽度求得。在autocad中通过统计求得,仿宋_gb2312字体,字高2.000的每个字符长度为2.0786,其字高与字宽成正比,每个汉字占两个字符。

断面展点、超欠挖计算及标注

隧洞断面的超欠挖计算和标注是断面绘制中最机械、最烦琐的一项工作。

城门洞型断面超欠挖计算及标注可以根据断面形状分为如下六部分:

1、腰高以上顶部圆弧区域;

2、腰高以下,底板高程+0.2m以上,左边墙区域;

3、腰高以下,底板高程+0.2m以上,右边墙区域;

4、断面左下脚区域;

5、断面右下脚区域;

6、底板高程+0.2m以下底板区域。

此部分程序编写为不同的函数,以利于其它体型断面绘制程序使用,使程序具有良好的通用性和可扩展性,根据不同区域编写超欠挖计算和标注函数,函数使用时首先根据输入的断面点判断其属于哪个区域,然后使用相应的函数进行断面点的展点和超欠挖标注。

autocad在启动时,可自动加载以下autolisp文件,其顺序如下:1、acad2004dos.lsp;2、acad2004.lsp。程序编写完成,希望在每次启动autocad时能自动地装载断面绘制程序,可在如下路径中:c:\programfiles\autocad2004\support\查找acad2004.lsp文件或者acad2004dos.lsp文件,打开以上两文件之一,在其文件尾加入“load路径//文件名”语句,就可以实现程序自动装入,并在autocad中任意使用。

此程序可加载到任意版本的autocad中,只是加载文件acad2004.lsp,变成了acad2006.lsp、acad2007.lsp、acad2010.lsp、acad2012.lsp、acad2014.lsp、acad2016.lsp等文件。

断面绘制步骤

程序实际操作步骤如下:

1、断面数据处理

下面以c3-3排水廊道厂右0+50桩号断面为例,其断面数据如第一节所述进行断面点数据处理后断面数据如下:

2、输入城门洞断面绘制命令:j

3、输入洞室断面绘制参数文件名:c3-3

4、输入断面绘制桩号:50

5、提示是否画设计断面,需要时输入:y;不需要时输入:n,输入断面点坐标进行展点,超欠挖计算和标注,并进行点间连线。此步可按第一节:断面数据格式处理所述,把已经处理好的数据直接进行数据粘贴,进行快速的展点,超欠挖计算、超欠挖标注,和断面点间连线。

8、计算并输出断面统计结果,绘图完毕。

断面绘制结果如图2所示.

本申请提供的方法具有良好的通用性、可扩展性,可广泛用于各种隧洞横断面的绘制和工程量的计算。通过扩展可进行圆型、马蹄型、有梁座城门洞型、矩形型、倒角矩形型和多圆型断面绘制程序。该方法广泛应用于地下隧道工程地下洞室施工测量内业处理,极大地提高了技术人员的工作效率,使断面资料的处理迅速、准确和标准化。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1