明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4059|回复: 15

请教高手,哪处出错了:想要将一个变量返回的点表写入一个.tst文件中,并显示该文本

  [复制链接]
发表于 2003-4-1 09:01:00 | 显示全部楼层 |阅读模式
请教高手,哪处出错了:想要将一个变量返回的点表写入一个.tst文件中,并显示该文本文件[br]不知如果将一autolisp程序返回的(坐标)点表写入一文本文件中,该把点表作为实数还是字符或者其他的形式处理?? 恳请赐教,修改下面的程序,谢谢!

(defun c:test()
    (setq a (getreal "\n输入A点的横坐标:"))
    (setq b (getreal "\n输入A点的纵坐标:"))
    (setq x (+ 10 a))
    (setq y (- 20 b))
    (setq PT (list x y))
    (setq f (open "e:\\new.tst" "w"))
    (write-line ("B点坐标为" PT) f)
    (close f)
)
发表于 2003-4-1 10:28:00 | 显示全部楼层

(write-line (strcat "B点坐标为 (" (rtos x) " " (r

(write-line (strcat "B点坐标为 (" (rtos x) " " (rtos y) ")") f)[br]
 楼主| 发表于 2003-4-2 09:21:00 | 显示全部楼层

多谢alin兄,如果这个变量返回的点表中不止一个点(很多)的坐标该怎么办?

多谢alin兄,如果在这小段程序前还有一个复杂点的lisp程序(用来循环选择实体顶点),得到的变量返回的点表中不止一个点(很多)的坐标,如何才能将这些顶点坐标按行写入.tst中呢?
发表于 2003-4-2 10:36:00 | 显示全部楼层

得到一个点就写一次,它会自动换行

本帖最后由 作者 于 2003-4-2 10:36:02 编辑

或使用字符串拷贝,两个点之间家上“\n”
发表于 2003-4-2 10:40:00 | 显示全部楼层

(write-line (strcat "B点坐标为" (vl-princ-to-string PT)) f)

 楼主| 发表于 2003-4-3 19:48:00 | 显示全部楼层

多谢两位高手,现在可以写到文件中去了。但如何才能执行后马上让new.tst文件亮显在

多谢两位高手,现在可以写到文件中去了。但如何才能执行后马上让new.tst文件亮显在当前屏幕呢?[br]
发表于 2003-4-3 23:54:00 | 显示全部楼层

DOSLIB里的(dos_shellexe)非常方便

 楼主| 发表于 2003-4-4 15:49:00 | 显示全部楼层

alin兄,你说的(dos_shellexe)如何在lisp程序中调用啊?我一筹莫展,:(

 楼主| 发表于 2003-4-4 15:54:00 | 显示全部楼层

其实我所说的“亮显”是指执行完lisp程序(即查询程序)后该文本文件弹出到CAD当前

其实我所说的“亮显”是指执行完lisp程序(即查询程序)后该文本文件弹出到CAD当前屏幕上[br]其实我所说的“亮显”是指执行完lisp程序(即查询程序)后该文本文件(内有已获取的数据库的信息)弹出到AUTOCAD当前屏幕上,而不用费力的到E盘去打开这个文件,不知该如何处理?
发表于 2003-4-4 17:09:00 | 显示全部楼层

(startapp "notepad" )

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

本版积分规则

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

GMT+8, 2024-11-26 07:20 , Processed in 0.272784 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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