找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 932|回复: 6

[求助] [求助]:求一个lisp小程序?——继续求,希望在坐标轴改变后依然可以读出?

[复制链接]
发表于 2007-3-30 09:55:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
我想在CAD里提取某条线段的坐标值,导入到excel里,请教各位大侠?
仅要X和Y坐标即可,中间用逗号隔开~·············
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-3-30 11:11:15 | 显示全部楼层
;;  结果文件在C盘下
(defun c:getpl ( )
(setq obj (car (entsel "\n请选择多义线对象:")))
(foreach en (entget obj)
(if (= 10 (car en))(setq nlist (cons (cdr en) nlist)))
)
(setq nlist (reverse nlist))
(setq bc (length nlist))
(setq fname "C://pl_point.txt")
(setq fw (open fname "w"))
(princ "\n坐标;X,Y,Z" fw)
(setq mn 1)
(repeat bc
(setq pt (car nlist))
(setq nlist (cdr nlist))
(setq x (car pt))
(setq y (cadr pt))
(if (= (length pt) 2)
(setq z (cdr (assoc 38 (entget obj))))
(setq z (caddr pt))
) ; end if
(princ (strcat "\nN" (itoa mn) ": " (rtos x) "," (rtos y) "," (rtos z)) )
(princ (strcat "\n" (rtos x) "," (rtos y) "," (rtos z)) fw)
(setq mn (+ mn 1))
)
(close fw)
(setvar "osmode" 35)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-30 16:42:16 | 显示全部楼层
谢谢楼上的,先试试行不行~···········

对原始坐标轴是可以的,但是如果坐标系被改变了,或是移动了坐标系,就不行了,读出的还是原始坐标轴时的坐标,能再帮我改进一下吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2007-3-30 21:26:32 | 显示全部楼层

  1. (defun c:getpl ()
  2.   (setq obj (car (entsel "\n请选择多义线对象:")))
  3.   (foreach en (entget obj)
  4.     (if        (= 10 (car en))
  5.       (setq nlist (cons (trans(cdr en)0 1) nlist)) [color=red];_添加trans转换坐标系[/color]
  6.     ) ;_ 结束if
  7.   ) ;_ 结束foreach
  8.   (setq nlist (reverse nlist))
  9.   (setq bc (length nlist))
  10.   (setq fname "C://pl_point.txt")
  11.   (setq fw (open fname "w"))
  12.   (princ "\n坐标;X,Y,Z" fw)
  13.   (setq mn 1)
  14.   (repeat bc
  15.     (setq pt (car nlist))
  16.     (setq nlist (cdr nlist))
  17.     (setq x (car pt))
  18.     (setq y (cadr pt))
  19.     (if        (= (length pt) 2)
  20.       (setq z (cdr (assoc 38 (entget obj))))
  21.       (setq z (caddr pt))
  22.     )                                        ; end if
  23.     (princ (strcat "\nN"
  24.                    (itoa mn)
  25.                    ": "
  26.                    (rtos x)
  27.                    ","
  28.                    (rtos y)
  29.                    ","
  30.                    (rtos z)
  31.            ) ;_ 结束strcat
  32.     ) ;_ 结束princ
  33.     (princ (strcat "\n" (rtos x) "," (rtos y) "," (rtos z)) fw)
  34.     (setq mn (+ mn 1))
  35.   ) ;_ 结束repeat
  36.   (close fw)
  37.   (setvar "osmode" 35)
  38. ) ;_ 结束defun
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-31 11:23:01 | 显示全部楼层
楼上的版主,还是不行啊~·········坐标还是不一致啊~··············
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2007-3-31 14:39:09 | 显示全部楼层
(trans(cdr en)0 1)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-31 19:43:20 | 显示全部楼层
再问一下,如果有多条多段线,想把它们读到一个文本文件中,把Z值(即二维多段线的标高值)放在第一行,下面的行分别为该多段线的XY值,如此循环,读出所有选定的多段线,如何实现?
文件名和路径能不能自己输入啊?可以保存为sml文件吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-24 07:19 , Processed in 0.338571 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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