乐筑天下

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

[编程交流] 下线过滤器故障-can和#03

[复制链接]

2

主题

9

帖子

7

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 16:45:18 | 显示全部楼层
RONJONP-谢谢你的帮助,代码运行速度比以前快了100倍。命令行是干净且不间断的。喜欢这种变化。
 
我可能会尝试更改以下几行,但现在我将保持原样[我是一名电气工程师,不是程序员,应该开始我的日常任务=)]
 
如果你想看到几乎完成的项目,就给你。以同样的方式重新组织我的其他脚本。感谢这一课!
 
  1. (DEFUN C:XCLEAN        ()        ;         Defines Command Prompt Function Name
  2. (Prompt "\n***  Working, Please wait working on the drawing......\n")        ;        Feedback to user
  3. ;;        TURN OFF COMMAND LINE
  4. (getvar "cmdecho")        ;        Get cmd echo variable status
  5. (setvar "cmdecho" 0)        ;        Turn off command line
  6. (getvar "Nomutt")        ;        Get Nomutt variable status
  7. (setvar "Nomutt" 1)        ;        Turn off command line
  8. ;;        UNLOCK ALL        ;;
  9. (command "-layer" "ON" "*" "thaw" "*" "u" "*" "color" "t" "255,0,255"        "*" NIL )        ;         All layers on, unfrozen and unlock all layers, set color to magenta of all layers
  10. ;;        DELETE ALL DIMENSIONS        ;;
  11.         (and (setq s (ssget "X" '((0 . "DIMENSION,LEADER")))) (mapcar 'entdel (mapcar 'cadr (ssnamex s))))
  12. ;;        SPECIALIZED BURST - SEE SCRIPTS BELOW ;;
  13. (repeat 4
  14. (C:DEMO)
  15. )
  16. ;; To modelspace
  17. (setvar 'tilemode 1)
  18. (vlax-for l (vla-get-layers (setq doc (vla-get-activedocument (vlax-get-acad-object))))
  19.    
  20. ;; Unlock layers
  21.    (vl-catch-all-apply 'vla-put-lock (list l :vlax-false))
  22.    
  23. ;; Color magenta
  24.    (vla-put-color l 6)
  25.    (setq n (strcase (vla-get-name l)))
  26.    
  27. ;; LAYERS TO CHANGE TO COLOR 8 BY FILTER
  28.    (if
  29.      (wcmatch
  30. n
  31. "*TREE*,*BUSH*,*PLANTS*,*LTS*,*LITE*,*LIGHT*,*FURN*,*DETL*,*CURB*,*PARK*,*PITCH*,*SLOPE*,*ANNO*,*IDEN*,*PATT*,*GRID*"
  32.      )
  33.       (vla-put-color l
  34.    )
  35.    
  36. ;; LAYERS TO FREEZE BY FILTER
  37.    (if        (wcmatch n "*WALL-IDEN*,*DOOR-IDEN*,*DIM*,*DEFPOINT*")
  38.      (vl-catch-all-apply 'vla-put-freeze (list l :vlax-true))
  39.    )
  40. )
  41. ;; Delete dims and leaders
  42. (and (setq s (ssget "X" '((0 . "DIMENSION,LEADER")))) (mapcar 'entdel (mapcar 'cadr (ssnamex s))))
  43. ;; Delete layouts
  44. (vlax-for l (vla-get-layouts doc) (vl-catch-all-apply 'vla-delete (list l)))
  45. ;; SET ALL TO BY LAYER       
  46. (command "SETBYLAYER" "ALL" "" "Y" "Y")        ;        SET ALL TO BY LAYER
  47. ;;        PURGE AND AUDIT        ;;
  48. (setvar 'tilemode 1)        ;         Makes Model Space Current
  49. (command "zoom" "e")        ;         Zoom Extents
  50. (setvar 'tilemode 0)        ;         Makes Paper Space Current
  51. (command "zoom" "e")        ;         Zoom Extents
  52. (command "_qsave")        ;         Save File
  53. (setvar 'tilemode 1)        ;         Makes Model Space Current
  54. (command "-UNITS" "4" "16" "1" "0" "90" "N" \e)        ;         Sets unit Architectual, 1/16" Precision, Decimal Degrees with no decimal spaces, Angle Zero at top of screen                       
  55. ;;        DELETE ALL DIMENSIONS        ;;
  56.         (and (setq s (ssget "X" '((0 . "DIMENSION,LEADER")))) (mapcar 'entdel (mapcar 'cadr (ssnamex s))))
  57. ;;        PURGE 2X
  58. (repeat 2        ;        Purge 5x
  59. (vla-purgeall (vla-get-activeDocument (vlax-get-acad-object)))        ;        Purge all unused
  60. )
  61. ;;        CHANGE ALL HATCH TO COLOR 8
  62. (command "_.chprop"
  63. (ssget "x" (list (cons 0 "HATCH")))
  64. ""
  65. "Color"
  66. 8
  67. ""
  68. )       
  69. ;;        DELETE ALL DIMENSIONS        ;;
  70.         (and (setq s (ssget "X" '((0 . "DIMENSION,LEADER")))) (mapcar 'entdel (mapcar 'cadr (ssnamex s))))
  71. ;;        PURGE 3X
  72. (repeat 3        ;        Purge 5x
  73. (vla-purgeall (vla-get-activeDocument (vlax-get-acad-object)))        ;        Purge all unused
  74. )
  75. ;;        SAVE DRAWING
  76. (command "_qsave")        ;         Save File
  77. ;;        TURN ON COMMAND LINE
  78. (setvar "Nomutt" 0)        ;        Turn ON command line
  79. (setvar "cmdecho" 1)        ;        Turn ON command line
  80. (Prompt "\n******************************************\n")        ;        Feedback to user
  81. (Prompt "\n******* XCLEAN SCRIPT COMPLETE        *********\n")        ;        Feedback to user
  82. (gc)        ;        Free ram resources
  83. )

 
只剩下几个命令需要转换(解冻所有层-我今晚将对此进行攻击):
 
  1.         (command "zoom" "e")        ;         Zoom Extents

 
  1.         (command "_qsave")        ;         Save File

 
  1. (command "-UNITS" "4" "16" "1" "0" "90" "N" \e)        ;         Sets unit Architectual, 1/16" Precision, Decimal Degrees with no decimal spaces, Angle Zero at top of screen       

 
  1.         (Prompt "\n******* XCLEAN SCRIPT COMPLETE        *********\n")        ;        Feedback to user

 
另一天的挑战者。与您的投入取得了飞跃,再次感谢!
 
约翰
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:51:08 | 显示全部楼层
这里有更多信息。。我要去度假了,享受拼图吧!
[code](定义c:xclean(/doc n s);
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 13:06 , Processed in 1.388653 second(s), 54 queries .

© 2020-2025 乐筑天下

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