找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1115|回复: 12

(完成)[编程申请]:建议增加滑坡计算前期数据处理功能

[复制链接]
发表于 2003-7-29 13:05:37 | 显示全部楼层 |阅读模式

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

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

×
附图所示是一个滑坡剖面,已进行条分,能否通过点选将滑坡各条块的面积、平均高度、滑面长度、滑面倾角等数据读出,最好能转到excel,便于后面的稳定性和推力计算。

通过读交点的坐标计算应该很容易得到,请斑竹帮忙看看。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-7-30 20:08:09 | 显示全部楼层
DWF文件不正常。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-7-30 22:11:28 | 显示全部楼层
eachy  兄,我这里是正常,不知是为什么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-7-30 22:14:08 | 显示全部楼层
eachy  我的机器可以看到,但之前有错误提示,请帮忙看看是怎么回事?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-7-31 00:29:10 | 显示全部楼层
你说说各个要求的公式,输出excel的格式。

求选择上下两条线求与竖线的交点,这个步骤用API写很简单,然后就可以用对应的点表进行运算求各个参数,如果写txt文件最简单,写入excel就需要好多代码,VLisp论坛对CAD-》Excel的讨论已经有很多帖子了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-7-31 14:52:01 | 显示全部楼层
结果可以用文本文件格式输出,附图种红色的单元即是需要的内容,分成几列并加上“条块高度”列即可
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-7-31 14:58:59 | 显示全部楼层
关于自动条分,我是这样想的:以滑面(即下面那条线)为准,遇到滑面角度发生变化时,自该点垂直向上作一条分线至坡面,即完成一个条分,以此类推直至条分完整个剖面。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-7-31 18:55:08 | 显示全部楼层
划面长度指哪个?
更新:自动根据滑面折点划分条块并输出数据

  1. ;|
  2. 输出式 txt 格式
  3. 条块号 面积  长度 平均高度 倾角
  4. |;
  5. (defun c:XDTB_PreH (/               $get_polyVerts             $curve_direct
  6.                     $curve_intpoint          e1             e2
  7.                     pl1               pl2          p11             p12
  8.                     p21               p22          arealst    jlst
  9.                     hlst       $end_j          num             dlst
  10.                     fi
  11.                    )
  12.   (setvar "dimzin" 0)
  13.   (defun $get_polyVerts        (poly / n plst)
  14.     (setq n 0)
  15.     (repeat (xdrx_polyline_numVerts poly)
  16.       (setq plst (cons (xdrx_polyline_getPointAt poly n) plst)
  17.             n         (1+ n)
  18.       )
  19.     )
  20.     (reverse plst)
  21.   )
  22.   (defun $curve_direct (cu / sp ep)
  23.     (setq sp (car (xdrx_curve_getpoint cu))
  24.           ep (last (xdrx_curve_getpoint cu))
  25.     )
  26.     (< (cadr sp) (cadr ep))
  27.   )
  28.   (if (and (setq e1 (xdrx_entsel "\n选择地面线: " '((0 . "*line"))))
  29.            (setq e2 (xdrx_entsel "\n选择滑面线: " '((0 . "*line"))))
  30.            (not (xdrx_polyline_hasBulges (car e2)))
  31.       )
  32.     (progn
  33.       (if ($curve_direct (car e1))
  34.         (xdrx_curve_reverse (car e1))
  35.       )
  36.       (if ($curve_direct (car e2))
  37.         (xdrx_curve_reverse (car e2))
  38.       )
  39.       (setq pl1 ($get_polyVerts (car e2)))
  40.       (setq dlst (mapcar '(lambda (x y)
  41.                             (distance x y)
  42.                           )
  43.                          (reverse (cdr (reverse pl1)))
  44.                          (cdr pl1)
  45.                  )
  46.             jlst (mapcar '(lambda (x y)
  47.                             (- pi (angle x y))
  48.                           )
  49.                          (cdr pl1)
  50.                          (reverse (cdr (reverse pl1)))
  51.                  )
  52.       )
  53.       (mapcar '(lambda (x / pt e p)
  54.                  (setq pt (polar x _pi2 1))
  55.                  (xdrx_line1 x pt)
  56.                  (setq e (entlast))
  57.                  (xdrx_setenttodb e)
  58.                  (setq p (car (xdrx_getinters e (car e1) 1)))
  59.                  (xdrx_modent 11 p)
  60.                  (setq pl2 (cons p pl2))
  61.                  (setq hlst (cons (distance x p) hlst))
  62.                )
  63.               (reverse (cdr (reverse (cdr pl1))))
  64.       )
  65.       (setq pl2         (reverse (append (list (last pl1))
  66.                                   pl2
  67.                                   (list (car pl1))
  68.                           )
  69.                  )
  70.             hlst (cons 0.00 hlst)
  71.       )
  72.       (while (> (length pl1) 1)
  73.         (setq arealst
  74.                (cons
  75.                  (abs
  76.                    (apply
  77.                      'xdrx_parea
  78.                      (list (car pl1) (cadr pl1) (cadr pl2) (car pl2))
  79.                    )
  80.                  )
  81.                  arealst
  82.                )
  83.         )
  84.         (setq pl1 (cdr pl1)
  85.               pl2 (cdr pl2)
  86.         )
  87.       )
  88.       (setq num 1)
  89.       (setq fi (open "c:/$ea_temp.txt"
  90.                      (if (findfile "c:/$ea_temp.txt")
  91.                        "w"
  92.                        "a"
  93.                      )
  94.                )
  95.       )
  96.       (write-line "条块号\t\t面积\t\t滑面长度\t高度\t\t倾角" fi)
  97.       (mapcar '(lambda (a b c d /)
  98.                  (write-line
  99.                    (strcat (itoa num)
  100.                            "\t\t"
  101.                            (rtos a 2 2)
  102.                            "\t\t"
  103.                            (rtos b 2 2)
  104.                            "\t\t"
  105.                            (rtos c 2 2)
  106.                            "\t\t"
  107.                            (rtos d 2 2)
  108.                    )
  109.                    fi
  110.                  )
  111.                  (setq num (1+ num))
  112.                                         ;(close fi)
  113.                )
  114.               (reverse arealst)
  115.               dlst
  116.               (reverse hlst)
  117.               (reverse jlst)
  118.       )
  119.       (close fi)
  120.       (if (setq fi (findfile "c:/$ea_temp.txt"))
  121.         (startapp "notepad.exe" fi)
  122.       )
  123.     )
  124.     nil
  125.   )
  126.   (princ)
  127. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-7-31 19:24:28 | 显示全部楼层
滑面长度指的是每个条块下面那条线的长度.

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

使用道具 举报

 楼主| 发表于 2003-8-1 00:15:20 | 显示全部楼层
请eachy 老兄看看:综合考虑滑面和水位线进行条分的过程。

输出格式:
条块号  条块面积  条块高度  滑面倾角  水位以上条块面积  水位以上条块高度
  水位以下条块面积  水位以下条块高度  水位线倾角





下载地址:http://www.xdcad.net/techcenter/ ... 803231200_newtf.swf

<embed src=http://www.xdcad.net/techcenter/upload/file/11726_20030803231200_newtf.swf quality=high width=1024 height=768 loop=true type="application/x-shockwave-flash">
</embed>
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-8-1 23:44:00 | 显示全部楼层
这一次的代码已经很稳定了。


下载地址:http://www.xdcad.net/techcenter/ ... 030803232605_tf.swf

<embed src=http://www.xdcad.net/techcenter/upload/file/11726_20030803232605_tf.swf quality=high width=1024 height=768 loop=true type="application/x-shockwave-flash">
</embed>
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-8-2 12:19:30 | 显示全部楼层
已添加至工具箱即时更新。

  1. ;|

  2. 输出式 txt 格式
  3. 条块号 条块面积 条块高度 滑面长度 滑面倾角 水位线长 水位线倾角 水位线上高度 水位线上面积 水位线下高度 水位线下面积"
  4. ;

  5.     适用于 ACAD2002 + 晓东工具箱环境
  6.     [url]http://www.xdcad.net[/url]          By eachy 2003.08.05
  7. |;
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-3-1 19:52:41 | 显示全部楼层
程序已试过,很好用,但有一个问题,程序中条块的划分是依照滑面的拐点,但有时候条块的划分也要考虑到地形线的转折起伏,可否在程序中考虑这一点,或者,可由手工划分而自动生成各条块数据。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-22 00:58 , Processed in 0.229438 second(s), 57 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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