天圆液压产品中心
AutoCAD计算地质不锈钢缸筒界面产状画剖面示意线程序
时间:2017-02-20 11:02来源:来自网络 作者:天圆液压 点击:
次
1 前言 我们在画地质剖面图时,经常要画断层。我所见的大部分同仁都是利用计算器或Excel电子表格程序计算其视倾角,缺点是不能判断出断层的倾向与剖面方向的关系。而我们在判断断层倾向与剖面方向的关系时,有时候容易犯简单的、想当然的错误。为了快速、
| 1 前言 我们在画地质剖面图时,经常要画断层。我所见的大部分同仁都是利用计算器或Excel电子表格程序计算其视倾角,缺点是不能判断出断层的倾向与剖面方向的关系。而我们在判断断层倾向与剖面方向的关系时,有时候容易犯简单的、想当然的错误。为了快速、准确地在剖面图中画断层,本人特编辑出此程序供大家分享。它是直接在AutoCAD中,不借助于其它程序,只需用短短的几秒钟就能完成计算断层的视倾角,判断出断层倾向与剖面方向的关系,并画出其剖面示意线,标出断层的编号和产状。 2 源程序代码 (defun c:yfapm (/ anga angb fanu angc pt ptt pt1 pt2 pt3 os qx ak bk e f d g yy fa) (setvar "cmdecho" 0) (setq anga (getreal "\n请输入剖面方向(度): ")) (setq fanu (getstring "\n请输入断层编号: ")) (setq angb (getreal "\n请输入断层走向(度): ")) (setq qx (strcase (getstring "\n请输入断层倾向(NE、NW、SE、SW、N、E、S、W): "))) (setq angc (getreal "\n请输入断层倾角(度): ")) (setq yxblf yxbl) (if (null yxblf) (setq yxblf 1000)) (princ "\n请输入X方向的比例< ") (princ yxblf) (princ " >: ") (setq yxbl (getreal )) (if (null yxbl) (setq yxbl yxblf)) (setq yyblf yybl) (if (null yyblf) (setq yyblf 1000)) (princ "\n请输入Y方向的比例< ") (princ yyblf) (princ " >: ") (setq yybl (getreal )) (if (null yybl) (setq yybl yyblf)) (setq pt (getpoint "\n请指定断层通过点: ")) (setq os (getvar "osmode")) (setvar "osmode" 0) (setq ak (tan (- 90 anga))) (setq bk (tan (- 90 angb))) (setq e (atan (abs (/ (- ak bk) (1+ (* ak bk)))))) (setq f (angtos (atan (* (abs (sin e)) (tan angc) (/ yxbl yybl))) 0 10)) (cond ((= qx "NW") (setq d (+ angb 270))) ((= qx "SE") (setq d (+ angb 90))) ((= qx "NE") (setq d (- angb 270))) ((= qx "SW") (setq d (- angb 90))) ((= qx "N") (setq d 0)) ((= qx "E") (setq d 90)) ((= qx "S") (setq d 180)) ((= qx "W") (setq d 270)) ) (setq g (abs (- d anga))) (if (and (> g 90)(< g 270)) (setq yy "相反") (setq yy "一致" )) (if (or (= g 90)(= g 270)) (setq yy "平行")) (if (= yy "相反") (setq pt1 (polar pt (+ (angtof f) pi) 100)) (setq pt1 (polar pt (+ (- pi (angtof f)) pi) 100))) (setq pt2 (polar pt1 (/ (* pi 7) 4) 5)) (setq pt3 (polar pt2 0 31)) (setq ptt (polar (polar pt2 0 1) (/ pi 2) 1)) (setq fa (strcat fanu ":" (rtos angb) "%%d" qx "∠" (rtos angc) "%%d" )) (command "pline" pt "w" 0.3 0.3 pt1 "w" 0 0 "" "") (command "pline" pt1 pt2 pt3 "" "") (command "text" ptt 2.5 0 fa "" "") (princ "视倾角")(princ f)(princ "度") (princ ",断层倾向与剖面方向")(princ yy) (setvar "osmode" os) (prin1) ) (defun tan (ang / nn n nabc) (setq ang (/ (* ang pi) 180)) (setq ang (/ (sin ang) (cos ang))) ) 3 举例 加载该程序,根据AutoCAD窗口下面命令行的提示输入相应的数据,即可瞬间画出断层剖面示意线,并以单项文本的形式写出断层的编号和产状,并且在文本窗口中列出断层在该剖面图中的视倾角,以及断层倾向与剖面方向的关系。比如剖面方向为30°,断层编号是f20,产状为45°NW∠60°(注意产状的书写方式),X方向的比例为“1:1000”,Y方向的比例为“1:500”。 (1)输入命令“yfapm”后,回车; (2)输入剖面方向“30”(单位为度),回车; (3)输入断层编号“f20” ,回车; (4)输入断层走向“45”(单位为度),回车; (5)输入断层的倾向“nw”(大小写都行,程序自动转为大写),回车; (6)输入断层的倾角“60”(单位为度),回车; (7)输入剖面图在X方向上比例的分母,回车。如比例为“1:1000”,则输入“1000”。首次默认为“1000”,并且该变量具有记忆功能(即直接回车,则该变量数值为上一次输入的数值); (8)输入剖面图在Y方向上比例的分母“500”,回车。用法同上; (9)在图上指定一点,该点为断层通过的某一点,一般点在剖面图的地形线上。 4 结束语 由于篇幅有限,略去了一些步骤,比如判断输入的断层数据的正确性等。不过按照AutoCAD窗口下面命令行的提示,正确输入数据,其画图结果是一样的。如果需要完全版可发Email至“xjdzydl@126.com”,本人将尽快给你发出。如有不足之处,欢迎高人指教。 (责任编辑:admin) |
------分隔线----------------------------
- [ 18-11-06 ]换向阀中位性液压站能特点及应用留意
- [ 18-10-09 ]公制螺纹、BS液压油缸PP螺纹ED密封油
- [ 18-09-11 ]很是具体的液液压站压阀块计划履历总
- [ 18-09-11 ]液压节液压站制技能的革命
- [ 16-09-14 ]联轴珩磨管器选择方法
- [ 16-07-17 ]怎样避免缸筒液压站冲击危害?
- [ 16-07-17 ]液压动力单元液不锈钢缸筒压齿轮泵的
