乐筑天下

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

[编程交流] 带有描述的图层列表

[复制链接]

57

主题

243

帖子

190

银币

后起之秀

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

铜币
285
发表于 2022-7-5 23:52:42 | 显示全部楼层 |阅读模式
我有一个例程(作者不知道),可以将图形中现有图层的列表导出到文本文件。它工作得很好,但我想要一个版本,可以包括一列描述每一层。
提前感谢您可能提供的帮助。
 
  1. (defun c:LL2T ( / oecho clrlst dwgnm fn fh lyr lyrlst)
  2. (defun chkbit (bit_val num)
  3. (not (zerop (logand bit_val num)))
  4. )
  5. (setq
  6. oecho (getvar "cmdecho")
  7. clrlst (list
  8. (cons 1 "RED")
  9. (cons 2 "YELLOW")
  10. (cons 3 "GREEN")
  11. (cons 4 "CYAN")
  12. (cons 5 "BLUE")
  13. (cons 6 "MAGENTA")
  14. (cons 7 "WHITE")
  15. )
  16. dwgnm (getvar "dwgname")
  17. )
  18. (setvar "cmdecho" 0)
  19. (setq fn (getfiled " File name: " (strcat dwgnm ".LS") "LS" (+ 1 2))
  20. )
  21. (while (setq lyr (tblnext "layer" (not lyr)))
  22. (setq lyrlst (cons (cdr (assoc 2 lyr)) lyrlst))
  23. )
  24. (setq lyrlst (acad_strlsort lyrlst))
  25. (princ "\nWriting layer data to file...")
  26. (setq fh (open fn "w"))
  27. (princ (strcat dwgnm ".DWG\n") fh)
  28. (foreach x lyrlst
  29. (setq
  30. lyr (tblsearch "layer" x)
  31. lyrname (cdr (assoc 2 lyr))
  32. lyrclr (cdr (assoc 62 lyr))
  33. lyrlt (cdr (assoc 6 lyr))
  34. frzn? (chkbit 1 (cdr (assoc 70 lyr)))
  35. lokd? (chkbit 4 (cdr (assoc 70 lyr)))
  36. )
  37. (if (minusp lyrclr)
  38. (setq
  39. on? "OFF"
  40. lyrclr (abs lyrclr)
  41. )
  42. (setq on? "ON")
  43. )
  44. (if (assoc lyrclr clrlst)
  45. (setq lyrclr (cdr (assoc lyrclr clrlst)))
  46. )
  47. (if frzn?
  48. (setq frzn? "FROZEN")
  49. (setq frzn? "THAWED")
  50. )
  51. (if lokd?
  52. (setq lokd? "LOCKED")
  53. (setq lokd? "UNLOCKED")
  54. )
  55. (princ lyrname fh)
  56. ;;(princ "," fh)
  57. ;;(princ lyrclr fh)
  58. ;;(princ "," fh)
  59. ;;(princ lyrlt fh)
  60. ;;(princ "," fh)
  61. ;;(princ on? fh)
  62. ;;(princ "," fh)
  63. ;;(princ frzn? fh)
  64. ;;(princ "," fh)
  65. ;;(princ lokd? fh)
  66. (princ "\n" fh)
  67. )
  68. (princ "done.")
  69. (close fh)
  70. (setvar "cmdecho" oecho)
  71. (princ)
  72. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 21:29 , Processed in 1.688815 second(s), 54 queries .

© 2020-2025 乐筑天下

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