乐筑天下

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

[编程交流] 将autocad中的信息获取到

[复制链接]

5

主题

194

帖子

193

银币

初来乍到

Rank: 1

铜币
24
发表于 2022-7-6 07:48:54 | 显示全部楼层
祝贺代码的进步!有两种方法可以提示输入文件名-getstring和getfield。GetField将生成一个很好的对话框,但getstring也有其优点。也许下面的内容可以让您了解如何使用getstring
 
  1. ;;Set a default file name to save your data to
  2. (setq saveFile "c:\\design.txt")

 
  1. ;;The following will ask the user to type a new filename to save to
  2. ;;Or if they hit enter just use the default value
  3. (setq prompt  (strcat "\nType file or hit enter to use [" saveFile "]"))
  4. (setq input (getstring t prompt))
  5. ;;If the user has hit enter then the would like to use the default file name
  6. ;;Getstring will return "", that means there is no need to change the file name
  7. ;;Thats where the not expression comes in
  8. (if
  9.   (not (= input ""))
  10.   (setq saveFile input)
  11. )

 
最后
 
  1. ;;Change the original line
  2. ;;(setq file (open "c:\\design.txt" "a")) to
  3. (setq file (open saveFile "a"))
回复

使用道具 举报

6

主题

249

帖子

247

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 07:53:02 | 显示全部楼层
 
尝试插入这些修订,但可能确实遗漏了一些内容。。。。提示如何提示用户文件保存位置。
史蒂夫
回复

使用道具 举报

6

主题

29

帖子

23

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 07:56:58 | 显示全部楼层
除非有办法获得一个漂亮的“另存为”对话框,否则我认为查找并将txt文件从c:\移动到任何地方都与键入完整位置一样有用。我需要移动并保存它们,但我只是不断覆盖我的主“c:\”记事本,并在制作完成后粘贴/重命名它们。
回复

使用道具 举报

5

主题

194

帖子

193

银币

初来乍到

Rank: 1

铜币
24
发表于 2022-7-6 07:58:54 | 显示全部楼层
@stevesfr,你能测试一下,看看它是否像预期的那样工作吗?
 
 
  1. (defun c:p2f (/ p x y z j ptcoord textloc cs_from cs_to file text filename)
  2. ;(setq filename (strcat "c:\"(getstring "\nEnter File Name")".txt"))
  3. (setq saveFile "c:\\design.txt")
  4. (setq prompt  (strcat "\nType file or hit enter to use [" saveFile "]"))
  5. (setq input (getstring t prompt))
  6. (if
  7.   (not (= input ""))
  8.   (setq saveFile input)
  9. )
  10. (setq j (getint "\nEnter Start Number"))
  11. (while ;start while
  12. (setq p (getpoint "Pick Point"))
  13. (setq cs_from 1)
  14. (setq cs_to 0)
  15. (setq p1 (trans p cs_from cs_to 0))
  16. (setq textloc (getpoint p "PLACE TEXT"))
  17. (setq x (rtos (car p1)))
  18. (setq y (rtos (cadr p1)))
  19. (setq z (rtos (caddr P1)))
  20. (setq ptcoord (strcat "pt"(rtos j 2 0)"     "x"     "y"     "z))
  21. (command "_leader" p textloc "" ptcoord "")
  22. ;(setq file (open filename "a"))
  23. (setq file (open saveFile "a"))
  24. ;(write-line ptcoord file)
  25. (write-line ptcoord saveFile)
  26. ;(close file)
  27. (close saveFile)
  28. (setq j (+ j 1))
  29. (princ)
  30. ) ;end while
  31. )

 
@kapat您应该查看Autolisp函数getfield-这将使您生成一个保存对话框
回复

使用道具 举报

6

主题

29

帖子

23

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 08:02:44 | 显示全部楼层
史蒂夫,你能做的就是重新做人
 
  1. (setq filename (strcat "c:\"(getstring "\nEnter File Name")".txt"))

 
使用:
 
  1. (setq filename (strcat (getstring "\nEnter File Name")".txt"))

 
当您保存它时,您可以在目录中键入“c:\file1\blahblah1”
 
或者你可以像我一样
  1. "c:\"
  1. "C:\Users\ (YOUR USERNAME) \Desktop\output file folder"

只需在其中标记您的计算机用户名,您就可以始终拥有一个包含所有点的桌面文件夹。
回复

使用道具 举报

6

主题

29

帖子

23

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 08:05:22 | 显示全部楼层
亲爱的,谢谢jammie!我无法详细说明这一点,谷歌无法理解我。感谢上帝赐予人类。好人。
回复

使用道具 举报

6

主题

249

帖子

247

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 08:07:34 | 显示全部楼层
 
@杰米
这在一定程度上起作用,但是在加载并从中调用程序时,我会看到一个警报弹出式问题屏幕。。。
“分配到受保护符号:提示输入中断循环?是…否…”。。。
选择保存结果的位置,程序不重复,现在每次都会询问起始坐标位置号是多少。
 
我用的是2008年的
回复

使用道具 举报

5

主题

194

帖子

193

银币

初来乍到

Rank: 1

铜币
24
发表于 2022-7-6 08:13:34 | 显示全部楼层
@steve你能在我发布的代码中把变量名提示符改成msg之类的东西吗,看看效果如何?我脑子有点乱,提示是Autolisp函数,所以这是autocad返回的错误消息。。。
回复

使用道具 举报

5

主题

194

帖子

193

银币

初来乍到

Rank: 1

铜币
24
发表于 2022-7-6 08:15:37 | 显示全部楼层
@欢迎光临
回复

使用道具 举报

6

主题

249

帖子

247

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 08:18:17 | 显示全部楼层
 
在这些修订之前,现在合并了上述修订(解决了问题),结果不会写入我的默认保存文件。最初的程序没有出现问题。现在有了这个版本,人们每次都必须输入一个起始点编号。事情每况愈下。但是,没有删除提示弹出窗口。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 10:08 , Processed in 1.066268 second(s), 70 queries .

© 2020-2025 乐筑天下

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