明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2056|回复: 14

[LISP]关于cad中点输出到文件的问题

  [复制链接]
发表于 2005-5-23 12:09 | 显示全部楼层 |阅读模式
我想把图中n1~n4各点的坐标输出到文件中,不知道怎么实现,文件格式:


n1         x坐标         y坐标


n2         x坐标         y坐标



本帖子中包含更多资源

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

x
发表于 2005-5-23 13:20 | 显示全部楼层
查看帮助文件中open、write-line函数
发表于 2005-5-23 14:11 | 显示全部楼层
(


        write-line "I fuck CAD!"


        (open "d:/x.txt" "w")


)
 楼主| 发表于 2005-5-23 17:54 | 显示全部楼层
(defun c:cadtofile ()
(setvar "cmdecho" 0)
(princ "\n----------<<坐标点输出到文件 >>------------")
(setq ffn (getfiled "写出文件" "" "txt" 1))
(setvar "pdmode" 34)
(setq ff (open ffn "w"))
(close ff)
(setq txt (entsel "\n选择节点号: "))
(setq txt (entget (car txt)))
(setq txt (assoc 1 txt))
(setq txt (cdr txt))
(setq pt (getpoint "\n节点位置: "))
(while (/= pt nil)
(setq ff (open ffn "a"))
(princ txt ff)
(princ " " ff)
(princ (car pt) ff)
(princ " " ff)
(princ (cadr pt) ff)
(princ " " ff)
;;(princ (caddr pt) ff)
(princ "\n" ff)
(close ff)
(setq txt (entsel "\n选择节点号: "))
(setq txt (entget (car txt)))
(setq txt (assoc 1 txt))
(setq txt (cdr txt))
(setq pt (getpoint "\n节点位置: "))
)
(princ (strcat "\n写出文件: " ffn))
(prin1)
) 这段代码可以实现这个功能了,再问一个小问题,比如上面那个图,我想在选完四个节点后退出程序(用右键或者空格键,不用esc键),不知道怎么弄
发表于 2005-5-23 18:01 | 显示全部楼层
你的这个右键就可以退出啊
 楼主| 发表于 2005-5-23 18:07 | 显示全部楼层
出现了这个提示:; 错误: 参数类型错误: lentityp nil


虽然不影响输出的结果,但看着不舒服,怎么搞掉它
发表于 2005-5-23 20:00 | 显示全部楼层
原来你在选择节点号那里就要退出了,这是一个十分简单的程序结构问题,你不应该写不出来啊,,,,给你稍微改了一下:
  1. (defun c:cadtofile ()
  2.    (setvar "cmdecho" 0)
  3.    (princ "\n----------<<坐标点输出到文件 >>------------")
  4.    (setq ffn (getfiled "写出文件" "" "txt" 1))
  5.    (setvar "pdmode" 34)
  6.    (setq ff (open ffn "w"))
  7.    (close ff)
  8.    (while (setq txt (entsel "\n选择节点号: "))
  9.        (setq txt (entget (car txt)))
  10.        (setq txt (assoc 1 txt))
  11.        (setq txt (cdr txt))
  12.        (setq pt (getpoint "\n节点位置: "))   
  13.        (setq ff (open ffn "a"))
  14.        (princ txt ff)
  15.        (princ " " ff)
  16.        (princ (car pt) ff)
  17.        (princ " " ff)
  18.        (princ (cadr pt) ff)
  19.        (princ " " ff)
  20.        ;;(princ (caddr pt) ff)
  21.        (princ "\n" ff)
  22.        (close ff)
  23.    )
  24.    (princ (strcat "\n写出文件: " ffn))
  25.    (prin1)
  26. )
 楼主| 发表于 2005-5-23 20:55 | 显示全部楼层
受教了
发表于 2005-5-23 21:11 | 显示全部楼层
meflying 是高手阿,佩服
发表于 2005-5-24 08:39 | 显示全部楼层
在这儿能学到的东西很多是不能在书本上学到的,非常感谢那些无私奉献自己知识的人!有你们中国的明天会跟美好!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-10 19:09 , Processed in 0.153304 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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