找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3296|回复: 20

[LISP程序]:有人想要画钻孔柱状图和剖面图的程序吗

[复制链接]
发表于 2003-6-18 12:27:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我写了一个试用版,
画柱状图准确度较高,
有基于dcl对话框输入数据
和直接读取文本文件两种工作方式
需要的话我可以提供下载

画剖面图的程序通用性不强,
不过可以拿来做参考。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-6-18 12:32:51 | 显示全部楼层

Re: [LISP程序]:有人想要画钻孔柱状图和剖面图的程序吗

最初由 entrophy 发布
[B]我写了一个试用版,
画柱状图准确度较高,
有基于dcl对话框输入数据
和直接读取文本文件两种工作方式
需要的话我可以提供下载

画剖面图的程序通用性不强,
不过可以拿来做参考。 [/B]

帖上来吧,共同学习。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-6-18 12:43:46 | 显示全部楼层
今天的包压缩有问题,
明天我再把程序传上来!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-6-19 10:21:30 | 显示全部楼层

程序

程序说明;

  1. ;;钻孔柱状图绘制 :zkt2.lsp
  2. ;;;调用程序:zkt
  3. (defun c:zkt2f (/                 dcl_id            bianhao    zhuanghao  gaocheng
  4.               xzuobiao         yzuobiao   bilichi    leixing          zkongshen
  5.               ykongshen         jizu            kriqi      jriqi          kongjin
  6.               diceng         dixiashui  zhiliang   zhiban          fuze
  7.               wp)

  8.   (setq n 0)

  9. ;(setq dat_file (getfiled "请选择文件" "f:\\project\\zkt2" "dat" 2))
  10. ; (setq dat_file (open "zkt2.dat" "r"))
  11.   (setq ff (open "f:\\entrophy\\lisp\\zkt\\release\\zkt2.dat" "r"))
  12.   (setq data "start")
  13.   (setq data (read-line ff))
  14.   (while data
  15.      (setq dat data)
  16.      (setq n (+ 1 n))
  17.    
  18.      (princ n)
  19.       (if(= n 1)
  20.       (setq bianhao dat)
  21.       
  22.     )
  23.     (if        (= n 2)
  24.       (setq zhuanghao dat)
  25.     )
  26.     (if        (= n 3)
  27.       (setq gaocheng dat)
  28.     )
  29.     (if        (= n 4)
  30.       (setq xzuobiao dat)
  31.     )
  32.     (if        (= n 5)
  33.       (setq yzuobiao dat)
  34.     )
  35.     (if        (= n 6)
  36.       (setq bilichi dat)
  37.     )
  38.     (if        (= n 7)
  39.       (setq zkongshen dat)
  40.     )
  41.     (if        (= n 8)
  42.       (setq kriqi dat)
  43.     )
  44.     (if        (= n 9)
  45.       (setq jriqi dat)
  46.     )
  47.     (if        (= n 10)
  48.       (setq dixiashui dat)
  49.     )
  50.                                         ;(setq data (read-line ff))
  51.     (if        (= n 11)
  52.       (setq kongjin dat)
  53.     )
  54.     (if        (= n 12)
  55.       (setq diceng dat)
  56.     )
  57.     (if (= n 13)
  58.       (setq Yanxin1 dat)
  59.       )
  60.      (if (= n 14)
  61.       (setq Yanxin2 dat)
  62.       )
  63.     (if (= n 15)
  64.       (setq Yanxin3 dat)
  65.       )
  66.    
  67.      (setq data (read-line ff))
  68.        )



  69.   
  70.   (setvar "cmdecho" 0)
  71.   ;(setvar "osmode" 32)
  72.   (setq        c 0
  73.         d 0
  74.   )
  75.   (setq        offsetx        98                        ;98相对于坐标原点的偏移量
  76.         offsety        8                        ;8
  77.   )
  78.   (setq        c (+ c offsetx)
  79.         d (+ d offsety)
  80.   )
  81.   (setq        a (+ d 265)
  82.         b (+ c 350)
  83.   )                                        ;p1(c d);p2(c a);p3(b,a)p4(b,d)
  84.   (setq        x1 (+ c 44.5)
  85.         y1 (+ d 259.7)
  86.   )
  87.   (setq        a1 (+ d 9.38)
  88.         a2 (+ d 123.14)
  89.         a3 (+ d 235.13)
  90.         a4 (+ d 255.09)
  91.         a5 (+ d 265.0)
  92.   )                                        ;ai为相应的水平线的纵坐标
  93.   (setq        b1 (+ c 28.8)
  94.         b2 (+ c 48.90)
  95.         b3 (+ c 83.35)
  96.         b4 (+ c 120.57)                        ;123.37
  97.         b5 (+ c 143.81)
  98.         b6 (+ c 161.42)
  99.   )
  100.   (setq        bt21 (+ b2 9.5)
  101.         bt22 (+ b2 24.45)
  102.   )                                        ;第2列的分割点坐标
  103.   (setq        b7  (+ c 181.38)
  104.         b8  (+ c 197.23)
  105.         b9  (+ c 214.25)
  106.         b10 (+ c 327.73);325
  107.         b11 (+ c 350.0);348
  108.   )


  109.   (setq        bt11 (+ c 4.8)
  110.         bt12 (+ bt11 4.8)
  111.         bt13 (+ bt12 4.8)
  112.         bt14 (+ bt13 4.8)
  113.         bt15 (+ bt14 4.8)
  114.         bt16 (+ bt15 4.8)
  115.   )                                        ;b1i 为第一列的6个子列的横坐标 b16=b
  116.   (setq a41 (+ d 244.96))
  117.                                         ;a41为划分第一列的横线的纵标
  118.   (setq        bt61 (list b6 a41)
  119.         bt62 (list b9 a41)
  120.   )                                        ;bt61,bt62为6到9列水平线坐标

  121.   (setq t1 (+ b5 23.33))
  122.   (setq        t2 (+ t1 22.24)
  123.         t3 (+ t2 18.45)
  124.         t4 (+ t3 26.04)
  125.         t5 (+ t4 29.84)
  126.         t6 (+ t5 21.16)
  127.         t7 (+ t6 20.64)
  128.   )
  129.                                         ;ti为从孔口高程开始的第一行的相应垂直划分线的横坐)
  130.   (setq pt2 (+ b5 37.0))                ;pt2为最下一行根据b5确定的垂线的横坐标;biti为上下坐标从左到右
  131.   (setq        b6t1 (list pt2 a1)
  132.         b6t0 (list pt2 d)
  133.   )
  134.   (setq        b7t1 (list (+ pt2 18.26) a1)
  135.         b7t0 (list (+ pt2 18.26) d)
  136.   )
  137.   (setq        b8t1 (list (+ pt2 46.89) a1)
  138.         b8t0 (list (+ pt2 46.89) d)
  139.   )
  140.   (setq        b9t1 (list (+ pt2 62.40) a1)
  141.         b9t0 (list (+ pt2 62.40) d)
  142.   )
  143.   (setq        b10t1 (list (+ pt2 90.12) a1)
  144.         b10t0 (list (+ pt2 90.12) d)
  145.   )
  146.   (setq        b11t1 (list (+ pt2 106.65) a1)
  147.         b11t0 (list (+ pt2 106.65) d)
  148.   )
  149.   (setq        b12t1 (list (+ pt2 131.27) a1)
  150.         b12t0 (list (+ pt2 131.27) d)
  151.   )

  152.   (setq p1 (list c d))
  153.   (setq p2 (list c a))
  154.   (setq p3 (list b a))
  155.   (setq p4 (list b d))
  156.   (setq p11 (list c a1))
  157.   (setq p12 (list c a2))
  158.   (setq p13 (list c a3))
  159.   (setq p14 (list c a4))
  160.   (setq p41 (list b a1))
  161.   (setq p42 (list b a2))
  162.   (setq p43 (list b a3))
  163.   (setq p44 (list b a4))
  164.                                         ;设置左右边界各点坐标
  165.   (setq p21 (list b1 a))                ;p2i中的2代表上界
  166.   (setq p22 (list b2 a))
  167.   (setq p23 (list b3 a))
  168.   (setq p24 (list b4 a))
  169.   (setq p25 (list b5 a))
  170.   (setq p26 (list b6 a4))
  171.   (setq p27 (list b7 a4))
  172.   (setq p28 (list b8 a41))
  173.   (setq p29 (list b9 a4))
  174.   (setq p210 (list b10 a))
  175.                                         ;设置上边界各点标

  176.   (setq p31 (list b1 a1))
  177.   (setq p32 (list b2 a1))
  178.   (setq p33 (list b3 a1))
  179.   (setq p34 (list b4 a1))
  180.   (setq p35 (list b5 d))
  181.   (setq p36 (list b6 a1))
  182.   (setq p37 (list b7 a1))
  183.   (setq p38 (list b8 a1))
  184.   (setq p39 (list b9 a1))
  185.   (setq p310 (list b10 d))
  186.                                         ;设置下边界各点标
  187.   (setq p1u (list t1 a))
  188.   (setq p1v (list t1 a4))
  189.   (setq p2u (list t2 a))
  190.   (setq p2v (list t2 a4))
  191.   (setq p3u (list t3 a))
  192.   (setq p3v (list t3 a4))
  193.   (setq p4u (list t4 a))
  194.   (setq p4v (list t4 a4))
  195.   (setq p5u (list t5 a))
  196.   (setq p5v (list t5 a4))
  197.   (setq p6u (list t6 a))
  198.   (setq p6v (list t6 a4))
  199.   (setq p7u (list t7 a))
  200.   (setq p7v (list t7 a4))                ;设置第一行分界点标


  201.   (setq q0u (list c a41))                ;设置第一列分界点坐标
  202.   (setq q0v (list b1 a41))
  203.   (setq        q1u (list bt11 a41)
  204.         q1v (list bt11 a1)
  205.   )
  206.   (setq        q2u (list bt12 a41)
  207.         q2v (list bt12 a1)
  208.   )
  209.   (setq        q3u (list bt13 a41)
  210.         q3v (list bt13 a1)
  211.   )
  212.   (setq        q4u (list bt14 a41)
  213.         q4v (list bt14 a1)
  214.   )
  215.   (setq        q5u (list bt15 a41)
  216.         q5v (list bt15 a1)
  217.   )
  218.   (setq        t1u (list bt21 a4)
  219.         t1v (list bt21 a1)
  220.         t2u (list bt22 a4)
  221.         t2v (list bt22 d)
  222.   )
  223.   ;设置第三列控制点标
  224.   (setq        zkt_off  (list 98 8))
  225. (command "insert" "zkt_test11" zkt_off "1" "1" "0" "")

  226.   (setq zk_kj (read kongjin))                ;绘制钻孔
  227.   (setq kj_n (length zk_kj))
  228.   (setq zk_a1 '())
  229.   (setq zk_a2 '())
  230.   (setq zk_a3 '())
  231.   (setq zk_a4 '())
  232.   (setq yy 0)
  233.   (setq kj_i -1)
  234.   (repeat kj_n
  235.     (setq kj_i (+ kj_i 1))
  236.     (setq zkt1 (nth kj_i zk_kj))
  237.     (setq ay1 (nth 0 zkt1))
  238.     (setq ax (nth 1 zkt1))
  239.     (setq zkx1 (/ (/ ax 10.0) 2.0))
  240.     (setq xx1 (- 137 zkx1)
  241.           xx2 (+ 137 zkx1)
  242.     )
  243.     (setq zkb1 (atof bilichi))
  244.     (setq ay1 (* ay1 (/ 1000.0 zkb1)))
  245.     (setq yy (- 243 yy))
  246.     (setq yy1 (- 243 ay1))
  247.     (setq zkp1 (list xx1 yy)
  248.           zkp2 (list xx1 yy1)
  249.           zkp3 (list xx2 yy)
  250.           zkp4 (list xx2 yy1)
  251.     )
  252.     (setq txt (list 137 (/ (+ yy yy1) 2)))
  253.     (setq zk_a1 (append zk_a1 (list zkp1 zkp2)))
  254.     (setq zk_a2 (append zk_a2 (list zkp3 zkp4)))
  255.     (setq zk_a3 (append zk_a3 (list txt)))
  256.     (setq zk_a4 (append zk_a4 (list ax)))
  257.     (setq yy ay1)
  258.   )
  259.   (command "pline" (foreach pt zk_a1 (command pt)))
  260.   (command "pline" (foreach pt zk_a2 (command pt)))
  261.   (setq zx_n (length zk_a4))
  262.   (setq zx_i -1)
  263.   (repeat zx_n
  264.     (setq zx_i (+ zx_i 1))
  265.     (setq zx_p1 (nth zx_i zk_a3))
  266.     (setq zx_t1 (nth zx_i zk_a4))
  267.     (setq tt (strcat "\" "U+2205" (itoa zx_t1)))
  268.     (command "text" "j" "m" zx_p1 "3" "0" tt "")
  269.   )


  270.   (setq zk_diceng (read diceng))        ;huizhi caiqulv quxian
  271.   (setq dc_n (length zk_diceng))
  272.   (setq dc_a1 '())
  273.   (setq dc_a2 '())
  274.   (setq dc_a3 '())
  275.   (setq m1 (atof gaocheng))
  276.   (setq m2 m1)
  277.   (setq dcyy 0)
  278.   (setq dc_i -1)
  279.   (repeat dc_n
  280.     (setq dc_i (+ dc_i 1))
  281.     (setq dc1 (nth dc_i zk_diceng))
  282.     (setq dcay1 (nth 0 dc1))
  283.     (setq bzkh dcay1)                        ;kongshen shuzhi


  284.     (setq dcay1 (* dcay1 (/ 1000.0 zkb1))) ;biaozhu  kongshen
  285.     (setq bz (list 151.5 (- 245 dcay1)))
  286.     (setq bzkh1 (rtos bzkh 2 2))
  287.     (command "text" "j" "m" bz "3" "0" bzkh1 "")

  288.     (setq bzgc (- m1 bzkh))
  289.     (setq bzgc1 (rtos bzgc 2 2))
  290.     (setq gch (list 164.5 (- 245 dcay1)))
  291.     (command "text" "j" "m" gch "3" "0" bzgc1 "") ;biaozhu gaocheng

  292.                                         ; (setq s1 m1)
  293.     (setq bzgc2 (- m2 bzgc))
  294.     (setq bzgc3 (rtos bzgc2 2 2))
  295.     (setq ch (list 176.5 (- 245 dcay1)))
  296.     (command "text" "j" "m" ch "3" "0" bzgc3 "") ;biaozhu cenghou
  297.     (setq m2 bzgc)
  298.     (setq dcax1 (nth 1 dc1))
  299.     (setq dcxx1 (+ 221 (* dcax1 0.2)))
  300.     (setq yxp1 (list b9 (- 243 dcay1))
  301.           yxp2 (list b10 (- 243 dcay1))
  302.     )
  303.     (setq yxp3 (list b2 (- 243 dcay1))
  304.           yxp4 (list b3 (- 243 dcay1))
  305.     )



  306.     (setq dcyy (- 243 dcyy))
  307.     (setq dcyy1 (- 243 dcay1))
  308.     (setq dcyt (/ (+ dcyy dcyy1) 2.0))
  309.     (setq dcpt (list (- dcxx1 1) dcyt))

  310.     (setq dcp1 (list dcxx1 dcyy)
  311.           dcp2 (list dcxx1 dcyy1)
  312.     )
  313.     (setq dcb1 (itoa dcax1))

  314.     (setq dctxt (list 137 (/ (+ dcyy dcyy1) 2)))

  315.     (setq dc_a1 (append dc_a1 (list dcp1 dcp2)))
  316.     (setq dc_a2 (append dc_a2 (list dcb1)))
  317.     (setq dc_a3 (append dc_a3 (list dcpt)))
  318.     (setq dcyy dcay1)
  319.     (command "line" yxp1 yxp2 "")        ;yxp1 yxp2 shui ping fenjiexian
  320.     (command "line" yxp3 yxp4 "")

  321.   )
  322.   (setq        yxp5 (list c (- 243 dcay1))
  323.         yxp6 (list b (- 243 dcay1))
  324.   )
  325.   (command "line" yxp5 yxp6 "")                ;yxp5 yxp6 zui xia mian shuiping jiexian


  326.   (command "pline" (foreach dcpt dc_a1 (command dcpt)))
  327.   (setq yx_n (length dc_a3))
  328.   (setq yx_i -1)
  329.   (repeat yx_n
  330.     (setq yx_i (+ yx_i 1))
  331.     (setq dc_p1 (nth yx_i dc_a2))
  332.     (setq dc_t1 (nth yx_i dc_a3))
  333.     (command "text" "j" "r" dc_t1 "3" "0" dc_p1 "")
  334.   )                                        ;text biaozhu
  335.   (setq hwm1 (atof dixiashui))
  336.   (if (> hwm1 0)
  337.     (progn
  338.       (setq hwm2 (atof gaocheng))
  339.       (setq hwdt1 (- 243 (* hwm1 (/ 1000.0 zkb1))))
  340.       (setq hwdt2 (rtos hwm1 2 2))
  341.       (setq hwpp hwdt1)
  342.       (setq hwp1 (list 306 hwpp)
  343.             hwp2 (list 305 (+ hwpp 2.4))
  344.             hwp3 (list 305 (- hwpp 2.4))
  345.       )
  346.       (setq hwp4 (list b8 hwpp)
  347.             hwp5 (list b9 hwpp)
  348.       )
  349.       (setq hwtx1 (- hwm2 hwm1))        ;shui wei gaocheng
  350.       (setq hwtx1 (rtos hwtx1 2 2))
  351.       (command "line" hwp4 hwp5 "")
  352.       (command "text" "j" "m" hwp2 "3" "0" hwdt2 "") ;shuiwei
  353.       (command "text" "j" "m" hwp3 "3" "0" hwtx1 "") ;shuiweigaocheng
  354.     )
  355.     (progn
  356.       (command "text" "j" "m" "304.105,222.0" "3" "0" "干" "")
  357.       (command "text" "j" "m" "304.105,200.0" "3" "0" "孔" "")
  358.     )
  359.   )
  360.   (setq bilichi (strcat "1:" bilichi))
  361.   

  362.   (command "text" "j" "m" "136,268.5" "3.5" "0" bianhao "")
  363.   (command "text" "j" "m" "136,247.5" "2.6" "0" bilichi "")
  364.   (command "text" "j" "m" "201,268.5" "3.5" "0" zhuanghao "")
  365.   (command "text" "j" "m" "253.475,268.5" "3.5"        "0" gaocheng "")
  366.   (command "text" "j" "m" "296.755,268.5" "3.5"        "0" zkongshen "")
  367.   
  368.   (command "text" "j" "m" "318.85,268.5" "3.5" "0" "钻孔坐标" "")
  369.   (command "text"
  370.            "j"
  371.            "m"
  372.            "346.79,270.5"
  373.            "3"
  374.            "0"
  375.            (strcat "X:" xzuobiao)
  376.            ""
  377.   )
  378.   (command "text"
  379.            "j"
  380.            "m"
  381.            "346.79,266.5"
  382.            "3"
  383.            "0"
  384.            (strcat "Y:" yzuobiao)
  385.            ""
  386.   )
  387.   
  388.   (command "text" "j" "m" "393.99,268.5" "3.5" "0" kriqi "")

  389.   (command "text" "j" "m" "436.715,268.5" "3.5" "0" jriqi "")
  390.      (Command "-bhatch" "p" "ansi38" 1 0 (list 130 180) "")
  391.    (Command "-bhatch" "p" "ansi38" 1 0 (list 145 180) "")
  392.   (command "mtext""315.715,240""425,208" Yanxin1 "")
  393.   (command "mtext" "315.715,205" "425,160"Yanxin2 "")
  394.   (command "mtext" "315.715,157" "425,95"Yanxin3 "")
  395.   
  396.   
  397. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-22 09:29:01 | 显示全部楼层
加载后,输入“zkt”、“zkt2”cad不认,输入“zkt2f”后cad显示“; 错误: 参数类型错误: FILE nil”请帮忙解答,谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-6-22 11:10:46 | 显示全部楼层
zkt2.dat
弄个样例贴一下好吗.

基于对话框的方法,也没有.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-6-22 11:13:24 | 显示全部楼层
这是因为缺少数据文件,所以提示无法找到文件。

数据文件格式如下:
钻空编号
钻孔桩号
钻孔高程
钻孔x坐标
钻孔y坐标
比例尺
钻空深度
开工日期
竣工日期
地下水位
孔径层次      eg:((3.4 130)(15 110))
岩心采取率曲线eg:((5.6 90)(15 80))
岩心描述内容


因为上次帖了没有反映,
所以我就没有帖数据文件和基于对话框的文件。
下次一起补上来
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-22 12:02:58 | 显示全部楼层
感谢楼上无私奉献,虽然不是地质专业,但工作中也会和其有关系。因此也想学习学习,下了以后遇到思达克同样的问题。原来是缺少数据文件。
没回帖不说明没反应,有时大家是在等待楼主的进一步说明。可以看一看浏览数就知道了。
请楼主好事做到底,附上相关的说明、数据文件样例等。送人玫瑰,手留余香!相互交流,共同提高。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-6-25 16:24:14 | 显示全部楼层
没问题啦
等我出差回来马上就全部传上来。

文件说明:
1。zkt2.dat为参考的数据文件
2。zkt_test11.dwg为需要插入的图框文件
3。标准柱状图为做出的标准文件
4。zkt.dcl为基于对话框模式的dcl文件
5。zkt.lsp为基于对话框模式的lsp文件
因为用对话框方式输入数据没有编写文本文件快捷,
所以lsp程序取消了基于对话框输入岩心描述的内容。
需要的同道只要用cad自己输入文本就可以了。
6。对话框例子.bmp为基于对话框模式的程序接口画面。
7。zkt2.lsp为基于文本文件的lsp程序。
使用时注意在程序中修改自己的dat文件的保存路径。

注意之处:
1。因为我不知道如何为CAD设置默认字体,所以直接画出的柱状图有乱码和
其他的问题,希望各位大侠教我如何解决。
我所想到的解决方法是先打开标准柱状图.dwg,然后“全选”,“删除”,
再调用zkt2f命令画图。
2。画柱状图的注意事项可以参考dcl对话框的“帮助”按钮所提供的参考内容。



斑竹在吗?
我怎么上传不了附件,
给我你的信箱,
我把附件发到你的信箱中,
帮我上传如何啊?

错误信息
上传附件出错. 请返回重试, 如果问题仍然存在, 请联系 管理员




因为不能上传,
我把所有的文本文件都贴上来给大家做参考
因为缺少自定义的图框文件,
所以还是没有办法使用。
只好请大家多包含了。。


zkt.dcl

  1. dcl_settings : default_dcl_settings { audit_level = 0; }
  2. zkt : dialog {

  3.     label = /*MSG1*/"钻孔信息设置";
  4.    
  5.     : boxed_column {

  6.     label = /*MSG18*/"钻孔信息";

  7.         :row {
  8.            : boxed_column {
  9.                 label = "钻孔属性";

  10.                 : edit_box {
  11.                     label = /*MSG19*/"钻孔编号";
  12.                     key = "zk_bianhao";
  13.                     edit_width = 9;
  14.                 }
  15.                 : edit_box {
  16.                     label = /*MSG20*/"钻孔桩号";
  17.                     key = "zk_zhuanghao";
  18.                     edit_width = 9;
  19.                 }
  20.                 : edit_box {
  21.                     label = /*MSG21*/"孔口高程";
  22.                     key = "zk_gaocheng";
  23.                     edit_width = 9;
  24.                 }
  25.                 : edit_box {
  26.                     label = /*MSG22*/"X坐标";
  27.                     key = "zk_xzuobiao";
  28.                     edit_width = 9;
  29.                 }
  30.                 : edit_box {
  31.                     label = /*MSG23*/"Y坐标";
  32.                     key = "zk_yzuobiao";
  33.                     edit_width = 9;
  34.                 }
  35.                 : edit_box {
  36.                     label = /*MSG27*/"比例尺";
  37.                     key = "zk_bilichi";
  38.                     edit_width = 9;
  39.                 }
  40.            }

  41.            : boxed_column {
  42.                 label = "工程信息";

  43.                 : edit_box {
  44.                     label = /*MSG25*/"钻孔类型";
  45.                     key = "zk_leixing";
  46.                     edit_width = 7;
  47.                   
  48.                 }
  49.                 : edit_box {
  50.                     label = /*MSG26*/"终孔孔深";
  51.                     key = "zk_zkongshen";
  52.                     edit_width = 7;
  53.                 }
  54.                 : edit_box {
  55.                     label = /*MSG27*/"验孔孔深";
  56.                     key = "zk_ykongshen";
  57.                     edit_width = 7;
  58.                 }
  59.                 : edit_box {
  60.                     label = /*MSG28*/"施工机组";
  61.                     key = "zk_jizu";
  62.                     edit_width = 7;
  63.                     
  64.                 }
  65.                 : edit_box {
  66.                     label = /*MSG29*/"开工日期";
  67.                     key = "zk_kriqi";
  68.                     edit_width = 7;
  69.                 }
  70.                 : edit_box {
  71.                     label = /*MSG30*/"竣工日期";
  72.                     key = "zk_jriqi";
  73.                     edit_width = 7;
  74.                 }
  75.            }

  76.            : boxed_column {
  77.                 label = "地质信息";

  78.                 : edit_box {
  79.                     label = /*MSG31*/"孔径层次";
  80.                     key = "zk_kongjin";
  81.                     edit_width = 7;
  82.                 }
  83.                 : edit_box {
  84.                     label = /*MSG32*/"地层结构";
  85.                     key = "zk_diceng";
  86.                     edit_width = 7;
  87.                 }
  88.                 : edit_box {
  89.                     label = /*MSG33*/"地下水位?";
  90.                     key = "zk_dixiashui";
  91.                     edit_width = 7;
  92.                 }
  93.                 : edit_box {
  94.                     label = /*MSG37*/"质量等级";
  95.                     key = "zk_zhiliang";
  96.                     edit_width = 7;
  97.                 }
  98.                 : edit_box {
  99.                     label = /*MSG35*/"地质值班";
  100.                     key = "zk_zhiban";
  101.                     edit_width = 7;
  102.                 }
  103.                 : edit_box {
  104.                     label = /*MSG36*/"地质负责";
  105.                     key = "zk_fuze";
  106.                     edit_width = 7;
  107.                 }
  108.   }
  109. }

  110.     : row {
  111.        ok_button;
  112.                 cancel_button;
  113.                 :button{
  114.        label="帮助信息";
  115.        key="helpinfo";
  116.        fixed_width=true;
  117.        }
  118.       
  119.        }
  120.      }
  121. }
  122. help:dialog
  123. {
  124. label="帮助信息";
  125. spacer_1;
  126. :text{
  127. label="1.绘制钻孔图时,只需要输入必要内容,其他内容可以暂时不进行处理";
  128. }
  129. :text{
  130. label="2.输入比例尺时,只需要输入比率,比如1:100只要输入100即可";
  131. }
  132. :text{
  133. label="3.孔径层次的输入法如下((深度 孔径)):((5 130)(15 110))外层括号不能省略";
  134. }
  135. :text{
  136. label="4.地层结构的输入法同上,为避免作图误差,对于90的岩心采取率建议改为91或者89";
  137. }
  138. :text{
  139. label="5.地下水位必须大于0,若小于0或者不进行输入,将作为干孔处理";
  140. }
  141. :text{
  142. label="6.绘制钻孔图前必需先打开标准图件direct.dwg,然后删除标准图件,以消除显示误差";
  143. }
  144. ok_only;
  145. }

  1. ;;;钻孔柱状图绘制 :zkt1.lsp
  2. ;;;调用对话框程序:zkt
  3. (defun c:zkt (/                 dcl_id            bianhao    zhuanghao  gaocheng
  4.               xzuobiao         yzuobiao   bilichi    leixing          zkongshen
  5.               ykongshen         jizu            kriqi      jriqi          kongjin
  6.               diceng         dixiashui  zhiliang   zhiban          fuze
  7.               wp
  8.              )
  9.   (setq dcl_id (load_dialog "zkt.dcl"))
  10.   (if (< dcl_id 0)
  11.     (exit)
  12.   )
  13.   (setq wp 0)
  14.    (setq dixiashui "0")
  15.    (new_dialog "zkt" dcl_id)
  16.   (mode_tile "zk_bianhao" 2)                ;shezhi bianji kuang focus           
  17.   (action_tile "zk_bianhao" "(setq bianhao $value)")
  18.   (action_tile "zk_zhuanghao" "(setq zhuanghao $value)")
  19.   (action_tile "zk_gaocheng" "(setq gaocheng $value)")

  20.   (action_tile "zk_xzuobiao" "(setq xzuobiao $value)")
  21.   (action_tile "zk_yzuobiao" "(setq yzuobiao $value)")
  22.   (action_tile "zk_bilichi" "(setq bilichi $value)")
  23.   (action_tile "zk_leixing" "(setq leixing $value)")

  24.   (action_tile "zk_zkongshen" "(setq zkongshen $value)")
  25.   (action_tile "zk_ykongshen" "(setq ykongshen $value)")
  26.   (action_tile "zk_jizu" "(setq jizu $value)")
  27.   (action_tile "zk_kriqi" "(setq kriqi $value)")
  28.   (action_tile "zk_jriqi" "(setq jriqi $value)")


  29.   (action_tile "zk_kongjin" "(setq kongjin $value)")
  30.   (action_tile "zk_diceng" "(setq diceng $value)")
  31.   (action_tile "zk_dixiashui" "(setq dixiashui $value)")
  32.   (action_tile "zk_zhiliang" "(setq zhiliang $value)")
  33.   (action_tile "zk_zhiban" "(setq zhiban $value)")
  34.   (action_tile "zk_fuze" "(setq fuze $value)")


  35.   (action_tile "accept" "(justyes) (done_dialog)") ;
  36.   (action_tile "cancel" "(justnone) (done_dialog )") ;
  37.   (action_tile "helpinfo" "(c:help)")        ;
  38.   (start_dialog)

  39.   (unload_dialog dcl_id)                ;unload dialog
  40.   (if (> wp 0)
  41.     (draw)
  42.   )

  43. )
  44. ;;;do_hz
  45. (defun justyes ()                        ;justify huitu
  46.   (setq wp 1)
  47. )

  48. (defun justnone        ()
  49.   (setq wp -1)
  50. )
  51. (defun c:help (/ dclid)
  52.   (setq dclid (load_dialog "zkt.dcl"))
  53.   (if (not (new_dialog "help" dclid))
  54.     (quit)
  55.   )
  56.   (action_tile "accept" "(done_dialog)")
  57.   (start_dialog)
  58.   (unload_dialog dclid)
  59.   (princ)
  60. )
  61. ;;;设计制图主程序:draw
  62. (defun draw ()

  63.   (setvar "cmdecho" 0)
  64.   (setvar "osmode" 32)
  65.   (setq        c 0
  66.         d 0
  67.   )
  68.   (setq        offsetx        98                        ;98相对于坐标原点的偏移量
  69.         offsety        8                        ;8
  70.   )
  71.   (setq        c (+ c offsetx)
  72.         d (+ d offsety)
  73.   )
  74.   (setq        a (+ d 265)
  75.         b (+ c 350)
  76.   )                                        ;p1(c d);p2(c a);p3(b,a)p4(b,d)
  77.   (setq        x1 (+ c 44.5)
  78.         y1 (+ d 259.7)
  79.   )
  80.   (setq        a1 (+ d 9.38)
  81.         a2 (+ d 123.14)
  82.         a3 (+ d 235.13)
  83.         a4 (+ d 255.09)
  84.         a5 (+ d 265.0)
  85.   )                                        ;ai为相应的水平线的纵坐标
  86.   (setq        b1 (+ c 28.8)
  87.         b2 (+ c 48.90)
  88.         b3 (+ c 83.35)
  89.         b4 (+ c 120.57)                        ;123.37
  90.         b5 (+ c 143.81)
  91.         b6 (+ c 161.42)
  92.   )
  93.   (setq        bt21 (+ b2 9.5)
  94.         bt22 (+ b2 24.45)
  95.   )                                        ;第2列的分割点坐标
  96.   (setq        b7  (+ c 181.38)
  97.         b8  (+ c 197.23)
  98.         b9  (+ c 214.25)
  99.         b10 (+ c 327.73);325
  100.         b11 (+ c 350.0);348
  101.   )


  102.   (setq        bt11 (+ c 4.8)
  103.         bt12 (+ bt11 4.8)
  104.         bt13 (+ bt12 4.8)
  105.         bt14 (+ bt13 4.8)
  106.         bt15 (+ bt14 4.8)
  107.         bt16 (+ bt15 4.8)
  108.   )                                        ;b1i 为第一列的6个子列的横坐标 b16=b
  109.   (setq a41 (+ d 244.96))
  110.                                         ;a41为划分第一列的横线的纵标
  111.   (setq        bt61 (list b6 a41)
  112.         bt62 (list b9 a41)
  113.   )                                        ;bt61,bt62为6到9列水平线坐标

  114.   (setq t1 (+ b5 23.33))
  115.   (setq        t2 (+ t1 22.24)
  116.         t3 (+ t2 18.45)
  117.         t4 (+ t3 26.04)
  118.         t5 (+ t4 29.84)
  119.         t6 (+ t5 21.16)
  120.         t7 (+ t6 20.64)
  121.   )
  122.                                         ;ti为从孔口高程开始的第一行的相应垂直划分线的横坐)
  123.   (setq pt2 (+ b5 37.0))                ;pt2为最下一行根据b5确定的垂线的横坐标;biti为上下坐标从左到右
  124.   (setq        b6t1 (list pt2 a1)
  125.         b6t0 (list pt2 d)
  126.   )
  127.   (setq        b7t1 (list (+ pt2 18.26) a1)
  128.         b7t0 (list (+ pt2 18.26) d)
  129.   )
  130.   (setq        b8t1 (list (+ pt2 46.89) a1)
  131.         b8t0 (list (+ pt2 46.89) d)
  132.   )
  133.   (setq        b9t1 (list (+ pt2 62.40) a1)
  134.         b9t0 (list (+ pt2 62.40) d)
  135.   )
  136.   (setq        b10t1 (list (+ pt2 90.12) a1)
  137.         b10t0 (list (+ pt2 90.12) d)
  138.   )
  139.   (setq        b11t1 (list (+ pt2 106.65) a1)
  140.         b11t0 (list (+ pt2 106.65) d)
  141.   )
  142.   (setq        b12t1 (list (+ pt2 131.27) a1)
  143.         b12t0 (list (+ pt2 131.27) d)
  144.   )

  145.   (setq p1 (list c d))
  146.   (setq p2 (list c a))
  147.   (setq p3 (list b a))
  148.   (setq p4 (list b d))
  149.   (setq p11 (list c a1))
  150.   (setq p12 (list c a2))
  151.   (setq p13 (list c a3))
  152.   (setq p14 (list c a4))
  153.   (setq p41 (list b a1))
  154.   (setq p42 (list b a2))
  155.   (setq p43 (list b a3))
  156.   (setq p44 (list b a4))
  157.                                         ;设置左右边界各点坐标
  158.   (setq p21 (list b1 a))                ;p2i中的2代表上界
  159.   (setq p22 (list b2 a))
  160.   (setq p23 (list b3 a))
  161.   (setq p24 (list b4 a))
  162.   (setq p25 (list b5 a))
  163.   (setq p26 (list b6 a4))
  164.   (setq p27 (list b7 a4))
  165.   (setq p28 (list b8 a41))
  166.   (setq p29 (list b9 a4))
  167.   (setq p210 (list b10 a))
  168.                                         ;设置上边界各点标

  169.   (setq p31 (list b1 a1))
  170.   (setq p32 (list b2 a1))
  171.   (setq p33 (list b3 a1))
  172.   (setq p34 (list b4 a1))
  173.   (setq p35 (list b5 d))
  174.   (setq p36 (list b6 a1))
  175.   (setq p37 (list b7 a1))
  176.   (setq p38 (list b8 a1))
  177.   (setq p39 (list b9 a1))
  178.   (setq p310 (list b10 d))
  179.                                         ;设置下边界各点标
  180.   (setq p1u (list t1 a))
  181.   (setq p1v (list t1 a4))
  182.   (setq p2u (list t2 a))
  183.   (setq p2v (list t2 a4))
  184.   (setq p3u (list t3 a))
  185.   (setq p3v (list t3 a4))
  186.   (setq p4u (list t4 a))
  187.   (setq p4v (list t4 a4))
  188.   (setq p5u (list t5 a))
  189.   (setq p5v (list t5 a4))
  190.   (setq p6u (list t6 a))
  191.   (setq p6v (list t6 a4))
  192.   (setq p7u (list t7 a))
  193.   (setq p7v (list t7 a4))                ;设置第一行分界点标


  194.   (setq q0u (list c a41))                ;设置第一列分界点坐标
  195.   (setq q0v (list b1 a41))
  196.   (setq        q1u (list bt11 a41)
  197.         q1v (list bt11 a1)
  198.   )
  199.   (setq        q2u (list bt12 a41)
  200.         q2v (list bt12 a1)
  201.   )
  202.   (setq        q3u (list bt13 a41)
  203.         q3v (list bt13 a1)
  204.   )
  205.   (setq        q4u (list bt14 a41)
  206.         q4v (list bt14 a1)
  207.   )
  208.   (setq        q5u (list bt15 a41)
  209.         q5v (list bt15 a1)
  210.   )
  211.   (setq        t1u (list bt21 a4)
  212.         t1v (list bt21 a1)
  213.         t2u (list bt22 a4)
  214.         t2v (list bt22 d)
  215.   )                                        ;设置第三列控制点坐标


  216.   (command "line" p1 p2 "")
  217.   (command "line" p2 p3 "")
  218.   (command "line" p3 p4 "")
  219.   (command "line" p4 p1 "")
  220.                                         ;   画边框
  221.   (command "line" p11 p41 "")
  222.                                         ; (command "line" p12 p42 "")
  223.   (command "line" p13 p43 "")
  224.   (command "line" p14 p44 "")
  225.                                         ;  画水平边界
  226.   (command "line" p21 p31 "")
  227.   (command "line" p22 p32 "")
  228.   (command "line" p23 p33 "")
  229.   (command "line" p24 p34 "")
  230.   (command "line" p25 p35 "")
  231.   (command "line" p26 p36 "")
  232.   (command "line" p27 p37 "")
  233.   (command "line" p28 p38 "")
  234.   (command "line" p29 p39 "")
  235.   (command "line" p210 p310 "")                ;画界

  236.   (command "line" p1u p1v "")
  237.   (command "line" p2u p2v "")
  238.   (command "line" p3u p3v "")
  239.   (command "line" p4u p4v "")
  240.   (command "line" p5u p5v "")
  241.   (command "line" p6u p6v "")
  242.   (command "line" p7u p7v "")                ;补充绘制第一行不规则的列的分界线



  243.   (command "line" q0u q0v "")
  244.   (command "line" q1u q1v "")
  245.   (command "line" q2u q2v "")
  246.   (command "line" q3u q3v "")
  247.   (command "line" q4u q4v "")
  248.   (command "line" q5u q5v "")
  249.                                         ;补充绘制第一列的不规则界

  250.   (command "line" t1u t1v "")
  251.   (command "line" t2u t2v "")                ;补充绘制第三列的不规则界

  252.   (command "line" bt61 bt62 "")                ;绘制6-9列水平分线
  253.   (command "line" b6t1 b6t0 "")                ;绘制最底行第6-11列的垂直分线
  254.   (command "line" b7t1 b7t0 "")
  255.   (command "line" b8t1 b8t0 "")
  256.   (command "line" b9t1 b9t0 "")
  257.   (command "line" b10t1 b10t0 "")
  258.   (command "line" b11t1 b11t0 "")
  259.   (command "line" b12t1 b12t0 "")
  260.   (setq zk_kj (read kongjin))                ;绘制钻孔
  261.   (setq kj_n (length zk_kj))
  262.   (setq zk_a1 '())
  263.   (setq zk_a2 '())
  264.   (setq zk_a3 '())
  265.   (setq zk_a4 '())
  266.   (setq yy 0)
  267.   (setq kj_i -1)
  268.   (repeat kj_n
  269.     (setq kj_i (+ kj_i 1))
  270.     (setq zkt1 (nth kj_i zk_kj))
  271.     (setq ay1 (nth 0 zkt1))
  272.     (setq ax (nth 1 zkt1))
  273.     (setq zkx1 (/ (/ ax 10.0) 2.0))
  274.     (setq xx1 (- 137 zkx1)
  275.           xx2 (+ 137 zkx1)
  276.     )
  277.     (setq zkb1 (atof bilichi))
  278.     (setq ay1 (* ay1 (/ 1000.0 zkb1)))
  279.     (setq yy (- 243 yy))
  280.     (setq yy1 (- 243 ay1))
  281.     (setq zkp1 (list xx1 yy)
  282.           zkp2 (list xx1 yy1)
  283.           zkp3 (list xx2 yy)
  284.           zkp4 (list xx2 yy1)
  285.     )
  286.     (setq txt (list 137 (/ (+ yy yy1) 2)))
  287.     (setq zk_a1 (append zk_a1 (list zkp1 zkp2)))
  288.     (setq zk_a2 (append zk_a2 (list zkp3 zkp4)))
  289.     (setq zk_a3 (append zk_a3 (list txt)))
  290.     (setq zk_a4 (append zk_a4 (list ax)))
  291.     (setq yy ay1)
  292.   )
  293.   (command "pline" (foreach pt zk_a1 (command pt)))
  294.   (command "pline" (foreach pt zk_a2 (command pt)))
  295.   (setq zx_n (length zk_a4))
  296.   (setq zx_i -1)
  297.   (repeat zx_n
  298.     (setq zx_i (+ zx_i 1))
  299.     (setq zx_p1 (nth zx_i zk_a3))
  300.     (setq zx_t1 (nth zx_i zk_a4))
  301.     (setq tt (strcat "\" "U+2205" (itoa zx_t1)))
  302.     (command "text" "j" "m" zx_p1 "3" "0" tt "")
  303.   )


  304.   (setq zk_diceng (read diceng))        ;huizhi caiqulv quxian
  305.   (setq dc_n (length zk_diceng))
  306.   (setq dc_a1 '())
  307.   (setq dc_a2 '())
  308.   (setq dc_a3 '())
  309.   (setq m1 (atof gaocheng))
  310.   (setq m2 m1)
  311.   (setq dcyy 0)
  312.   (setq dc_i -1)
  313.   (repeat dc_n
  314.     (setq dc_i (+ dc_i 1))
  315.     (setq dc1 (nth dc_i zk_diceng))
  316.     (setq dcay1 (nth 0 dc1))
  317.     (setq bzkh dcay1)                        ;kongshen shuzhi


  318.     (setq dcay1 (* dcay1 (/ 1000.0 zkb1))) ;biaozhu  kongshen
  319.     (setq bz (list 151.5 (- 245 dcay1)))
  320.     (setq bzkh1 (rtos bzkh 2 2))
  321.     (command "text" "j" "m" bz "3" "0" bzkh1 "")

  322.     (setq bzgc (- m1 bzkh))
  323.     (setq bzgc1 (rtos bzgc 2 2))
  324.     (setq gch (list 164.5 (- 245 dcay1)))
  325.     (command "text" "j" "m" gch "3" "0" bzgc1 "") ;biaozhu gaocheng

  326.                                         ; (setq s1 m1)
  327.     (setq bzgc2 (- m2 bzgc))
  328.     (setq bzgc3 (rtos bzgc2 2 2))
  329.     (setq ch (list 176.5 (- 245 dcay1)))
  330.     (command "text" "j" "m" ch "3" "0" bzgc3 "") ;biaozhu cenghou
  331.     (setq m2 bzgc)
  332.     (setq dcax1 (nth 1 dc1))
  333.     (setq dcxx1 (+ 221 (* dcax1 0.2)))
  334.     (setq yxp1 (list b9 (- 243 dcay1))
  335.           yxp2 (list b10 (- 243 dcay1))
  336.     )
  337.     (setq yxp3 (list b2 (- 243 dcay1))
  338.           yxp4 (list b3 (- 243 dcay1))
  339.     )



  340.     (setq dcyy (- 243 dcyy))
  341.     (setq dcyy1 (- 243 dcay1))
  342.     (setq dcyt (/ (+ dcyy dcyy1) 2.0))
  343.     (setq dcpt (list (- dcxx1 1) dcyt))

  344.     (setq dcp1 (list dcxx1 dcyy)
  345.           dcp2 (list dcxx1 dcyy1)
  346.     )
  347.     (setq dcb1 (itoa dcax1))

  348.     (setq dctxt (list 137 (/ (+ dcyy dcyy1) 2)))

  349.     (setq dc_a1 (append dc_a1 (list dcp1 dcp2)))
  350.     (setq dc_a2 (append dc_a2 (list dcb1)))
  351.     (setq dc_a3 (append dc_a3 (list dcpt)))
  352.     (setq dcyy dcay1)
  353.     (command "line" yxp1 yxp2 "")        ;yxp1 yxp2 shui ping fenjiexian
  354.     (command "line" yxp3 yxp4 "")

  355.   )
  356.   (setq        yxp5 (list c (- 243 dcay1))
  357.         yxp6 (list b (- 243 dcay1))
  358.   )
  359.   (command "line" yxp5 yxp6 "")                ;yxp5 yxp6 zui xia mian shuiping jiexian


  360.   (command "pline" (foreach dcpt dc_a1 (command dcpt)))
  361.   (setq yx_n (length dc_a3))
  362.   (setq yx_i -1)
  363.   (repeat yx_n
  364.     (setq yx_i (+ yx_i 1))
  365.     (setq dc_p1 (nth yx_i dc_a2))
  366.     (setq dc_t1 (nth yx_i dc_a3))
  367.     (command "text" "j" "r" dc_t1 "3" "0" dc_p1 "")
  368.   )                                        ;text biaozhu
  369.   (setq hwm1 (atof dixiashui))
  370.   (if (> hwm1 0)
  371.     (progn
  372.       (setq hwm2 (atof gaocheng))
  373.       (setq hwdt1 (- 243 (* hwm1 (/ 1000.0 zkb1))))
  374.       (setq hwdt2 (rtos hwm1 2 2))
  375.       (setq hwpp hwdt1)
  376.       (setq hwp1 (list 306 hwpp)
  377.             hwp2 (list 306 (+ hwpp 2.4))
  378.             hwp3 (list 306 (- hwpp 2.4))
  379.       )
  380.       (setq hwp4 (list b8 hwpp)
  381.             hwp5 (list b9 hwpp)
  382.       )
  383.       (setq hwtx1 (- hwm2 hwm1))        ;shui wei gaocheng
  384.       (setq hwtx1 (rtos hwtx1 2 2))
  385.       (command "line" hwp4 hwp5 "")
  386.       (command "text" "j" "m" hwp2 "3" "0" hwdt2 "") ;shuiwei
  387.       (command "text" "j" "m" hwp3 "3" "0" hwtx1 "") ;shuiweigaocheng
  388.     )
  389.     (progn
  390.       (command "text" "j" "m" "304.105,222.0" "3" "0" "干" "")
  391.       (command "text" "j" "m" "304.105,200.0" "3" "0" "孔" "")
  392.     )
  393.   )
  394.   (setq bilichi (strcat "1:" bilichi))
  395.   (command "text" "j" "m" "112,268.5" "3.5" "0" "钻孔编号" "")
  396.   (command "text" "j" "m" "114.3,257.5"        "3.5" "0" " 地 层 " "")
  397.   (command "text" "j" "m" "101.6,247.4" "3" "0" " 界 " "")
  398.   (command "text" "j" "m" "101.6,231.4" "3" "0" "新" "")
  399.   (command "text" "j" "m" "101.6,194.4" "3" "0" "生" "")
  400.   (command "text" "j" "m" "101.6,157.4" "3" "0" "界" "")

  401.   (command "text" "j" "m" "106.4,247.4" "3" "0" " 系 " "")
  402.   (command "text" "j" "m" "106.0,231.4" "3" "0" "第" "")
  403.   (command "text" "j" "m" "106.0,194.4" "3" "0" "四" "")
  404.   (command "text" "j" "m" "106.0,157.4" "3" "0" "系" "")

  405.   (command "text" "j" "m" "111.2,247.4" "3" "0" " 统 " "")
  406.   (command "text" "j" "m" "111.0,231.4" "3" "0" "全" "")
  407.   (command "text" "j" "m" "111.0,194.4" "3" "0" "新" "")
  408.   (command "text" "j" "m" "111.0,157.4" "3" "0" "统" "")

  409.   (command "text" "j" "m" "115.5,247.4" "3" "0" " 组 " "")
  410.   (command "text" "j" "m" "120.8,247.4" "3" "0" " 层 " "")
  411.   (command "text" "j" "m" "120.4,234.4" "3" "0" "冲" "")
  412.   (command "text" "j" "m" "120.4,209.4" "3" "0" "洪" "")
  413.   (command "text" "j" "m" "120.4,178.4" "3" "0" "积" "")
  414.   (command "text" "j" "m" "120.4,153.4" "3" "0" "层" "")

  415.   (command "text" "j" "m" "125.6,249.9" "3" "0" " 代 " "")
  416.   (command "text" "j" "m" "125.6,245.7" "3" "0" " 号 " "")

  417.   (command "text" "j" "m" "136,268.5" "3.5" "0" bianhao "")
  418.   (command "text" "j" "m" "136,259.5" "2.6" "0"        "钻孔结构及" "")
  419.   (command "text" "j" "m" "136,253.5" "2.6" "0"        "地层柱状图" "")
  420.   (command "text" "j" "m" "136,247.5" "2.6" "0" bilichi "")

  421.   (command "text" "j" "m" "163,268.5" "3.5" "0" "钻孔位置" "")
  422.   (command "text" "j" "m" "151.5,259.5" "3.5" "0" "孔" "")
  423.   (command "text" "j" "m" "151.5,253.5" "3.5" "0" "深" "")
  424.   (command "text" "j" "m" "151.5,247.5" "3.5" "0" "(M)" "")
  425.   (command "text" "j" "m" "164.5,259.5" "3.5" "0" "高" "")
  426.   (command "text" "j" "m" "164.5,253.5" "3.5" "0" "程" "")
  427.   (command "text" "j" "m" "164.5,247.5" "3.5" "0" "(M)" "")
  428.   (command "text" "j" "m" "176.5,259.5" "3.5" "0" "层" "")
  429.   (command "text" "j" "m" "176.5,253.5" "3.5" "0" "厚" "")
  430.   (command "text" "j" "m" "176.5,247.5" "3.5" "0" "(M)" "")


  431.   (command "text" "j" "m" "201,268.5" "3.5" "0" zhuanghao "")
  432.   (command "text" "j" "m" "200.6,259.5"        "3.5" "0" "标贯试验(击)" "")
  433.   (command "text" "j" "m" "200.6,253.5"        "3.5" "0" "动力触探曲线N" "")
  434.   (command "text" "j" "m" "200.6,247.5"        "3.5" "0" "10   20   30" "")

  435.   (command "text" "j" "m" "230.6,268.5"        "3.5" "0" "孔口高程" "")
  436.   (command "text" "j" "m" "230.6,259.5"        "3.1" "0" "岩心采取率" "")
  437.   (command "text" "j" "m" "230.6,253.5" "3.1" "0" "  %  " "")
  438.   (command "text" "j" "m" "230.6,247.5"        "3.1" "0" "25 50 75" "")

  439.   (command "text" "j" "m" "253.475,268.5" "3.5"        "0" gaocheng "")
  440.   (command "text" "j" "m" "251.075,261" "3.0" "0" "岩石" "")
  441.   (command "text" "j" "m" "251.075,256.5" "3.0"        "0" "质量指标" "")
  442.   (command "text" "j" "m" "252.075,252.0" "3.0"        "0" "RQD(%)" "")
  443.   (command "text" "j" "m" "251.075,247.5" "3.0"        "0" "25 50 75" "")


  444.   (command "text" "j" "m" "276.16,268.5" "3.5" "0" "终孔深度" "")
  445.   (command "text" "j" "m" "268.26,257.5" "3.5" "0" "试样编号" "")
  446.   (command "text" "j" "m" "269.26,247.0" "3.5" "0" "孔深(M)" "")

  447.   (command "text" "j" "m" "296.755,268.5" "3.5"        "0" zkongshen "")
  448.   (command "text" "j" "m" "287.605,257.5" "3.2"        "0" "地下水位" "")
  449.   (command "text" "j" "m" "287.605,247.0" "3.2" "0" "初见" "")
  450.   (command "text" "j" "m" "304.105,247.0" "3.2" "0" "静止" "")
  451.   (command "text" "j" "m" "300.605,259.9" "2.6" "0" "孔深" "")
  452.   (command "text" "j" "m" "300.605,254.9" "2.6" "0" "标高" "")
  453.   (command "text" "j" "m" "308.605,257.5" "3.2" "0" "(M)" "")






  454.   (command "text" "j" "m" "318.85,268.5" "3.5" "0" "钻孔坐标" "")
  455.   (command "text"
  456.            "j"
  457.            "m"
  458.            "346.79,270.5"
  459.            "3"
  460.            "0"
  461.            (strcat "x:" xzuobiao)
  462.            ""
  463.   )
  464.   (command "text"
  465.            "j"
  466.            "m"
  467.            "346.79,266.5"
  468.            "3"
  469.            "0"
  470.            (strcat "y:" yzuobiao)
  471.            ""
  472.   )
  473.   (command "text" "j" "m" "372.34,268.5" "3.5" "0" "开工日期" "")
  474.   (command "text"         "j"               "m"             "367.34,253.5"
  475.            "3.5"         "0"               "  岩  性  描  述"
  476.            ""
  477.           )
  478.   (command "text" "j" "m" "393.99,268.5" "3.5" "0" kriqi "")
  479.   (command "text" "j" "m" "415.205,268.5" "3.5"        "0" "竣工日期" "")
  480.   (command "text" "j" "m" "436.715,268.5" "3.5" "0" jriqi "")
  481.   (command "text" "j" "m" "436.515,253.5" "3.5"        "0" "  备  注  " "")
  482.   (command "text"              "j"                 "m"
  483.            "135,13.08"              "3.4"                 "0"
  484.            "规划设计院"         ""
  485.           )
  486.   (command "text" "j" "m" "260.42,13.08" "3.4" "0" "钻孔柱状图"        "")
  487.   (command "text" "j" "m" "289.42,13.08" "3.4" "0" "制图" "")
  488.   (command "text" "j" "m" "334,13.08" "3.4" "0" "复核" "")
  489.   (command "text" "j" "m" "378,13.08" "3.4" "0" "审核" "")
  490.   (command "text" "j" "m" "418.75,13.08" "3.4" "0" "图号" "")



  491. )

  492. 示范文件zkt2.dat


  493. zk9
  494. k1+800
  495. 8848.88
  496. 1234.56       
  497. 5678.12       
  498. 120
  499. 15.00
  500. 2003.8.18
  501. 2003.8.19
  502. 8.4
  503. ((3.2 130)(9.8 110)(15.0 94))
  504. ((3.6 88)(8.4 83)(15 80))
  505. 粉土:灰黄~灰褐色,干燥~稍湿,松散,可塑,不可搓条,上层含有少量植物根茎和腐殖质.
  506. 含卵砾石土粉土:灰黄色,稍密~中密,卵砾石成分以砂岩为主,磨圆度较好,粒径2~6cm,含量20%左右.
  507. 漂卵石土:密实,成分以砂岩为主,粒径20~40cm,磨圆度较好,含量65~75%,充填少量沙砾.



  508. ;;;钻孔柱状图绘制 :zkt2.lsp
  509. ;;;调用程序:zkt
  510. (defun c:zkt2f (/                 dcl_id            bianhao    zhuanghao  gaocheng
  511.               xzuobiao         yzuobiao   bilichi    leixing          zkongshen
  512.               ykongshen         jizu            kriqi      jriqi          kongjin
  513.               diceng         dixiashui  zhiliang   zhiban          fuze
  514.               wp)

  515.   (setq n 0)

  516. ;(setq dat_file (getfiled "请选择文件" "f:\\project\\zkt2" "dat" 2))
  517. ; (setq dat_file (open "zkt2.dat" "r"))
  518.   (setq ff (open "f:\\entrophy\\lisp\\zkt\\release\\zkt2.dat" "r"))
  519.   (setq data "start")
  520.   (setq data (read-line ff))
  521.   (while data
  522.      (setq dat data)
  523.      (setq n (+ 1 n))
  524.    
  525.      (princ n)
  526.       (if(= n 1)
  527.       (setq bianhao dat)
  528.       
  529.     )
  530.     (if        (= n 2)
  531.       (setq zhuanghao dat)
  532.     )
  533.     (if        (= n 3)
  534.       (setq gaocheng dat)
  535.     )
  536.     (if        (= n 4)
  537.       (setq xzuobiao dat)
  538.     )
  539.     (if        (= n 5)
  540.       (setq yzuobiao dat)
  541.     )
  542.     (if        (= n 6)
  543.       (setq bilichi dat)
  544.     )
  545.     (if        (= n 7)
  546.       (setq zkongshen dat)
  547.     )
  548.     (if        (= n 8)
  549.       (setq kriqi dat)
  550.     )
  551.     (if        (= n 9)
  552.       (setq jriqi dat)
  553.     )
  554.     (if        (= n 10)
  555.       (setq dixiashui dat)
  556.     )
  557.                                         ;(setq data (read-line ff))
  558.     (if        (= n 11)
  559.       (setq kongjin dat)
  560.     )
  561.     (if        (= n 12)
  562.       (setq diceng dat)
  563.     )
  564.     (if (= n 13)
  565.       (setq Yanxin1 dat)
  566.       )
  567.      (if (= n 14)
  568.       (setq Yanxin2 dat)
  569.       )
  570.     (if (= n 15)
  571.       (setq Yanxin3 dat)
  572.       )
  573.    
  574.      (setq data (read-line ff))
  575.        )



  576.   
  577.   (setvar "cmdecho" 0)
  578.   ;(setvar "osmode" 32)
  579.   (setq        c 0
  580.         d 0
  581.   )
  582.   (setq        offsetx        98                        ;98相对于坐标原点的偏移量
  583.         offsety        8                        ;8
  584.   )
  585.   (setq        c (+ c offsetx)
  586.         d (+ d offsety)
  587.   )
  588.   (setq        a (+ d 265)
  589.         b (+ c 350)
  590.   )                                        ;p1(c d);p2(c a);p3(b,a)p4(b,d)
  591.   (setq        x1 (+ c 44.5)
  592.         y1 (+ d 259.7)
  593.   )
  594.   (setq        a1 (+ d 9.38)
  595.         a2 (+ d 123.14)
  596.         a3 (+ d 235.13)
  597.         a4 (+ d 255.09)
  598.         a5 (+ d 265.0)
  599.   )                                        ;ai为相应的水平线的纵坐标
  600.   (setq        b1 (+ c 28.8)
  601.         b2 (+ c 48.90)
  602.         b3 (+ c 83.35)
  603.         b4 (+ c 120.57)                        ;123.37
  604.         b5 (+ c 143.81)
  605.         b6 (+ c 161.42)
  606.   )
  607.   (setq        bt21 (+ b2 9.5)
  608.         bt22 (+ b2 24.45)
  609.   )                                        ;第2列的分割点坐标
  610.   (setq        b7  (+ c 181.38)
  611.         b8  (+ c 197.23)
  612.         b9  (+ c 214.25)
  613.         b10 (+ c 327.73);325
  614.         b11 (+ c 350.0);348
  615.   )


  616.   (setq        bt11 (+ c 4.8)
  617.         bt12 (+ bt11 4.8)
  618.         bt13 (+ bt12 4.8)
  619.         bt14 (+ bt13 4.8)
  620.         bt15 (+ bt14 4.8)
  621.         bt16 (+ bt15 4.8)
  622.   )                                        ;b1i 为第一列的6个子列的横坐标 b16=b
  623.   (setq a41 (+ d 244.96))
  624.                                         ;a41为划分第一列的横线的纵标
  625.   (setq        bt61 (list b6 a41)
  626.         bt62 (list b9 a41)
  627.   )                                        ;bt61,bt62为6到9列水平线坐标

  628.   (setq t1 (+ b5 23.33))
  629.   (setq        t2 (+ t1 22.24)
  630.         t3 (+ t2 18.45)
  631.         t4 (+ t3 26.04)
  632.         t5 (+ t4 29.84)
  633.         t6 (+ t5 21.16)
  634.         t7 (+ t6 20.64)
  635.   )
  636.                                         ;ti为从孔口高程开始的第一行的相应垂直划分线的横坐)
  637.   (setq pt2 (+ b5 37.0))                ;pt2为最下一行根据b5确定的垂线的横坐标;biti为上下坐标从左到右
  638.   (setq        b6t1 (list pt2 a1)
  639.         b6t0 (list pt2 d)
  640.   )
  641.   (setq        b7t1 (list (+ pt2 18.26) a1)
  642.         b7t0 (list (+ pt2 18.26) d)
  643.   )
  644.   (setq        b8t1 (list (+ pt2 46.89) a1)
  645.         b8t0 (list (+ pt2 46.89) d)
  646.   )
  647.   (setq        b9t1 (list (+ pt2 62.40) a1)
  648.         b9t0 (list (+ pt2 62.40) d)
  649.   )
  650.   (setq        b10t1 (list (+ pt2 90.12) a1)
  651.         b10t0 (list (+ pt2 90.12) d)
  652.   )
  653.   (setq        b11t1 (list (+ pt2 106.65) a1)
  654.         b11t0 (list (+ pt2 106.65) d)
  655.   )
  656.   (setq        b12t1 (list (+ pt2 131.27) a1)
  657.         b12t0 (list (+ pt2 131.27) d)
  658.   )

  659.   (setq p1 (list c d))
  660.   (setq p2 (list c a))
  661.   (setq p3 (list b a))
  662.   (setq p4 (list b d))
  663.   (setq p11 (list c a1))
  664.   (setq p12 (list c a2))
  665.   (setq p13 (list c a3))
  666.   (setq p14 (list c a4))
  667.   (setq p41 (list b a1))
  668.   (setq p42 (list b a2))
  669.   (setq p43 (list b a3))
  670.   (setq p44 (list b a4))
  671.                                         ;设置左右边界各点坐标
  672.   (setq p21 (list b1 a))                ;p2i中的2代表上界
  673.   (setq p22 (list b2 a))
  674.   (setq p23 (list b3 a))
  675.   (setq p24 (list b4 a))
  676.   (setq p25 (list b5 a))
  677.   (setq p26 (list b6 a4))
  678.   (setq p27 (list b7 a4))
  679.   (setq p28 (list b8 a41))
  680.   (setq p29 (list b9 a4))
  681.   (setq p210 (list b10 a))
  682.                                         ;设置上边界各点标

  683.   (setq p31 (list b1 a1))
  684.   (setq p32 (list b2 a1))
  685.   (setq p33 (list b3 a1))
  686.   (setq p34 (list b4 a1))
  687.   (setq p35 (list b5 d))
  688.   (setq p36 (list b6 a1))
  689.   (setq p37 (list b7 a1))
  690.   (setq p38 (list b8 a1))
  691.   (setq p39 (list b9 a1))
  692.   (setq p310 (list b10 d))
  693.                                         ;设置下边界各点标
  694.   (setq p1u (list t1 a))
  695.   (setq p1v (list t1 a4))
  696.   (setq p2u (list t2 a))
  697.   (setq p2v (list t2 a4))
  698.   (setq p3u (list t3 a))
  699.   (setq p3v (list t3 a4))
  700.   (setq p4u (list t4 a))
  701.   (setq p4v (list t4 a4))
  702.   (setq p5u (list t5 a))
  703.   (setq p5v (list t5 a4))
  704.   (setq p6u (list t6 a))
  705.   (setq p6v (list t6 a4))
  706.   (setq p7u (list t7 a))
  707.   (setq p7v (list t7 a4))                ;设置第一行分界点标


  708.   (setq q0u (list c a41))                ;设置第一列分界点坐标
  709.   (setq q0v (list b1 a41))
  710.   (setq        q1u (list bt11 a41)
  711.         q1v (list bt11 a1)
  712.   )
  713.   (setq        q2u (list bt12 a41)
  714.         q2v (list bt12 a1)
  715.   )
  716.   (setq        q3u (list bt13 a41)
  717.         q3v (list bt13 a1)
  718.   )
  719.   (setq        q4u (list bt14 a41)
  720.         q4v (list bt14 a1)
  721.   )
  722.   (setq        q5u (list bt15 a41)
  723.         q5v (list bt15 a1)
  724.   )
  725.   (setq        t1u (list bt21 a4)
  726.         t1v (list bt21 a1)
  727.         t2u (list bt22 a4)
  728.         t2v (list bt22 d)
  729.   )
  730.   ;设置第三列控制点标
  731.   (setq        zkt_off  (list 98 8))
  732. (command "insert" "zkt_test11" zkt_off "1" "1" "0" "")

  733.   (setq zk_kj (read kongjin))                ;绘制钻孔
  734.   (setq kj_n (length zk_kj))
  735.   (setq zk_a1 '())
  736.   (setq zk_a2 '())
  737.   (setq zk_a3 '())
  738.   (setq zk_a4 '())
  739.   (setq yy 0)
  740.   (setq kj_i -1)
  741.   (repeat kj_n
  742.     (setq kj_i (+ kj_i 1))
  743.     (setq zkt1 (nth kj_i zk_kj))
  744.     (setq ay1 (nth 0 zkt1))
  745.     (setq ax (nth 1 zkt1))
  746.     (setq zkx1 (/ (/ ax 10.0) 2.0))
  747.     (setq xx1 (- 137 zkx1)
  748.           xx2 (+ 137 zkx1)
  749.     )
  750.     (setq zkb1 (atof bilichi))
  751.     (setq ay1 (* ay1 (/ 1000.0 zkb1)))
  752.     (setq yy (- 243 yy))
  753.     (setq yy1 (- 243 ay1))
  754.     (setq zkp1 (list xx1 yy)
  755.           zkp2 (list xx1 yy1)
  756.           zkp3 (list xx2 yy)
  757.           zkp4 (list xx2 yy1)
  758.     )
  759.     (setq txt (list 137 (/ (+ yy yy1) 2)))
  760.     (setq zk_a1 (append zk_a1 (list zkp1 zkp2)))
  761.     (setq zk_a2 (append zk_a2 (list zkp3 zkp4)))
  762.     (setq zk_a3 (append zk_a3 (list txt)))
  763.     (setq zk_a4 (append zk_a4 (list ax)))
  764.     (setq yy ay1)
  765.   )
  766.   (command "pline" (foreach pt zk_a1 (command pt)))
  767.   (command "pline" (foreach pt zk_a2 (command pt)))
  768.   (setq zx_n (length zk_a4))
  769.   (setq zx_i -1)
  770.   (repeat zx_n
  771.     (setq zx_i (+ zx_i 1))
  772.     (setq zx_p1 (nth zx_i zk_a3))
  773.     (setq zx_t1 (nth zx_i zk_a4))
  774.     (setq tt (strcat "\" "U+2205" (itoa zx_t1)))
  775.     (command "text" "j" "m" zx_p1 "3" "0" tt "")
  776.   )


  777.   (setq zk_diceng (read diceng))        ;huizhi caiqulv quxian
  778.   (setq dc_n (length zk_diceng))
  779.   (setq dc_a1 '())
  780.   (setq dc_a2 '())
  781.   (setq dc_a3 '())
  782.   (setq m1 (atof gaocheng))
  783.   (setq m2 m1)
  784.   (setq dcyy 0)
  785.   (setq dc_i -1)
  786.   (repeat dc_n
  787.     (setq dc_i (+ dc_i 1))
  788.     (setq dc1 (nth dc_i zk_diceng))
  789.     (setq dcay1 (nth 0 dc1))
  790.     (setq bzkh dcay1)                        ;kongshen shuzhi


  791.     (setq dcay1 (* dcay1 (/ 1000.0 zkb1))) ;biaozhu  kongshen
  792.     (setq bz (list 151.5 (- 245 dcay1)))
  793.     (setq bzkh1 (rtos bzkh 2 2))
  794.     (command "text" "j" "m" bz "3" "0" bzkh1 "")

  795.     (setq bzgc (- m1 bzkh))
  796.     (setq bzgc1 (rtos bzgc 2 2))
  797.     (setq gch (list 164.5 (- 245 dcay1)))
  798.     (command "text" "j" "m" gch "3" "0" bzgc1 "") ;biaozhu gaocheng

  799.                                         ; (setq s1 m1)
  800.     (setq bzgc2 (- m2 bzgc))
  801.     (setq bzgc3 (rtos bzgc2 2 2))
  802.     (setq ch (list 176.5 (- 245 dcay1)))
  803.     (command "text" "j" "m" ch "3" "0" bzgc3 "") ;biaozhu cenghou
  804.     (setq m2 bzgc)
  805.     (setq dcax1 (nth 1 dc1))
  806.     (setq dcxx1 (+ 221 (* dcax1 0.2)))
  807.     (setq yxp1 (list b9 (- 243 dcay1))
  808.           yxp2 (list b10 (- 243 dcay1))
  809.     )
  810.     (setq yxp3 (list b2 (- 243 dcay1))
  811.           yxp4 (list b3 (- 243 dcay1))
  812.     )



  813.     (setq dcyy (- 243 dcyy))
  814.     (setq dcyy1 (- 243 dcay1))
  815.     (setq dcyt (/ (+ dcyy dcyy1) 2.0))
  816.     (setq dcpt (list (- dcxx1 1) dcyt))

  817.     (setq dcp1 (list dcxx1 dcyy)
  818.           dcp2 (list dcxx1 dcyy1)
  819.     )
  820.     (setq dcb1 (itoa dcax1))

  821.     (setq dctxt (list 137 (/ (+ dcyy dcyy1) 2)))

  822.     (setq dc_a1 (append dc_a1 (list dcp1 dcp2)))
  823.     (setq dc_a2 (append dc_a2 (list dcb1)))
  824.     (setq dc_a3 (append dc_a3 (list dcpt)))
  825.     (setq dcyy dcay1)
  826.     (command "line" yxp1 yxp2 "")        ;yxp1 yxp2 shui ping fenjiexian
  827.     (command "line" yxp3 yxp4 "")

  828.   )
  829.   (setq        yxp5 (list c (- 243 dcay1))
  830.         yxp6 (list b (- 243 dcay1))
  831.   )
  832.   (command "line" yxp5 yxp6 "")                ;yxp5 yxp6 zui xia mian shuiping jiexian


  833.   (command "pline" (foreach dcpt dc_a1 (command dcpt)))
  834.   (setq yx_n (length dc_a3))
  835.   (setq yx_i -1)
  836.   (repeat yx_n
  837.     (setq yx_i (+ yx_i 1))
  838.     (setq dc_p1 (nth yx_i dc_a2))
  839.     (setq dc_t1 (nth yx_i dc_a3))
  840.     (command "text" "j" "r" dc_t1 "3" "0" dc_p1 "")
  841.   )                                        ;text biaozhu
  842.   (setq hwm1 (atof dixiashui))
  843.   (if (> hwm1 0)
  844.     (progn
  845.       (setq hwm2 (atof gaocheng))
  846.       (setq hwdt1 (- 243 (* hwm1 (/ 1000.0 zkb1))))
  847.       (setq hwdt2 (rtos hwm1 2 2))
  848.       (setq hwpp hwdt1)
  849.       (setq hwp1 (list 306 hwpp)
  850.             hwp2 (list 305 (+ hwpp 2.4))
  851.             hwp3 (list 305 (- hwpp 2.4))
  852.       )
  853.       (setq hwp4 (list b8 hwpp)
  854.             hwp5 (list b9 hwpp)
  855.       )
  856.       (setq hwtx1 (- hwm2 hwm1))        ;shui wei gaocheng
  857.       (setq hwtx1 (rtos hwtx1 2 2))
  858.       (command "line" hwp4 hwp5 "")
  859.       (command "text" "j" "m" hwp2 "3" "0" hwdt2 "") ;shuiwei
  860.       (command "text" "j" "m" hwp3 "3" "0" hwtx1 "") ;shuiweigaocheng
  861.     )
  862.     (progn
  863.       (command "text" "j" "m" "304.105,222.0" "3" "0" "干" "")
  864.       (command "text" "j" "m" "304.105,200.0" "3" "0" "孔" "")
  865.     )
  866.   )
  867.   (setq bilichi (strcat "1:" bilichi))
  868.   

  869.   (command "text" "j" "m" "136,268.5" "3.5" "0" bianhao "")
  870.   (command "text" "j" "m" "136,247.5" "2.6" "0" bilichi "")
  871.   (command "text" "j" "m" "201,268.5" "3.5" "0" zhuanghao "")
  872.   (command "text" "j" "m" "253.475,268.5" "3.5"        "0" gaocheng "")
  873.   (command "text" "j" "m" "296.755,268.5" "3.5"        "0" zkongshen "")
  874.   
  875.   (command "text" "j" "m" "318.85,268.5" "3.5" "0" "钻孔坐标" "")
  876.   (command "text"
  877.            "j"
  878.            "m"
  879.            "346.79,270.5"
  880.            "3"
  881.            "0"
  882.            (strcat "X:" xzuobiao)
  883.            ""
  884.   )
  885.   (command "text"
  886.            "j"
  887.            "m"
  888.            "346.79,266.5"
  889.            "3"
  890.            "0"
  891.            (strcat "Y:" yzuobiao)
  892.            ""
  893.   )
  894.   
  895.   (command "text" "j" "m" "393.99,268.5" "3.5" "0" kriqi "")

  896.   (command "text" "j" "m" "436.715,268.5" "3.5" "0" jriqi "")
  897.      (Command "-bhatch" "p" "ansi38" 1 0 (list 130 180) "")
  898.    (Command "-bhatch" "p" "ansi38" 1 0 (list 145 180) "")
  899.   (command "mtext""315.715,240""425,208" Yanxin1 "")
  900.   (command "mtext" "315.715,205" "425,160"Yanxin2 "")
  901.   (command "mtext" "315.715,157" "425,95"Yanxin3 "")
  902.   
  903.   
  904. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-27 08:43:04 | 显示全部楼层

Re: [LISP程序]:有人想要画钻孔柱状图和剖面图的程序吗

最初由 entrophy 发布
[B]我写了一个试用版,
画柱状图准确度较高,
有基于dcl对话框输入数据
和直接读取文本文件两种工作方式
需要的话我可以提供下载

画剖面图的程序通用性不强,
不过可以拿来做参考。 [/B]

我想参考画剖面的程序,可以贴上来吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-27 14:53:35 | 显示全部楼层
再次感谢楼主的无私的奉献!前几天可能是调试服务器,现在应该没问题了,给你一个邮箱试试:MSDG@KM169.NET.
目前还差两个文件:2、zkt_test11.dwg和3、标准柱状图(DIRECT.DWG?)
建议本版斑竹加分加币以资鼓励!
现画出的图:
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-27 15:47:39 | 显示全部楼层
关于字体的设置,应该是这样:当你打开“标准柱状图。DWG”时,你可以“格式——》文字式样”中查看一下它设置的字体,以后就按它设置就可以了。如果你的电脑中没有该字体,只有到其它地方去找了(打开上图时会有提示的)。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-6-30 10:42:42 | 显示全部楼层
补充说明两点:
根据msdg斑竹附带的第一副图件
可以看出有个问题:
就是孔径层次和地层结构的输入方式应该用半角的括号给扩起来
如下所示:
((3.4 130)(8.2 110)(15 94))  用来表示取芯管的钻进方式
((1.2 88)(6.4 85)(15 80))用来表示地层的结构和相应的岩心采取率
另外在dcl对话框上有个帮助信息,可以看到对常见问题的处理。

另外我把其他的文件打包传上来了。
最后特别感谢大家的支持,
和aeo、msdg两位斑竹的慷慨行为!
今后我就不用到处灌水了!~——~!!!

最后请教斑竹,
还是关于字体设置的问题,
我现在正在用arx来改写上述程序,
但是每个图都必须修改字体才能消除乱玛。
请问有没有什么办法为cad指定默认字体,
就是使cad始终用同样的字体来处理所有的文件。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-30 19:34:15 | 显示全部楼层
(command "style" "romans" "宋体" 1.0 0.8 0 "n" "n" "n")
加在 acad'lsp
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-30 19:39:29 | 显示全部楼层
我也不会,在fjwok斑竹的指导下,做了一下,现蒸热卖,加深映象。
在ACAD的SUPPOR文件夹中,找到ACAD。LSP或ACAD2000DOC。LSP文件。将下面这一行贴到最后(不要或编辑的时候好找)。搞定!
(command "style" "romans" "宋体" 1.0 0.8 0 "n" "n" "n")
但这样设置后,打开其它图可能又有问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-23 10:19 , Processed in 0.293438 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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