明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 15175|回复: 13

[源码] 提取CASS中的高程点数据到dat文件(CASS格式)

  [复制链接]
发表于 2011-2-14 10:37:43 | 显示全部楼层 |阅读模式
我知道CASS功能中有高程点提取的功能,但是该功能只能将图面上所有的高程点全部提取到文件中。指定点提取只能一个一个提取。每次都要输入地物代码。麻烦。能否做一个批量提取高程点生成数据文件。就是框选内的高程点生成一个数据文件?
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2011-2-15 17:34:04 | 显示全部楼层

提取cass中的高程点->Dat文件

本帖最后由 Student 于 2011-2-17 09:12 编辑

下面是一个简单的代码:

;-------------------------------------------------------------------------------------------

;提取cass中的高程点->Dat文件

(defun c:b2d(/ p1 p2 ss sn si i x y e fw)
 (setq sn 0)
 (setq p1(getpoint "\n拾取选择框的一个角点:"))
 (if p1
  (setq p2(getcorner p1 "\n选择对角点:"))
 )
 (if p2
  (setq ss(ssget "c" p1 p2 (list(cons 8 "GCD")(cons 2 "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))))
   (setq x(rtos(car pt)2 3) y(rtos(cadr pt)2 3) e(rtos(caddr pt)2 3))
   (princ(strcat (itoa (1+ i))",GCD," x "," y "," e "\n") fw)
   (setq i(1+ i))
  )
  (close fw)
  (alert "OK")
 ))
 (princ)
)
;-------------------------------------------------------------------------------------

本代码并未优化、只供参考。

下面是测试结果:

1,GCD,1631.769,448.348,199.598
2,GCD,1636.579,445.412,197.584
3,GCD,1640.756,446.087,197.533
4,GCD,1642.382,446.844,197.705
5,GCD,1646.092,447.788,197.663
6,GCD,1670.749,443.778,198.698
7,GCD,1669.312,442.277,199.154
8,GCD,1667.745,441.424,199.123
9,GCD,1665.839,440.279,199.200

 

评分

参与人数 1金钱 +20 收起 理由
伤、念 + 20 赞一个!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2022-3-14 07:42:18 来自手机 | 显示全部楼层
记好  不错的源码。。。感谢分享
发表于 2011-2-15 08:21:36 | 显示全部楼层
问题不难
请发一小块带高程点的DWG上来
 楼主| 发表于 2011-2-15 16:14:15 | 显示全部楼层
回复 Student 的帖子

请看附图:谢谢指教

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-2-16 08:39:32 | 显示全部楼层
回复 Student 的帖子

谢谢你,不过看到你的代码中,第三行和第五行像个火星文,看不懂哦。总之还是谢谢你
发表于 2011-2-17 09:13:26 | 显示全部楼层
"火星文"已改
 楼主| 发表于 2011-2-18 10:42:52 | 显示全部楼层
回复 Student 的帖子

谢谢你哦。你是编程高手啊!佩服
发表于 2012-12-17 20:27:11 | 显示全部楼层
高手真多呀
发表于 2013-1-9 10:38:15 | 显示全部楼层
各位高手,问如何将高程点属性里的Z值和属性hight值保持一致啊,现在我就受这个问题困扰。
发表于 2013-1-9 11:11:53 | 显示全部楼层
此贴移至测绘版!!!
CASS中的高程点有hight属性??
0 (-1 . <图元名: 7ef9b078>)
1 (0 . INSERT)
2 (330 . <图元名: 7ef78c10>)
3 (5 . 3CF397)
4 (100 . AcDbEntity)
5 (67 . 0)
6 (410 . Model)
7 (8 . GCD)
8 (6 . Continuous)
9 (100 . AcDbBlockReference)
10 (66 . 1)
11 (2 . GC200)
12 (10 2.5556e+007 4.29611e+006 3110.82)
13 (41 . 1.0)
14 (42 . 1.0)
15 (43 . 1.0)
16 (50 . 0.0)
17 (70 . 0)
18 (71 . 0)
19 (44 . 0.0)
20 (45 . 0.0)
21 (210 0.0 0.0 1.0)
22 (-3 (SOUTH (1000 . 202101)) (EXPLODE (1070 . 1)))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-5 23:27 , Processed in 0.213581 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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