APP下载

基于Visual LISP与C#的水工挡土墙计算软件开发

2017-01-24施晓欢侯婧

山东工业技术 2017年1期
关键词:挡土墙软件开发水利工程

施晓欢 侯婧

摘 要:根据水工挡土墙的相关规范,分析水工挡土墙设计中的计算过程,利用visual lisp读取河道挡土墙断面中墙身、底板、水位等图元,提取几何信息,再运用C#编程计算得出挡墙的抗滑稳定安全系数、抗倾覆稳定安全系数、基底应力等计算结果。此程序的优点在于无需输入挡土墙尺寸相关的大量几何数据,需要输入的数据仅是物理性质参数,更加方便简洁

关键词:挡土墙;水利工程;抗滑系数;VISUALLISP;C#;软件开发

DOI:10.16640/j.cnki.37-1222/t.2017.01.090

1 概论

随着国内水利工程的发展,河道挡墙的设计也随着周边地区的发展而不断的优化和改进,从而挡墙的形状随着比如景观的要求而非简单的几何形状,因此在输入挡墙结构尺寸时,由于某些软件界面的局限性,必然要对挡墙尺寸做一些简化和取舍,这样势必会对计算结果造成不可避免的误差。并且为了计算挡墙的物理尺寸而输入的参数的个数繁多,导致设计人员机械的重复劳动。

针对上述情况和问题,本文主要通过AUTOCAD的二次开发和C#的界面设计和编程计算,尽最大的可能节省水工挡土墙计算的单位时间,提高计算结果的准确性,并相应的导出计算表格以便复核软件计算,并且为了配合底板加桩的结构,输出挡墙底板中心点的水平力竖向力弯矩,输入其他商业软件来配合计算桩顶位移和承载力是否满足规范要求。

2 编程语言简介

VISUAL LISP是AUTOCAD自带的一个autolisp开发环境,可以实时调试AUTOLISP命令。

C#是由C和C++衍生出来的面向对象的编程语言。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

3 计算软件的构造与说明

3.1 C#连接并控制AUTOCAD功能代码

Dim acadApp As Object

Dim acadDoc As Object

On Error Resume Next

acadApp = GetObject(, "AutoCAD.Application")

If Err.Number Then

MsgBox("请先打开一个AutoCAD")

End If

acadDoc = acadApp.ActiveDocument

acadApp.Visible = True

3.2 AUTOCAD导入lsp文件并显示窗口功能代码

Dim path As String = Replace(Application.StartupPath, "\", "\\")

acadDoc.SendCommand("(load " & Chr(34) & path & "\\jgjs.lsp" & Chr(34) & ")" & vbCr)

acadDoc.SendCommand("(setq lisppath " & Chr(34) & path & Chr(34) & ")" & vbCr)

3.3 lsp文件获取AUTOCAD图形中两点距离的代码

(defun c:ttqc (/)

(setq qqswp1 (getpoint "\n第一点"))

(setq qqswp2 (getpoint qqswp1 "\n第二点"))

(setq qqsw (abs (- (cadr qqswp1) (cadr qqswp2))))

(princ (strcat "\nqqsw," (rtos qqsw)) ffn)

3.4 软件概况

软件计算原理,以抗滑系数为例:

流程Ⅰ的作用是通过cad二次开发的思路获取一个挡土墙的所有几何参数,例如各关键点的坐标,高度,断面面积及断面的形心等。

流程Ⅱ的作用即物理参数的输入,如挡土材料的容重和土的cφ值,墙后荷载,以及图中尺寸和实际标准单位(m)的比例尺。

4 结论

此软件无需输入常规工程计算类软件中大量的几何数据,像某些高度还得手动计算高程差再填入数据,但此软件需要输入的数据仅是一些物理参数,此外挡墙可以任意形状,所画即所得,图形化较直观,能动态修改cad中图元尺寸,再得出结果,通过不断的比选得出最优方案,能够导出excel计算表格,一者能够验算,二者能再加软件所不及的外部荷载输入excel中手算得出结果。但是,此软件尚无存档的功能,有待进一步研究。

参考文献:

[1]邱荣茂,王大鸣,周乔勇.基于AutoCAD的线路缓和曲线的自动绘制[J].工程图学学报,2005(01).

[2]王茂.挡土墙(重力式)CAD系统集成[J].中南公路工程,2004(03).

[3]戴学臻,杨洁,陈君.挡土墙设计软件关键技术及框架设计[J].山西交通科技,2004(01).

[4]涂鹏,蒋红斐.AutoCAD二次开发及在公路设计中的应用[J].山西建筑,2004(04).

[5]刘苏.VB语言在公路勘测平面线形计算机辅助设计中的算法[J].公路,2004(01).

[6]齐荣.公路路线计算机辅助设计[J].山西建筑,2003(02).

[7] 王立峰等编著.软件工程理论与实践[M].清华大学出版社,2003.

猜你喜欢

挡土墙软件开发水利工程
水利工程标准化管理创新方式研究
加筋挡土墙在地震作用下的数值分析
云 南 立法保障水利工程规范化管理
试论生态水利工程的基本原则
坡角对公路坡间挡土墙稳定性影响技术研究
信息安全环境下的计算机软件开发研究
浅谈如何加强水利工程管理
核电厂定期试验管理软件开发
FPGA软件开发过程中编码规范的作用
空箱挡土墙在水工建筑物中的运用