明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 668|回复: 25

[提问] 如何将文字转化为高程点?

[复制链接]
发表于 2024-6-6 09:01 | 显示全部楼层 |阅读模式


业主发过来的地形图 没有高程信息 标高全是文字 这些文字只有高程数值  但是没有Z坐标  有没有一个程序 能实现将这些文字 转化为带高程的点
这样我能将这些高程点 导入犀牛或者su中 生成面 进而建模 生成场地模型

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-6-6 09:37 | 显示全部楼层
4年前写的一个类似的,在1:2000比例尺的图上做的,可以自己改别的比例尺图中的搜索距离和定位点距离,也可以在模式2里面根据图形比例尺加一个定位点,当时够用就没加这些功能了:
    模式1是在文字注记的周围搜索高程点散点(即定位点),将散点作为新高程点的定位点,将该文字注记内容作为高程值。最后删除文字注记和高程散点。
    模式2是利用文字注记的位置,将文字内的文本转换为高程值,将文字注记偏左的位置(按2000比例尺的距离计算的)作为定位点,生成新的高程点。最后删除文字注记;

本帖子中包含更多资源

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

x
回复 支持 2 反对 0

使用道具 举报

发表于 2024-6-7 10:21 | 显示全部楼层

我的思路,定位提取高程文字,剔除错误点再展绘高程。;创建图层
(defun LL(str)
              (command "layer" "m" str "")
)

;取组码中的文字
(defun V#  (n e / pt_)
(if (not (listp e)) (setq e (entget e)))
(setq pt_ (cdr (assoc n e)))
(if (and (> n 9) (< n 34) (/= pt_ nil) ) (trans pt_ 0 1) (setq pt_ pt_) )
)


;写出CAD中Text内容到记事本,序号,X,Y ,文本内容
(defun c:ctextout();                  提取文本转换高度
     (setq ffn  (getfiled "写出文件" "" "txt" 1))
     (setq zwd1 (getpoint "\n 请选择范围左下角点"))
     (setq zwd2 (getcorner zwd1 "\n请选择范围对角点"))
     (setq ss1 (ssget "_W"  zwd1 zwd2  (list (cons 0 "TEXT"))) );text为X,y 高程点为 X,Y,Z
    ;(setq ss1  (ssget "X" (list (cons 0 "TEXT"))))全选文本
     (setq n1   (sslength ss1) n0 0 str_e2 "")
     (LL "DLG_TEXT")
     (setq ff (open ffn "w"))
     (repeat n1
          (setq e1 (ssname  ss1 n0) n0 (+ 1 n0) p1 (V# 10 e1) )
          (setq str_e2 (v# 1 e1))
          (setq txtz (strcat  (rtos n0 2 0) "," "h" ","( rtos (nth 0 p1) 2 3 )"," ( rtos (nth 1 p1) 2 3 ) "," str_e2 ))
                  ;高程点str_e2替换为( rtos (nth 2 p1) 2 3 )
          (princ txtz ff)
          (princ "\n" ff)
          (print n0)
      ) ;end repeat
    (close ff)
  )
发表于 2024-6-6 09:33 | 显示全部楼层
飞时达土方可以,其他小插件就不清楚了
发表于 2024-6-6 09:54 | 显示全部楼层
你的高程数据内还有这种奇葩的值    生成不了高程点   升不上去

本帖子中包含更多资源

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

x
 楼主| 发表于 2024-6-6 11:13 | 显示全部楼层
lzspain 发表于 2024-6-6 09:33
飞时达土方可以,其他小插件就不清楚了

飞时达和南方cass 湘源控规都可以  我就是不想再单独安装一个软件
 楼主| 发表于 2024-6-6 11:14 | 显示全部楼层
三涂彼岸 发表于 2024-6-6 09:37
4年前写的一个类似的,在1:2000比例尺的图上做的,可以自己改别的比例尺图中的搜索距离和定位点距离,也可 ...

总图的比例一般是1比1的  所以只要有1比1的就行 不需要再换算比例 容易乱
 楼主| 发表于 2024-6-6 11:16 | 显示全部楼层
love1030312 发表于 2024-6-6 09:54
你的高程数据内还有这种奇葩的值    生成不了高程点   升不上去

所以能不能先把这些奇葩的东西 转为文字  文字再转高程点
因为 业主发过来的总图 有时候 还有一些文字块 之类的
发表于 2024-6-6 12:21 | 显示全部楼层
依然小小鸟 发表于 2024-6-6 11:16
所以能不能先把这些奇葩的东西 转为文字  文字再转高程点
因为 业主发过来的总图 有时候 还有一些文字 ...

因为2楼发了代码了,你这应该比较简单,依据此代码修改为高程点坐标=(文字中心坐标+文字内容组成)即可。
 楼主| 发表于 2024-6-6 12:33 | 显示全部楼层
cchessbd 发表于 2024-6-6 12:21
因为2楼发了代码了,你这应该比较简单,依据此代码修改为高程点坐标=(文字中心坐标+文字内容组成)即可。

我不会编程呢 也不会写代码  有大神能帮忙吗
发表于 2024-6-6 12:35 | 显示全部楼层
依然小小鸟 发表于 2024-6-6 12:33
我不会编程呢 也不会写代码  有大神能帮忙吗

付钱肯定有人愿意帮你改,找楼上liuhe大神。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-21 13:31 , Processed in 0.185133 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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