APP下载

基于Visual LISP的工业广场保护煤柱设计软件

2015-12-27王出

关键词:松散层垂线二次开发

王出

(运城职业技术学院 山西运城 044000)

基于Visual LISP的工业广场保护煤柱设计软件

王出

(运城职业技术学院 山西运城 044000)

本文利用AutoCAD中的Visual LISP语言编制了工业广场保护煤柱设计软件,实现利用垂直剖面法和垂线法自动设计出保护煤柱,避免了在绘制矿图中复杂的计算及繁琐的绘图步骤。

Visual LISP 保护煤柱 垂线法 垂直剖面法

文章引言

Visual LISP是基于AutoCAD环境用于二次开发的编程语言。它扩展和延伸了Auto LISP语言,支持ActiveX技术和反应器技术,还支持DCL对话框设计语言,因此成为AutoCAD二次开发的有利工具。相对于VBA而言,Visual LISP能灵活而充分地使用AutoCAD的现有功能,方便调用AutoCAD中的命令,交互操作性强。

本文介绍利用Visual LISP编程并结合留设保护煤柱的两种算法编制了计算保护煤柱软件,实现了保护煤柱的自动计算和绘制。

1.留设保护煤柱的两种计算方法

1.1 垂直剖面法的计算方法

首先,根据受保护建筑物矩形确定保护边界,第二步按保护等级留设围护带,得到围护带边界;然后在沿煤层倾斜方向根据上下山移动角,松散层厚度,煤层倾角等参数计算出保护煤柱梯形的高;然后在沿煤层走向方向根据走向移动角,松散层厚度,松散层移动角等参数计算出保护煤柱梯形的上底和下底;最后在AutoCAD中绘制出保护煤柱梯形。

1.2 垂线法的计算方法

首先,确定建筑物边界的位置和尺寸,再按护等级留设围护带,得到围护带边界,然后根据松散层厚度和松散层移动角确定松散层边界宽度,并得到松散层保护边界。然后根据上、下山移动角,保护面积边界与煤层走向所夹锐角计算伪倾斜移动角,根据上山和下山方向的垂线长度,分别计算出围护带边界四点的垂线长度,并过这些垂线的端点作直线,这些直线的四个交点相连,即可确定保护煤柱边界。

2.用Visual LISP编制计算保护煤柱软件

编制该软件的思路是先设计输入参数对话框,然后设计对话框驱动程序和两种计算保护煤柱的算法,最后绘制计算保护煤柱的边界。

2.1 用DCL语言设计输入参数对话框

DCL语言用来设计对话框进行交互性输入,用AutoLISP程序驱动。利用DCL语言设计输入参数对话框,得到“bhmz.DCL”。用户通过该对话框输入绘制保护煤柱的方法及所需参数。设计的对话框如下图:

图1.设计保护煤柱对话框

2.2 设计对话框驱动程序和两种计算保护煤柱的算法

设计对话框驱动程序时首先定义获取输入对话框中参数的子函数getdata(),然后加载对话框,获取数据。

两种计算保护煤柱的算法的部分代码:

;垂直剖面法:

(setq mn(-yaaa ybbb)qk(-xddd xaaa)) ;确定围护带的宽qk,高 mn

(setq mcqj(/(*pi mcqj)180)) ;将煤层倾角度数转换为弧度

(setq hm(-ha(*bhdj(tan mcqj))))

(setq hn(+hm(*(/mn(cos mcqj))(sin mcqj))));确定建筑物边界c点与煤层的垂直距离

;垂线法:

;求伪倾角

(setq xsydjw(sqrt(+(*(expt(cot xsydj)2)(expt(cos zxjj)2))(*(expt (cot zxydj)2)(expt(sin zxjj)2)))))

(setq ssydjw(sqrt(+(*(expt(cot ssydj)2)(expt(cos zxjj)2))(*(expt(cot zxydj)2)(expt(sin zxjj)2)))))

(setq xsydjw1(sqrt(+(*(expt(cot xsydj)2)(expt(cos zxjj1)2))(*(expt (cot zxydj)2)(expt(sin zxjj1)2)))))

(setq ssydjw1(sqrt(+(*(expt(cot ssydj)2)(expt(cos zxjj1)2))(*(expt (cot zxydj)2)(expt(sin zxjj1)2)))))

(setq qx(/xsydjw(+1(*xsydjw(tan mcqj)(cos zxjj)))))

(setq lx(/ssydjw(-1(*ssydjw(tan mcqj)(cos zxjj)))))

(setq qx1(/xsydjw1(+1(*xsydjw1(tan mcqj)(cos zxjj1)))))

(setq lx1(/ssydjw1(-1(*ssydjw1(tan mcqj)(cos zxjj1)))))

(setq qa1(*(-haaa btchd)qx))

(setq qa2(*(-haaa btchd)qx1))

2.3 绘制保护煤柱边界线

绘制煤柱边界线时,可以在VisualLISP中直接调用AutoCAD中“pline”命令。代码如下:(command"pline"da db dc dd"c"),在AutoCAD中绘制的结果如下图:

图2.运行结果

结束语

本文首先简单介绍了Visual LISP二次开发语言,然后介绍了设计保护煤柱的两种方法,并用Visual LISP设计了相应的算法,实现了用户输入参数即可绘制出保护煤柱边界。通过本例可以体会到Visual LISP二次开发快速、简捷、能充分灵活调用AutoCAD命令的优点。目前Visual LISP在AutoCAD中的二次开发应用还有很大的发展潜力,希望以后会有更高效的开发实例出现。

[1]李学志.Visual LISP程序设计[M].北京:清华大学出版社,2010.

[2]林在康,郑希贵.矿业信息技术基础[M].徐州:中国矿业大学出版社,2009.

[3]林海飞,陈勇.Surfer和AutoCAD软件在编制矿井瓦斯地质图中的应用[J].中国煤炭,2010,36:23-25.

王出(1988-11-17-),男,山西运城人,助教,学士,2010年毕业于西安科技大学采矿工程专业,现从事采矿CAD教学工作

猜你喜欢

松散层垂线二次开发
生态脆弱露天矿区截水帷幕下松散层水位演化规律
厚松散层薄基岩工作面导水裂隙带高度预计方法
多角度思维实现平面与立体的转化——学习微专题《明修栈道(作垂线)、暗度陈仓(找垂足)》有感
画垂线的方法
近岸悬沙垂线分布多元线性回归分析
津南区分层标组地质鉴别孔松散层取芯施工技术与效果分析
Global health training in Canadian family medicine residency programmes
西门子Operate高级编程的旋转坐标系二次开发
浅谈Mastercam后处理器的二次开发
冻结松散层中未冻水的变化规律