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

来源:南粤论文中心 作者:王出 发表于:2015-04-15 14:47  点击:
【关健词】Visual LISP 保护煤柱 垂线法 垂直剖
摘 要:本文利用AutoCAD中的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教学工作

(责任编辑:南粤论文中心)转贴于南粤论文中心: http://www.nylw.net(代写代发论文_广州毕业论文代笔_广州职称论文代发_广州论文网)
顶一下
(0)
0%
踩一下
(0)
0%
  • 上一篇:基于模糊测试的自动化软件测试方法
  • 下一篇:没有了


  • 版权声明:因本文均来自于网络,如果有版权方面侵犯,请及时联系本站删除.