乐筑天下

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

[编程交流] 将嵌套块添加到selec

[复制链接]

5

主题

7

帖子

2

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 06:58:08 | 显示全部楼层 |阅读模式
我需要将嵌套块的选择添加到此代码中。我希望能够选择一个块及其嵌套块,将其颜色更改为红色。
 
  1. ;INTERNAL ERROR HANDLER
  2. (defun err-ubc (s)    ; If an error (such as CTRL-C) occurs
  3.      ; while this command is active...
  4. (if (/= s "Function cancelled")
  5.    (princ (strcat "\nError: " s))
  6. )
  7. (setq *error* olderr)   ; Restore old *error* handler
  8. (princ)
  9. );err-ubc
  10. (DEFUN C:UPDBLKCL (/ BLK CBL CBL2 C ACL ALY NLY NCL)
  11. (setq olderr *error* *error* err-ubc)
  12. (initget "?")
  13.        (while
  14. (or (eq (setq C (getint "\nEnter new color number/<?>: ")) "?")
  15.      (null C)
  16.      (> C 256)
  17.      (< C 0)
  18. );or
  19. (textscr)
  20. (princ "\n                                                     ")
  21. (princ "\n                 Color number   |   Standard meaning ")
  22. (princ "\n                ________________|____________________")
  23. (princ "\n                                |                    ")
  24. (princ "\n                       0        |      <BYBLOCK>     ")
  25. (princ "\n                       1        |      Red           ")
  26. (princ "\n                       2        |      Yellow        ")
  27. (princ "\n                       3        |      Green         ")
  28. (princ "\n                       4        |      Cyan          ")
  29. (princ "\n                       5        |      Blue          ")
  30. (princ "\n                       6        |      Magenta       ")
  31. (princ "\n                       7        |      White         ")
  32. (princ "\n                    8...255     |      -Varies-      ")
  33. (princ "\n                      256       |      <BYLAYER>     ")
  34. (princ "\n                                               \n\n\n")
  35. (initget "?")
  36. );while
  37. (PROMPT "\nPick blocks to update. ")
  38. (SETQ SS (SSGET '((0 . "INSERT"))))
  39. (SETQ K 0)
  40. (WHILE (< K (SSLENGTH SS))
  41.         (setq CBL (tblsearch "BLOCK" (CDR (ASSOC 2 (ENTGET (SETQ BLK (SSNAME SS K)))))))
  42.         (SETQ CBL2 (CDR (ASSOC -2 CBL)))
  43. (WHILE (BOUNDP 'CBL2)
  44.   (SETQ EE (ENTGET CBL2))
  45.   ;Update layer value
  46.    (SETQ NCL (CONS 62 C))
  47.   (SETQ ACL (ASSOC 62 EE))
  48.   (IF (= ACL nil)
  49.    (SETQ NEWE (APPEND EE (LIST NCL)))
  50.    (SETQ NEWE (SUBST NCL ACL EE))
  51.   );if
  52.   (ENTMOD NEWE)
  53.   (SETQ CBL2 (ENTNEXT CBL2))
  54. );end while
  55. (ENTUPD BLK)
  56. (SETQ K (1+ K))
  57. );end while
  58. (setq *error* olderr)
  59. (princ)
  60. );end updblkcl
  61.       
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 10:18 , Processed in 0.342526 second(s), 54 queries .

© 2020-2025 乐筑天下

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