明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1259|回复: 6

我不懂AUTOLISP,但要审稿,请大侠帮忙看看!万分感谢

[复制链接]
发表于 2008-1-14 08:36 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2008-1-16 15:49:20 编辑

来稿:由于本人不明白语法等相关,不知道怎么处理和审稿,到此请教,请大家帮忙修改。(利用其内置的Visual LISP语言编制了适合矿山具体应用的辐射取样解释程序,使曲线成图、解释、成果表输出一次完成。)几本给出了全文,请大家指正,并有奖励!

数字模型的建立
信息的处理首先是对数据格式的处理和分析,然后才可进行算法的研究,本程序也不例外。为了便于使用,我们把实际的测量数据经过简单处理,转变为机器可以处理的数据文件格式。
1.1 入口数据处理
入口数据按原始数据的记录格式把数据录入计算机中,原始文件用Windows 的noted进行记录。
文件格式如下所示:
距离1    伽玛值1
距离2    伽玛值2
……      ………
距离n    伽玛值n
1.2 输出数据形式
输出数据主要有两种:一种是伽玛编录资料解释图(见图1);一种为伽玛值解释品位表(见表1),同量附加块段计算统计结果。图纸的外观格式与手绘的样式相同,横向绘图比例尺为约定的1:20,纵向比例根据实测品位与绘图区域纵向长度由程序自行设置。
序号 起点m 终点m 样长(cm) 品位(PPmCm) 米百分数m%
1 54.000 54.300 30.000 61.0 0.0018
2 54.300 58.300 400.000 464.5 0.1858
3 58.300 58.678 37.842 1926.8 0.0729
4 58.678 60.000 132.158 431.7 0.0571
5 60.000 60.378 37.765 261.1 0.0099
6 60.378 64.425 404.691 455.1 0.0022
7 64.425 66.000 157.544 184.2 0.0290

  
图1   辐射取样解释简图                 表1  辐射取样解释表
1.3 数据结构
辐射取样数据处理程序的数据主要有原始测量数据、格值转换表和构图参数
1.3.1 原始数据结构
[1] DataList 用于保存原始数据,其格式为 (测点号i  距原点距离i  伽玛值i)
((1 Distance1 Gamma1) (2 Distance2 Gamma2)  ... ... (N DistanceN GammaN)) (N=0,1,…,总测点数),同时把伽玛值转换为PPmu的形式。
[2] 原始数据极值表:maxList (最大距离  最大伽玛值)
[3] ChgDataList 根据程序设定的图纸纵、横比例尺把DataList进行转化用于程序的成图处理。其格式为 (测点号i  转化后的距离i  转化后的伽玛值i):
((1 DistScale1 GammaScale1) (2 DistScale2 GammaScale2)  ... ...  (N DistScaleN GammaScaleN))  (N=0,1,…,总测点数)
1.3.2 构图参数设置
构图参数主要用于绘图环境的设置,输出纸型的选择、绘图纵横比例的确定、各种品位界线设置等。
[1] 辐射取样测量品位分界表:
BorderGradeList (... 500  1000  3000   10000   ...)
此表用于在进行矿体块段解释时的参考。
[2] 图纸规格(paperwidth   paperlength )
绘图区域(drawwidth   drawlength)
根据maxList设定绘图比例尺(lengthscale widthscale)
2 取样解释程序的算法
辐射取样解释方法有4/5法、1/2法、给定强度法等多种,铀矿床的厚度一般大于30cm,所以用1/2法和给定强度法比较合适,本程序按以上两法进行处理。由于解释曲线的形状变化很大,用程序去自行分析判断,其结果并不合适。在实际处理中我们采用交互的方式,由专业人员根据实际情况自行选择分析方法。
本程序的算法可分为以下几个步骤:
2.1 程序初始环境设置,品位界线表BorderGradeList;
2.2 读入原始测量数据,记入DataList表中;
2.3 根据给定纸型及原始数据设置图纸纵向比例 WidthCsale,同时对原数据表DataList进行变换,形成变换数据表ChgDataList;
2.4 绘制解释曲线;
2.5 对曲线进行交互式的解释,完善图纸同时把辐射取样解释成果数据记录到文件(*.txt)中。
其中第2.4、2.5步骤为本程序的核心。
 
3  算法的实现
3.1    图3绘制了本程序的总体流程,从流程中可以看出本程序设计简明了,所以以交互方式运行速度很快。完全可以满足工作的需求。
图4  说明了曲线解释的过程,从图中可以看出,绘图的过程与手工制图的过程是类似的,程序使用者只要有一点CAD的基本操作知识,马上就可以学会本程序的使用方法。
3.2本程序的核心程序清单(部分)
……  ……
;;;语法:(CurvatureAnalyse WidthScale LengthScale Point0)。
;;;功能:对绘制的曲线进行解释,解释以交互的方式进行。
;;; 首先使用者选择绘制基点,程序自行分析绘矿体边界线,并计算标注,同时存储计算结果。
;;;参数: WidthScale 伽玛制变换比例系数,LengthScale 取样距离长度比例系数。
;;;返回值:无。
(DEFUN CurvatureAnalyse (WidthScale LengthScale Point0 /)
 ;;;打开存储计算结果的文件
   (SETQ File (OPEN "c:/物探取样成果表.txt" "w"))
    (SETQ x0 (CAR Point0)
          y0 (CADR Point0)
    )
    ;;;(取第一段线,保留其与横坐标交点于x1中)   
    (SETQ Point1 (LIST (CAR (NTH 0 ChgDataList)) (CADR Point0))
          x1  (CAR (NTH 0 ChgDataList)))
    (COMMAND "layer" "ON" "hzh" "" "")
    (SETVAR "osmode" 1)
    (SETQ Point11 (GETPOINT "  第一点:")
          Point22 (GETPOINT "  第二点:")
    )
    (SETVAR "osmode" 0)
(WHILE Point11
;;;(GetCrossPoint)取交点并绘边界线
        (SETQ Point2 (GetCrossPoint Point11 Point22))
        (SETQ x2 (CAR Point2))
;;;(AreaDim) 求面积计算样长、品位、米百分数,进行图面标注
        (AreaDim x1 x2 x0 y0 WidthScale LengthScale File)
        (SETQ x1 x2)
        (SETVAR "osmode" 1)
        (PRINT "请继续选点,双击鼠标右键结束......\n")
        (SETQ Point11 nil)
        (SETQ Point11 (GETPOINT "  第一点:")
              Point22 (GETPOINT "  第二点:")
        )
        (SETVAR "osmode" 0)
    )
    (CLOSE File)
)
……  ……

发表于 2008-1-14 15:15 | 显示全部楼层

还有这种好事。。。

发表于 2008-1-15 21:51 | 显示全部楼层

这种程序不用仔细核对,调入AUTOCAD运行一下,通不过就说明有问题,根本没有必要一行一行的去审.

你审的是论文的主要观点,程序只是其中的一点算法.主要理论或观点不正确,程序是无用的.

发表于 2008-1-16 11:40 | 显示全部楼层

给别人试用一下,如果哪里不顺手的就当意见写下来

发表于 2008-1-16 12:22 | 显示全部楼层

只给核心部分

怎么看???

 楼主| 发表于 2008-1-17 14:00 | 显示全部楼层
继续顶,我已经完整了,请大家帮忙看看问题出在哪,谢谢了!
发表于 2008-1-18 00:14 | 显示全部楼层

不会吧..大侠....你不会是要准备出版书籍吧???

这个程式跟上次的那个差不多,-->打开文件,读记录,取点,取数据,保存记录,.程式自己运行一下,看看哪里不符合你的输入要求,改改就OK了,而且运行错误自己也会发现吧.....

另外有些程式表面上,看不出错误的,往往要运行时,才能发现问题;

核心程式,你并没有给出来啊..我认为下面这段子程式才是核心程式啊...

;;;(AreaDim) 求面积计算样长、品位、米百分数,进行图面标注
          (AreaDim x1 x2 x0 y0 WidthScale LengthScale File)

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-11 23:00 , Processed in 0.155075 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表