乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 6|回复: 6

[编程交流] 需要帮助

[复制链接]

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:26:17 | 显示全部楼层 |阅读模式
尊敬的各位:,
我是这个论坛的新用户。我下载了一个autolisp,通过按顺序选择文本来生成CSV文件。它很早就开始工作了。但在格式化我的电脑后,它给出了一个错误。
 
请帮助任何人。
 
(定义c:Csv-S()
(setq r1(ssget))
(setq p1(ssget“p”(列表(cons 0“TEXT”)))
(setq f(打开“c:\\code.csv”“w”)
(setq m1 1)
(setq ind 0)
(重复
(sslength p1)
(setq r3(ssname p1 ind))
(setq p2(entget r3))
(setq p3(cdr(assoc 11 p2)))
(setq s1(cdr(assoc 1 p2)))
(setq x(rtos(汽车p3)2 4))
(setq y(rtos(cadr p3)2 4))
(setq z(rtos(caddr p3)))
(setq m11(itoa m1))
(setq L1(strcat S1”,“x”,“y”,“S1”,“F”)
(写入行L1 f)
(setq ind(+1 ind))
(setq m1(+1 ind)))
(关闭f)
(警报“Hi-CODE.txt-在C驱动器中导出,请在Excel中打开”)
(普林斯)
CSV-IN。LSP
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
274
发表于 2022-7-5 18:40:44 | 显示全部楼层
试试这个:-
  1. (defun c:test (/ a f i obj pnt)
  2. (if (setq a (ssget '((0 . "text"))))
  3.    (progn
  4.      (setq f (open "c:\\code.csv" "w"))
  5.      (repeat (setq i (sslength a))
  6. (setq obj (entget (ssname a (setq i (1- i)))))
  7. (setq pnt (cdr (assoc 11 obj)))
  8. (write-line
  9.   (strcat (cdr (assoc 1 obj))
  10.           ","
  11.           (rtos (car pnt) 2 3)
  12.           ","
  13.           (rtos (cadr pnt) 2 3)
  14.           ","
  15.           (rtos (caddr pnt) 2 3)
  16.           ","
  17.           "F"
  18.   )
  19.   f
  20. )
  21.      )
  22.      (close f)
  23.      (alert
  24. "Hi -CODE.txt- is Exported in C drive \n Please Open in Excel"
  25.      )
  26.    )
  27. )
  28. (princ)
  29. )
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:44:15 | 显示全部楼层
谢谢你的回复,但它仍然不起作用。
回复

使用道具 举报

17

主题

1274

帖子

25

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2022-7-5 18:59:56 | 显示全部楼层
 
它怎么不起作用?是否加载?它能跑吗?它创建文件了吗?Did代码。txt在运行之前已经存在?将返回的内容张贴到命令行错误或其他位置。链接到你下载文件的地方会很有用。satishrajdev的代码比您的代码干净得多,但是如果没有任何提示或注释,很难知道您希望代码做什么。
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
274
发表于 2022-7-5 19:03:20 | 显示全部楼层
对不起,根据我的设置,我错把“f:\\code.csv”改成了“c:\\code.csv”,但忘了替换它
 
我现在已经更新了代码检查。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:09:18 | 显示全部楼层
有一些调整(未经测试):
  1. (defun c:test ( / csv des enx idx sel )
  2.    (setq csv "C:\\code.csv") ;; CSV to be created (will be overwritten if exists)
  3.    
  4.    (if (setq sel (ssget '((0 . "TEXT"))))
  5.        (if (setq des (open csv "w"))
  6.            (progn
  7.                (repeat (setq idx (sslength sel))
  8.                    (setq enx (entget (ssname sel (setq idx (1- idx)))))
  9.                    (write-line
  10.                        (strcat (cdr (assoc 1 enx)) ","
  11.                            (apply 'strcat
  12.                                (mapcar '(lambda ( x y ) (strcat (rtos x 2 3) y))
  13.                                    (cdr (assoc (if (= 0 (cdr (assoc 72 enx)) (cdr (assoc 73 enx))) 10 11) enx))
  14.                                   '("," "," ",F")
  15.                                )
  16.                            )
  17.                        )
  18.                        des
  19.                    )
  20.                )
  21.                (close des)
  22.            )
  23.            (princ (strcat "\nUnable to open "" csv "" for writing."))
  24.        )
  25.    )
  26.    (princ)
  27. )
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 19:19:12 | 显示全部楼层
现在它运行良好。
 
谢谢你的帮助。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-12 20:06 , Processed in 0.503857 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表