004 发表于 2014-12-13 01:07 static/image/common/back.gif
能简单介绍下使用背景吗?
这个主要应用在场地平整时,测点凌乱没有成断面状,精度要求不高的情况下,快速计算出场地平均高程,进行估算土方量。 选边线的比较好用,框选的不大好。界面不友好 非常感谢,很实用 这个功能不错, 谢谢,学习一下……………… 好!!!!!!! 感谢楼主无私奉献,受益匪浅! 谢谢谢谢谢谢学习 更新代码本次共拾取31点, 高程平均值: 6.854, 最小高程: 6.621, 最大高程: 7.101, 坐标文件在D盘;"本次共拾取31点, 高程平均值: 6.854, 最小高程: 6.621, 最大高程: (defun c:pjz (/ p1 p2 ss sn si i x y e fw)
(prompt "\n**从CASS中提取高程点计算高程累计和 和平均数,请在命令行输入 pjz **")
(setq sn 0) ; 初始化计数器
(setq zh 0) ; 初始化高程累计和
(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)) ; 更新高程累计和
(setq pj (/ zh (1+ i))) ; 计算当前平均值
(setq si (rtos (1+ i) 2 0)) ; 当前点的数量
(setq zh1 (rtos zh 2 3)) ; 高程累计和
(setq pj1 (rtos pj 2 3)) ; 平均高程
(setq pdz (strcat "本次共拾取" si "点, 高程累计值:" zh1 ", 高程平均值: " pj1 ", 坐标文件在D盘;"))
(setq i (1+ i)) ; 更新循环变量
)
(close fw) ; 关闭文件
)
)
(princ pdz) ; 输出结果到命令行
)7.101, 坐标文件在D盘;"
页:
1
[2]