明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2986|回复: 11

请问各位大侠用什么命令可以在cad图上自动搜索有z高程的坐标点啊

  [复制链接]
发表于 2005-9-23 11:29 | 显示全部楼层 |阅读模式

请问各位大侠用什么命令可以在cad图上自动搜索有z高程的坐标点啊!

最好还可以在cad图中,我在搜索到的有高程定义点的基础上,进行高程插值,得出我需要点的高程。

麻烦各位指点指点

 楼主| 发表于 2005-9-26 08:46 | 显示全部楼层

各位,给点意见啊

发表于 2005-9-27 19:50 | 显示全部楼层
我是初学者,不过CAD里好像每个点都有Z值吧?不过是0而已。如果达到你需要的要求没有一个命令可以实现,不过用lisp应该很简单的吧
发表于 2005-9-27 20:15 | 显示全部楼层
我也想知道!
发表于 2005-9-29 08:11 | 显示全部楼层
请问你这个"有z坐标的高程点"是用point创建的吗?
 楼主| 发表于 2005-10-25 09:37 | 显示全部楼层
可以是point也可以是块,反正就是插入点,怎么弄?
发表于 2005-10-25 13:14 | 显示全部楼层
这样行不行:
(defun c:TEST()
  (setq s (ssget) m -1)
 (repeat (sslength s) 
  (setq s1 (entget (ssname s (setq m (+ m 1))))
           s2 (cdr (assoc 0 s1))
             d (assoc 10 s1))
      (cond ((= s2 "POINT")
                    (if (/= (last d) 0)(progn(print "点坐标=")(princ (cdr d))(princ)))
                ((= s2 "INSERT")
                    (if (/= (last d) 0)(progn(print "插入点坐标=")(princ (cdr d))(princ)))
      )
  )
(princ) 
 楼主| 发表于 2005-10-25 15:32 | 显示全部楼层

  s2 (cdr (assoc 0 s1))
             d (assoc 10 s1))

以上两句话好像不起什么作用啊

 楼主| 发表于 2005-10-26 09:08 | 显示全部楼层

wmz大哥,您的程序好像不通,经过我的一番调试就可以实现,请问是什么原因呢,是不是cond函数的格式问题呢?

(defun c:gc()  
(setq ffn (getfiled "\\n保存的坐标文件" "高程点" "txt" 1)
 ff  (open ffn "w"))
  (setq s (ssget) m -1)
 (repeat (sslength s) 
  (setq s1 (entget (ssname s (setq m (+ m 1)))))
          (setq s2 (cdr (assoc 0 s1)))
          (setq d (assoc 10 s1))
    (COND  
                 ((= s2 "TEXT")       
                 (progn    
                 (if   (/= (last d) 0)
   (write-line (strcat (rtos (caDr d) 2 3) " "(rtos (caDDr d) 2 3)" "(rtos (caDDDr d) 2 3) ) ff)
                  )
                  )
                  )
                 
                  ((= s2 "INSERT")
                  (progn
                  (if   (/= (last d) 0)
  (write-line (strcat (rtos (caDr d) 2 3) " "(rtos (caDDr d) 2 3)" "(rtos (caDDDr d) 2 3) ) ff)
                  )
                  )
                  )
    )
  )
 (close ff)
 (princ (strcat "\\n 坐标写至=>" ffn))
)
(princ "\n***程序成功安装***,请输入gc运行 lgs")

发表于 2005-10-26 13:03 | 显示全部楼层
少了两个括弧,不是COND的问题:
(defun c:TEST()
  (setq s (ssget) m -1)
 (repeat (sslength s) 
  (setq s1 (entget (ssname s (setq m (+ m 1))))
           s2 (cdr (assoc 0 s1))
            d (assoc 10 s1))
       (cond ((= s2 "POINT")
                    (if (/= (last d) 0)(progn(print "点坐标=")(princ (cdr d))(princ))))
                 ((= s2 "INSERT")
                    (if (/= (last d) 0)(progn(print "插入点坐标=")(princ (cdr d))(princ))))
       )
 )
(princ) 
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-19 08:06 , Processed in 0.257308 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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