明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 940|回复: 9

[提问] 求助lsp修改输出结果方式

[复制链接]
发表于 2022-8-29 00:19:23 | 显示全部楼层 |阅读模式
本帖最后由 iszc 于 2022-8-29 00:21 编辑


求助怎样将保存到txt文件修改为创建临时txt文件输出值   vl-filename-mktemp


(defun c:tt1()
(setvar "cmdecho" 0)
(setq ffn (getfiled "选取文件" "D:/Downloads/" "txt" 1))
(setq ff (open ffn "w"))
(close ff)
(princ "\n选取PLINE多义线...")
(setq ss (ssget))
(setq i 0)
(setq ii 1) ;;输出点号
(setvar "pdmode" 33)
(repeat (sslength ss)
(setq ssn (ssname ss i))
(setq endata (entget ssn))
(setq n 0)
(repeat (length endata)
(setq pp (nth n endata))
(setq key (car pp))
(if (= key 10)
(progn
(setq x_temp (cadr pp))
(setq y_temp (caddr pp))
(setq x (rtos x_temp 2 4)) ;;把x后小数点变为四位输出
(setq y (rtos y_temp 2 4)) ;;把y后小数点变为四位输出
(setq iii (itoa ii))
(setq ff (open ffn "a"))
(princ iii ff)
(princ "," ff)
(princ x ff)
(princ "," ff)
(princ y ff)
(princ "\n" ff)
(close ff)
(setq ii (1+ ii))
)
)
(setq n (1+ n))
)
(setq ii ii)
(setq i (1+ i))
)
)

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2022-8-30 00:17:51 | 显示全部楼层
本帖最后由 llsheng_73 于 2022-8-30 00:21 编辑
iszc 发表于 2022-8-29 23:52
改了不成功,运行没反应

查清楚函数用法,确定没用错,程序其它地方无错
逛明经快11年了,这个还不会改,确定不是故意抹黑明经的
回复 支持 1 反对 0

使用道具 举报

发表于 2022-8-30 16:29:17 | 显示全部楼层
  1. (defun c:tt1( / ffn ff ss i ii ssn endata n pp key x_temp y_temp x y iii )
  2.   (setvar "cmdecho" 0)
  3.   (setq ffn (vl-filename-mktemp "d:\\$.txt"))
  4.   (princ "\n选取PLINE多义线...")
  5.   (setq ss (ssget))
  6.   (setq i 0)
  7.   (setq ii 1) ;;输出点号
  8.   (setvar "pdmode" 33)
  9.   (repeat (sslength ss)
  10.     (setq ssn (ssname ss i))
  11.     (setq endata (entget ssn))
  12.     (setq n 0)
  13.     (repeat (length endata)
  14.       (setq pp (nth n endata))
  15.       (setq key (car pp))
  16.       (if (= key 10)
  17.         (progn
  18.           (setq x_temp (cadr pp))
  19.           (setq y_temp (caddr pp))
  20.           (setq x (rtos x_temp 2 4)) ;;把x后小数点变为四位输出
  21.           (setq y (rtos y_temp 2 4)) ;;把y后小数点变为四位输出
  22.           (setq iii (itoa ii))
  23.           (setq ff (open ffn "a"))
  24.           (princ iii ff)
  25.           (princ "," ff)
  26.           (princ x ff)
  27.           (princ "," ff)
  28.           (princ y ff)
  29.           (princ "\n" ff)
  30.           (close ff)
  31.           (setq ii (1+ ii))
  32.         )
  33.       )
  34.       (setq n (1+ n))
  35.     )
  36.     (setq ii ii)
  37.     (setq i (1+ i))
  38.   )
  39.   (princ)
  40. )


评分

参与人数 1明经币 +1 收起 理由
LYC688 + 1

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2022-9-1 10:05:32 | 显示全部楼层
Sonnenblumen 发表于 2022-9-1 09:58
已经输出了,D盘下txt文件,你先看看!
  1. (defun c:tt1( / ffn ff ss i ii ssn endata n pp key x_temp y_temp x y iii )
  2.   (setvar "cmdecho" 0)
  3.   (setq ffn (vl-filename-mktemp "d:\\$.txt"))
  4.   (princ "\n选取PLINE多义线...")
  5.   (setq ss (ssget))
  6.   (setq i 0)
  7.   (setq ii 1) ;;输出点号
  8.   (setvar "pdmode" 33)
  9.   (repeat (sslength ss)
  10.     (setq ssn (ssname ss i))
  11.     (setq endata (entget ssn))
  12.     (setq n 0)
  13.     (repeat (length endata)
  14.       (setq pp (nth n endata))
  15.       (setq key (car pp))
  16.       (if (= key 10)
  17.         (progn
  18.           (setq x_temp (cadr pp))
  19.           (setq y_temp (caddr pp))
  20.           (setq x (rtos x_temp 2 4)) ;;把x后小数点变为四位输出
  21.           (setq y (rtos y_temp 2 4)) ;;把y后小数点变为四位输出
  22.           (setq iii (itoa ii))
  23.           (setq ff (open ffn "a"))
  24.           (princ iii ff)
  25.           (princ "," ff)
  26.           (princ x ff)
  27.           (princ "," ff)
  28.           (princ y ff)
  29.           (princ "\n" ff)
  30.           (close ff)
  31.           (setq ii (1+ ii))
  32.         )
  33.       )
  34.       (setq n (1+ n))
  35.     )
  36.     (setq ii ii)
  37.     (setq i (1+ i))
  38.   )
  39.   (startapp "notepad.exe" (findfile ffn))
  40.   (princ)
  41. )

回复 支持 1 反对 0

使用道具 举报

发表于 2022-8-29 10:29:29 | 显示全部楼层
vl-filename-mktemp这不是你自己已经找到答案了么,把获取文件名的那句改为用它就行了呗
 楼主| 发表于 2022-8-29 23:52:57 | 显示全部楼层
llsheng_73 发表于 2022-8-29 10:29
vl-filename-mktemp这不是你自己已经找到答案了么,把获取文件名的那句改为用它就行了呗

改了不成功,运行没反应
 楼主| 发表于 2022-8-31 19:37:58 | 显示全部楼层
本帖最后由 iszc 于 2022-8-31 19:42 编辑

运行选取多义线后,不能输出结果




选取PLINE多义线...
选择对象: 找到 1 个

选择对象:  正在重生成模型。

发表于 2022-9-1 09:58:22 | 显示全部楼层
已经输出了,D盘下txt文件,你先看看!
 楼主| 发表于 2022-9-1 11:48:00 | 显示全部楼层

测试成功,非常感谢!
发表于 2022-9-3 03:25:25 | 显示全部楼层

带XY,定0位,怎么修改?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 16:46 , Processed in 0.185760 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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