找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1582|回复: 6

[求助] [求助]:求批量给等高线赋高程的程序

[复制链接]
发表于 2006-10-27 21:46:11 | 显示全部楼层 |阅读模式

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

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

×
其它系统导入到CAD里的文件,等高线都没有高程值,就是标高属性值,不利于进一步的工程应用。有没有办法通过拉一条线,把经过这条线的等高线依次按给定的步长赋值?请高手指教!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-10-28 15:37:11 | 显示全部楼层
很久以前的东西了,自己改造一下应该可以!



  1. (defun c:tt (/ pt pt01 pt02 pt_lst ll ss L_ss ent_l nam e gaocheng gch)
  2.   (setq        pt     (getpoint "点取等高线垂线第1点:")
  3.         pt01   pt
  4.         pt02   pt
  5.         pt_lst nil
  6.   )
  7.   (WHILE PT
  8.     (SETQ PT_LST (APPEND PT_LST (LIST PT))
  9.           LL         (LENGTH pt_lst)
  10.           pt         (getpoint (strcat "\n点取等高线垂线第"
  11.                                    (rtos (+ 1 ll))
  12.                                    "点(回车完成选择):"
  13.                            )
  14.                            pt
  15.                  )
  16.     )
  17.     (if        pt
  18.       (progn (grdraw pt02 pt 1 1) (setq pt02 pt))
  19.     )
  20.   )
  21.   (setq        ss    (ssget "f" pt_lst '((0 . "LINE,LWPOLYLINE,POLYLINE")))
  22.         l_ss  (sslength ss)
  23.         ent_l (entget (ssname ss 0))
  24.         nam   (cdr (assoc 0 ent_l))
  25.   )
  26.   (if (= nam "LWPOLYLINE")
  27.     (setq e           (cdr (assoc 38 ent_l))
  28.           gaocheng (getreal
  29.                      (strcat "输入第一条等高线高程<" (rtos e 2 0) ">:")
  30.                    )
  31.     )
  32.     (setq e           (last (assoc 10 ent_l))
  33.           gaocheng (getreal
  34.                      (strcat "输入第一条等高线高程<" (rtos e 2 0) ">:")
  35.                    )
  36.     )
  37.   )
  38.   (if gaocheng
  39.     ()
  40.     (setq gaocheng e)
  41.   )
  42.   (setq gch (getreal "输入等高线间距<1000>:"))
  43.   (if gch
  44.     ()
  45.     (setq gch 1000)
  46.   )
  47.   (setq n 0)
  48.   (while (< n l_ss)
  49.     (setq ent_l        (entget (ssname ss n))
  50.           nam        (cdr (assoc 0 ent_l))
  51.     )
  52.     (if        (= nam "LINE")
  53.       (setq ent_l (subst (append (reverse (cdr (reverse (assoc 10 ent_l))))
  54.                                  (list gaocheng)
  55.                          )
  56.                          (assoc 10 ent_l)
  57.                          ent_l
  58.                   )
  59.             ent_l (subst (append (reverse (cdr (reverse (assoc 11 ent_l))))
  60.                                  (list gaocheng)
  61.                          )
  62.                          (assoc 11 ent_l)
  63.                          ent_l
  64.                   )
  65.       )
  66.       (if (= nam "LWPOLYLINE")
  67.         (setq ent_l (subst (cons 38 gaocheng) (assoc 38 ent_l) ent_l))
  68.         (setq ent_l
  69.                (subst (append (reverse (cdr (reverse (assoc 10 ent_l))))
  70.                               (list gaocheng)
  71.                       )
  72.                       (assoc 10 ent_l)
  73.                       ent_l
  74.                )
  75.         )
  76.       )
  77.     )
  78.     (entmod ent_l)
  79.     (setq gaocheng (+ gaocheng gch)
  80.           n           (1+ n)
  81.     )
  82.   )
  83.   (command "redraw")
  84.   (princ)
  85. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-26 14:37:08 来自手机 | 显示全部楼层
lff763 发表于 2014-11-26 11:34
怎样给样条曲线赋标高值

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

使用道具 举报

发表于 2016-12-20 16:57:44 | 显示全部楼层
果然是高手,确实可以。

如果能够划一条线,然后判断新划线与其他线的交点来自动赋值(省去手动点击每一条线的步骤)就更完美了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 00:04 , Processed in 0.310727 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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