CASS软件在交叉口竖向设计高程放样中的运用

2014-07-01 17:30杨双富
城市勘测 2014年5期
关键词:控制性交叉口图层

杨双富

(云南省一九八煤田地质勘探队,云南昆明 650208)

CASS软件在交叉口竖向设计高程放样中的运用

杨双富∗

(云南省一九八煤田地质勘探队,云南昆明 650208)

针对道路交叉口竖向设计施工放样网格点高程手工获取过程烦琐、效率及精度低下、容易出错等问题,在目前较为流行的地形地籍成图软件南方CASS环境中,利用Visual LISP语言编程进行二次开发,调用CASS软件“查询指定点高程”的命令,实现了交叉口竖向设计施工放样网格点高程值的快速计算,达到了化繁为简、降低工作强度的目的,提高了获取数据的精度和效率。

CASS软件;交叉口竖向设计;Visual LISP;查询指定点高程

1 概 述

交叉口竖向设计施工放样网格点高程值的获取是城市道路工程设计和施工中常遇到的问题,其处理效率和精度将直接影响工程的进度和工程量的计算。目前,施工单位一般是根据交叉口竖向设计控制性高程点,在CASS软件中以较小的等高距绘出等高线图,再将施工放样网格叠加上面,然后根据网格点所在最近的等高线手工内插出竖向设计高程值。针对道路交叉口竖向设计施工放样网格点高程获取的烦琐、效率及精度低下、容易出错等问题,在CASS软件环境中,利用Visual LISP编程调用其“查询指定点高程”命令,快速计算出交叉口竖向设计网格点的高程值,提高了施工放样数据获取的精度和工作效率。

2 高程点计算方法和程序实现

2.1 高程值计算公式

在道路交叉口竖向设计中,通常是先根据交叉口范围内路中线上、边界线上的各控制性高程点组成Delaunay三角网,然后根据施工放样网格点所在的三角形进行双线性内插求出其高程值。设三角形的三个顶点的坐标为A(xa,ya,ha)、B(xb,yb,hb)、C(xc,yc, hc),网格点P的坐标为(x,y,h),则P点的高程内插计算公式为式(1):

2.2 程序实现

在CASS软件环境中,其“查询指定点高程height”命令恰好能完成Delaunay三角网组成、内插计算指定点高程的功能,并且能够被Visual LISP的command函数调用,因此采用Visual LISP编程调用该命令可快速计算出交叉口竖向设计施工放样网格点的高程值。交叉口竖向设计施工放样网格点高程值计算程序保存于名为“SxSGc.lsp”文件中,它由一个主控函数“c:sxsjgc”,三个子函数“tqkzxgc”、“ckfwntyqjd”、“lczhzbpx”组成,限于篇幅,以下仅给出主控函数。其中函数“tqkzxgc”用于提取"JCK-KZXGC"图层上所有控制性高程点的平面坐标及高程值,并存入与当前图形文件相同路径且名为“交叉口竖向设计控制性高程.dat”的文件中;函数“ckfwntyqjd”用于求取窗口范围内图层" JCK-Wgx"上直线、圆弧、二维多线相互间的所有交点;函数“lczhzbpx”用于将计算结果按指定的起点及方向排序、注记高程值及编号,并将竖向设计网格点的编号、平面坐标和高程写入到与当前图形文件相同路径且名为“交叉口竖向设计网格点高程值表.csv”的文件中,方便用Excel软件打开后编辑、排版和打印,然后交付外业交叉口竖设计高程放样。

(defun c:sxsjgc()

(vl-load-com)

(setq xtblm'("cmdecho""osmode")

xtblz(mapcar'getvar xtblm);获取系统变量的原始值

)

(mapcar'setvar xtblm'(0 33));对系统变量初始化

(command"_undo""be");设置撤销命令的起点

(if(=(tblsearch"style""stz0.7")nil)

(command"style""stz0.7""宋体"""0.7"""""")

)

(if(setq p1(getpoint" 范围左上角点:"))

(if(setq p2(getcorner p1" 范围右下角点:"))

(if(setq p3(getpoint" 排序起点:"))

(if(setq p4(getpoint p3" 排序方向点:"))

(if(tqkzxgc p1 p2);提取控制性高程点坐标及高程值,并存入指定文件中

(if(setq wgjdb(ckfwntyqjd p1 p2));求得竖向设计网格线的所有交点

(progn

(setq jgb nil)

(mapcar'setvar xtblm'(1 0))

;调用CASS的查询指定点高程命令,取得交叉口网格线所有交点的高程值

(command"_height"pause)

(foreach pt wgjdb

(command pt)

(setq dxf(entget(entlast))

pt (cdr(assoc 10 dxf))

jgb(cons pt jgb);提取坐标及高程值

)

(entdel(entlast));删除新生成的高程点图元

)

(command"");结束命令

(mapcar'setvar xtblm'(0 0))

(if jgb(lczhzbpx p3 p4 jgb));计算结果排序、注记和写入指定文件中

)

)

)

)

)

)

)

(command"_undo""e");设置撤销命令的止点

(mapcar'setvar xtblm xtblz);恢复系统变量的原始值

(princ)

)

3 工程实例

某市政道路主路行车道半幅宽9 m,与之相交叉的支路行车道半幅宽7 m,两道路中线交点的设计高程为311.50 m,主路由西向东在交叉点两侧的纵坡分别为1.013%、0.798%,支路由北向南的纵坡为-2.138%,两条道路的横坡均为1.5%,以不大于5 m的间距划分出交叉口施工放样网格,以路中设计高程及道路纵、横坡计算出中线上、边线上施工放样网格点的高程作为该交叉口竖向设计的控制性高程点如图1,其他各网格点的高程如下所述。

3.1 计算图准备

(1)在CASS软件中新建一图形文件;

(2)分别建立名为“JCK-Wgx”、“JCK-KZXGC”的两个图层,图层的颜色以自己的习惯设置;

(3)在图层JCK-Wgx上,根据设计文件的平面参数,用直线段、圆弧、二维多段线画出交叉口的边界线和网格线,其中边界线有圆弧部分的线用二维多段线画为一根线,或者用直线段+圆弧+直线段画出后再合并一根线,画线时用设计文件中给出的绝对坐标输入,且要将X坐标、Y坐标互换后输入,网格线可以超出边界线1个单位长,这样做是为了避免因Visual LISP的“intersectwith”方法有Bug而致使个别交点不能求出的问题出现。

(4)在图层JCK-KZXGC上,根据设计文件的纵、横断面设计参数,以单行文本左对齐方式注记出控制性高程点各点的高程值。

(5)在上面(3)、(4)步完成,经检查无误后存盘,完成后的图形如图1所示。

图1 交叉口竖向设计网格线图

3.2 交叉口竖向设计网格点的高程值计算与输出

交叉口竖向设计网格点的高程值计算与输出步骤如下:

(1)启动CASS软件,打开准备好的交叉口竖向设计网格线图;

(2)将SxSjGc.lsp加载;

(3)在命令行键入SxSjGc并回车,按照提示指定能够包含交叉竖向设计网格线的左上角点、右下角点,排序起点及排序方向点,当出现输入高程点数据文件对话框时选取“交叉口竖向设计控制性高程.dat”,其他则用“Enter”来回应即完成交叉口竖向设计高程注的计算、注记和数据写入到文件中。

图2、图3给出了交叉口竖向设计高程注记图和部分计算结果图。

图2 交叉口竖向设计高程注记图

图3 交叉口竖向设计网格点高程值表

4 结 语

这种充分利用安装于AutoCAD 2006平台上的CASS 7.0软件现有的功能,以Visual LISP编程调用方式实现了道路交叉口竖向设计施工放样网格点高程值的快速计算出,已在多个市政道路工程进行了实际应用,提高了施工放样数据获取精度和工作效率,具有一定的参考价值。值得注意是:由于CASS软件只提供了命令行方式功能调用,而没给出相应函数接口,两者的衔接和操作上都略显生硬。而当点不在由交叉口竖向设计控制性高程点组成的最小凸多边形内时,CASS软会给出相应提示信息并中断,不能得到所有点的高程,应在程序中增加点在多边形中的判断来避免这种情况的发生。

[1] 孙江宏,丁立伟,米洁.Visual LISP R14~2000编程与应用[M].北京:科学出版社,1999.

[2] 吴永进,林美樱.AutoLISP&DCL基础篇[M].北京:中国铁道出版社,2002.

[3] 陈伯雄,冯伟.Visual LISP程序设计—技巧与范例[M].北京:人民邮电出版社,2002.

[4] 刘伟,徐庆元.交叉口立面计算机辅助设计[J].山西建筑,2004(9):200~200.

[5] 谢刚生,范轴,倪晓东.数字化地形地籍成图系统CASS 7.0用户手册.广州:南方测绘仪器有限公司.2006.

[6] 张国权,孙全党,徐久成.AutoCAD 2006应用教程[M].北京:电子工业出版社,2007.

AutoCAD Drawing for the New Arc Three Kinds of Ways

Yang Shuangfu
(198 Coal Geological Exploration Teams in Yunnan,Kunming 650208,China)

The vertical design of road construction layout grid intersection point elevation tedious manual process for obtaining,efficiency and accuracy is low,prone to error and other issues,more popular in the current cadastral mapping software terrain south CASS environment,using Visual LISP programming language secondary development,calling CASS software“query specified point elevation”order to achieve a quick calculation of vertical design and construction stakeout grid intersection point elevation values,reaching to simplify and reduce the work intensity of purpose to improve the Get the accuracy and efficiency of the data.

CASS software;intersection vertical design;visual LISP;queries specified point elevation

2014—05—09

杨双富(1967—),男,高级工程师,主要从事工程测量工作。

猜你喜欢
控制性交叉口图层
损伤控制性手术在创伤治疗中的应用综述
分析小城镇控制性详细规划编制
解密照片合成利器图层混合模式
巧用混合图层 制作抽象动感森林
损害控制性手术治疗严重肝破裂的临床效果
信号交叉口延误参数获取综述
珠海金鼎转盘交叉口改造设计
一种Y型交叉口设计方案的选取过程
跟我学添加真实的光照效果
七氟醚在颅内动脉瘤夹闭术中控制性降压的应用