明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 321|回复: 3

从CASS中提取高程点计算高程平均数、最大值和最小值

  [复制链接]
发表于 2024-12-5 12:31:27 | 显示全部楼层 |阅读模式
(defun c:pjz (/ p1 p2 ss sn si i x y e fw min-z max-z)
  (prompt "\n**从CASS中提取高程点计算高程平均数、最大值和最小值,请在命令行输入 pjz **")
  (setq sn 0) ; 初始化计数器
  (setq zh 0) ; 初始化高程总和(用于计算平均值)
  (setq min-z nil) ; 初始化最小高程
  (setq max-z nil) ; 初始化最大高程
  (setq ss (ssget (list (cons 8 "GCD") (cons 2 "GC200")))) ; 获取图层为GCD且名称为GC200的对象
  (if ss
    (progn
      (setq fw (open "d:\\ex.dat" "w")) ; 打开文件准备写入
      (setq sn (sslength ss)) ; 获取选择集中的对象数量
      (setq i 0) ; 初始化循环变量
      (while (< i sn)
        (setq si (ssname ss i)) ; 获取当前对象
        (setq pt (cdr (assoc 10 (entget si)))) ; 提取当前对象的3D坐标
        (setq x (rtos (car pt) 2 3)) ; X坐标
        (setq y (rtos (cadr pt) 2 3)) ; Y坐标
        (setq e (rtos (caddr pt) 2 3)) ; Z坐标(高程)

        (princ (strcat (itoa (1+ i)) ",GCD," x "," y "," e "\n") fw) ; 写入文件

        (setq pz (nth 2 pt)) ; 提取Z值
        (setq zh (+ zh pz)) ; 更新高程总和
        (if (or (null min-z) (< pz min-z))
          (setq min-z pz)
        )
        (if (or (null max-z) (> pz max-z))
          (setq max-z pz)
        )

        (setq i (1+ i)) ; 更新循环变量
      )
      (close fw) ; 关闭文件
    )
  )
  (if (> sn 0)
    (progn
      (setq pj (/ zh sn)) ; 计算平均高程
      (setq pdz (strcat "本次共拾取" (itoa sn) "点, 高程平均值: " (rtos pj 2 3)
                        ", 最小高程: " (rtos min-z 2 3)
                        ", 最大高程: " (rtos max-z 2 3)
                        ", 坐标文件在D盘;"))
      (princ pdz) ; 输出结果到命令行
    )
    (princ "\n没有找到符合条件的点。")
  )
)

回复

使用道具 举报

发表于 2024-12-5 15:39:32 | 显示全部楼层
挺好的功能
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2024-12-6 16:41:43 | 显示全部楼层

大佬 帮忙下载一个文件可以吗?权限不够谢谢
http://bbs.mjtd.com/forum.php?mo ... =%B8%DF%B3%CC%B5%E3
回复 支持 反对

使用道具 举报

发表于 2024-12-9 20:42:09 | 显示全部楼层
16699988885 发表于 2024-12-6 16:41
大佬 帮忙下载一个文件可以吗?权限不够谢谢
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=18862 ...

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=18862

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-12-19 06:50 , Processed in 0.157699 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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