明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1120|回复: 0

[源码] 求助,散点坐标提取

[复制链接]
发表于 2015-1-12 10:02:55 | 显示全部楼层 |阅读模式
本帖最后由 shrine2014 于 2015-1-12 10:15 编辑

复制代码
  1. (defun err(msg)
  2.   (setvar "dimzin" zin)
  3.   (setq *error* errtmp)
  4.   (close f)
  5.   (princ "取消或没有可输出对象...")
  6. )

  7. (defun c:OutData( / f filename BlockName ss ent ents ptlnsert ent1 ent2 entlst i)
  8.   (setq BlockName "HH")
  9.   (setq zin (getvar "dimzin"))
  10.   (setvar "dimzin" 1)
  11.   (setq errtmp *error*)
  12.   (setq *error* err)
  13.   (setq filename (setq filename (getfiled "保存输出文件..." "" "TXT" 1)))
  14.   (if (not filename)(exit))
  15.   
  16.   (prompt "选择坐标<直接回车全选>...")
  17.   (setq ss (ssget (list '(0. "INSERT")(cons 2 BlockName))))
  18.   (if (not ss)
  19.     (setq ss (ssget "x" (list '(0. "INSERT")(cons 2 BlockName))))
  20.   )  
  21.   (setq f (open filename "w"))
  22.   (write-line "X\t\t\tY\t\t高程" f)
  23.   (setq i 0)
  24.   (repeat (sslength ss)
  25.     (setq ent (ssname ss i))
  26.     (setq ents (entget ent))
  27.     (setq ptlnsert (cdr (assoc 10 ents)))
  28.     (setq ent1 (entnext ent))
  29.     (setq ent2 (entnext ent1))
  30.     (setq entlst (list ent1 ent2))
  31.     (setq entlst (vl-sort '(lambda(e1 e2)(<(cadr (assoc 10(entget e1)))(cadr (assoc 10 (entget e2)))))))
  32.     (setq entlst (mapcar '(lambda(e)(cdr (assoc 1(entget e))))entlst))
  33.     (set i(1+i))
  34.     (write-line (strcat (rtos(car ptlnsert)2 8) "\t"
  35.                 (rtos (cadr ptlnsert)2 8) "\t"
  36.                 (car entlst) "." (cadr entlst)
  37.                 )f)
  38.     )
  39.   (close f)
  40.   (setvar "dimzin" zin)
  41.   (setq *error* errtmp)
  42.   ;(list ptlnsert entlst)
  43.   (princ)
  44. )
  45.   
  46. (prompt "\nPress OUTDATA to launch the program!")
这是十年前meflying老大给我写的提取AutoCAD散点坐标的代码,原文件找不到了,我是把抄在纸上的重新录入,现在载入出现错误:参数类型错误:streamp nil


我想提取如下文件的xyz三维坐标,xy平面坐标从点的特性中读取,z坐标为附近标注的文本(圆点中虽然也有z坐标,但是大多数情况下是不准的,所以要读取文本作为高程z)





本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-5-23 09:36 , Processed in 0.152411 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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