乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 103|回复: 19

[编程交流] 计算挖方和填方标高

[复制链接]

5

主题

49

帖子

44

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 12:21:59 | 显示全部楼层 |阅读模式
尊敬的各位,请在此附上显示两个级别的样本图纸
层“竣工标高”和“OGL”(原始地面标高)均位于网格线内。我需要得到OGL减去AS的不同值,并将其放置在同一位置,以作为一个单独的图形显示,如果数字不多,那么手动或通过Microsoft excel可以完成,问题是,我面临的是15000点左右及以上。
 
希望有人能帮助我(我手动使用“转移到Microsoft excel”并转移回autocad似乎不是一个好主意。
希望这里的大师能帮上忙。
提前谢谢。
OGL-AS。图纸
回复

使用道具 举报

14

主题

271

帖子

257

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 12:25:33 | 显示全部楼层
像这样的??我已经把文字放在图层0上,只需指定一个不同的图层,这样你就可以选择它并将其移动到另一个图形。
加载并键入TXTHTS以运行。
 
史蒂夫
回复

使用道具 举报

5

主题

49

帖子

44

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 12:30:17 | 显示全部楼层
亲爱的steve1,感谢您的帮助,但我发现输出的值不如OGL-as正确?是我错过了什么吗?
回复

使用道具 举报

5

主题

49

帖子

44

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 12:33:15 | 显示全部楼层
steve1,我发现如果我只取一个点并尝试完美,但如果我尝试两个或多个点,结果就会变得不正确。请帮忙
回复

使用道具 举报

5

主题

49

帖子

44

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 12:37:54 | 显示全部楼层
亲爱的steve1,Lisp程序看起来像是取一个OGL减去所有AS,而不是单个OGL减去单个AS。。。
回复

使用道具 举报

14

主题

271

帖子

257

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 12:40:00 | 显示全部楼层
啊,对不起,一个小瑕疵。我更新了上面的帖子。试试看,让我知道,
 
史蒂夫
回复

使用道具 举报

5

主题

49

帖子

44

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 12:42:33 | 显示全部楼层
我能说什么steve1哇!它工作得很好!!但是我们可以选择要处理的部分吗?因为我有15000多个点,一次处理需要很长时间。非常感谢Steve1
回复

使用道具 举报

14

主题

271

帖子

257

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 12:47:21 | 显示全部楼层
奇怪,应该不会花那么长时间。。。
如果您只想选择一部分,请尝试以下操作:
  1. (defun c:txtHts (/ ss i j en en2 ht1 ht2 ht3 pt1 pt2 flag)
  2. (princ "\nSelect Text: ")
  3. (setq ss (ssget '((0 . "TEXT")(8 . "AS,OGL")))
  4.    i -1)
  5. (while (setq en (ssname ss (setq i (1+ i))))
  6.    (if (eq (cdr (assoc 8 (entget en))) "AS")
  7.      (progn
  8.    (setq ht1 (atof (cdr (assoc 1 (entget en))))
  9.          pt1 (cdr (assoc 10 (entget en)))
  10.          j -1
  11.          flag nil)
  12.    (while (and (not flag)
  13.            (setq en2 (ssname ss (setq j (1+ j)))))
  14.      (if (eq (cdr (assoc 8 (entget en2))) "OGL")
  15.        (progn
  16.          (setq pt2 (cdr (assoc 10 (entget en2))))
  17.          (if (and (equal (car pt1) (car pt2) 0.5)
  18.               (equal (cadr pt1) (cadr pt2) 0.5))
  19.        (setq flag T)
  20.        )
  21.          )
  22.        )
  23.      )
  24.    (if flag
  25.      (progn
  26.        (setq ht2 (atof (cdr (assoc 1 (entget en2)))))
  27.        (setq ht3 (- ht2 ht1))
  28.        (entmake (list (cons 0 "TEXT")
  29.               (cons 1 (rtos ht3 2 2))
  30.               (cons 8 "0")
  31.               (cons 10 pt1)
  32.               (cons 40 0.2)
  33.               (cons 100 "AcDbEntity")
  34.               (cons 100 "AcDbText")
  35.               )
  36.             )
  37.        )(princ "\nOGL Text Not Found.")
  38.      )
  39.    )
  40.      )
  41.    )
  42. (princ)
  43. )
回复

使用道具 举报

5

主题

49

帖子

44

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 12:47:27 | 显示全部楼层
我不知道该说什么,史蒂夫,多亏了你!!(处理所有数据需要一些时间,因为这真的很多,所以我认为这很正常)
回复

使用道具 举报

14

主题

271

帖子

257

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 12:50:55 | 显示全部楼层
不客气。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-5 06:09 , Processed in 0.418228 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表