明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1936|回复: 7

恢复断面的原始高程数据,求指点

[复制链接]
发表于 2014-10-30 09:01 | 显示全部楼层 |阅读模式
1明经币
我是一个工程师,主要进行工程方面的计量。通过原始断面计算工程量。有时候遇到一个问题:横断面有图,但是想核查横断面和原始数据是否一致,需要逐个检查横断面的点数据,如下图:

 楼主| 发表于 2014-10-30 09:11 | 显示全部楼层

恢复原始断面地面点高程数据到txt文件中

本帖最后由 yxh1202 于 2014-10-30 09:15 编辑

我是一个工程师,主要进行工程方面的计量。通过原始断面计算工程量。有时候遇到一个问题:横断面有图,但是想核查横断面和原始数据是否一致,需要逐个检查横断面的点数据,如下图:

需要把黄线(地面线)的逐个顶点的高程(Y坐标)恢复出来,以便对比。每个断面有个原始高程。用论坛里面的帖子职能提取出来地面线个点的x,y坐标。其中Y坐标是相对于0,0点的,我想要的是根据断面上标注的那个点得数据,求出每个点得原始高程(绝对值)

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2014-10-30 10:54 | 显示全部楼层
定制可以联系我 qq:379539186
回复

使用道具 举报

 楼主| 发表于 2014-10-30 11:41 | 显示全部楼层
liuxu042 发表于 2014-10-30 10:54
定制可以联系我 qq:379539186

你好,公开征集的
回复

使用道具 举报

 楼主| 发表于 2014-10-31 14:27 | 显示全部楼层
弄了个代码,提取的坐标位数较小时候可以,但是Y值在3636456.72这一类就不行了,请指点:
;;;错误处理,按<ESC>处理--程序静静取消。
;;;-----------------------------------
(defun *error* (s)
  (if (/= s "函数已取消")
    (princ (strcat "\n错误: " s))
  )
  (princ)
)
(defun c:zbtt ()
  (setvar "osmode" 0)
  (princ)
  (setq dc_file (getfiled "选择点坐标文件" "" "txt" 1))
  (setq        ss1  (entsel "请选择地面高程:")
        ss   (car ss1)
        LST1 (entget ss)
        sz   (cdr (assoc 1 lst1))
  )
  (setq xytxt (open dc_file "a"))
  (setq xy_list '())
  ;;(prompt "\n.\n.\n.\n>>>>>>>>>>选择多段线:")
  (setq        xy_list        (MJ:Massoc
                  10
                  (entget (car (entsel "\n.\n.\n.\n>>>>>>>>>>选择多段线:")))
                )
        k        (length xy_list)
        d        k
        h0        (nth 0 (tt xy_list))
        gcha        (- (atof sz) (cadr h0))
  )


  (write-line "点号,X坐标,Y坐标" xytxt)
  (repeat k
    (setq a (nth (- k dh) (tt xy_list)))
    (setq pt_list (strcat (rtos (- k dh) 2 1)
                          ","
                          (rtos (car a) 2 3)
                          ","
                          (rtos (+ gcha (cadr a)) 2 3)

                  )
    )
    (write-line pt_list xytxt)
    (setq dh (- dh 1))

  )
  (write-line "----------END----------" xytxt)

  (close xytxt)
)
(defun tt (lst)
  (vl-sort lst '(lambda (x y) (< (car x) (car y))))
)


;;46.1 [功能] 多段线各顶点(见99.3)
;;示例 (MJ:Massoc 10 (entget (car (entsel))))
;; Notes:特别适合多段线各顶点
(defun MJ:Massoc (key alist)
  (apply
    'append
    (mapcar '(lambda (x)
               (if (eq (car x) key)
                 (list (cdr x))
               )
             )
            alist
    )
  )
)



本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2014-11-19 09:55 | 显示全部楼层
你监理工程师的吧,提取后在excel表格比较 好对比的
回复

使用道具 举报

发表于 2020-11-2 05:56 | 显示全部楼层
楼主程序弄好了么?能分享下么?多谢。。
回复

使用道具 举报

发表于 2020-11-2 15:45 | 显示全部楼层
图都打不开
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-8 23:23 , Processed in 0.498043 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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