明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 535|回复: 1

[提问] 【已解决】下面的代码为什么不能与贱人工具一起使用啊,加载贱人工具,代码

[复制链接]
发表于 2019-8-14 08:33 | 显示全部楼层 |阅读模式
本帖最后由 yangchao2005090 于 2019-8-14 09:34 编辑
  1. (defun C:tt2 (/ COL SS CNT IDX BLKNAME DONELIST)
  2.   (defun GRP (GCC EL) (cdr (assoc GCC EL)))
  3.   (defun UPDATE        (BNAME / ENAME ELIST)
  4.     (setq ENAME (tblobjname "BLOCK" BNAME))
  5.     (if
  6.       (and ENAME
  7.            (zerop (logand 52 (GRP 70 (entget ENAME '("*")))))
  8.       )
  9.        (progn
  10.          (while        ENAME
  11.            (setq col (Vlax-Get (Vlax-Ename->Vla-Object ENAME) 'Color ))
  12.                   (if (= 256 col)
  13.                     (setq col (vlax-get (vla-item (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
  14.                     (Vlax-Get (Vlax-Ename->Vla-Object ENAME) 'Layer ))  "color"))
  15.                   )
  16.            (if (or (= "INSERT" (GRP 0 (entget ENAME)))
  17.                    (= "DIMENSION" (GRP 0 (entget ENAME)))
  18.                )
  19.              (UPDATE (GRP 2 (entget ENAME)))
  20.            )
  21.            (setq ELIST (entget ENAME '("*"))
  22.                  ELIST (subst '(8 . "0") (assoc 8 ELIST) ELIST)
  23.                  ELIST (if (assoc 62 ELIST)
  24.                          (subst (cons 62 COL) (assoc 62 ELIST) ELIST)
  25.                          (append ELIST (list (cons 62 COL)))
  26.                        )
  27.            )
  28.            (entmod ELIST)
  29.            (setq ENAME (entnext ENAME))
  30.          )
  31.          't
  32.        )
  33.     )
  34.   )
  35.   (if (> (logand (GRP 70 (tblsearch "layer" "0")) 1) 0)
  36.     (princ "\nLayer 0 must be thawed before running FIXBLOCK!\n")
  37.     (progn
  38.       (if
  39.         (progn
  40.           ;(setq col 0)
  41.           ;(setq COL (acad_colordlg 7))
  42.           (setq        CNT 0
  43.                 SS  (ssget "x" '((0 . "INSERT")))
  44.           )
  45.         )
  46.          (progn
  47.            (setq IDX (sslength SS))
  48.            (while (>= (setq IDX (1- IDX)) 0)
  49.            (setq ex (ssname SS IDX))
  50.              (if
  51.                (not
  52.                  (member (setq BLKNAME (GRP 2 (entget ex)))
  53.                          DONELIST
  54.                  )
  55.                )
  56.                 (progn
  57.                   (if (UPDATE BLKNAME)
  58.                     (setq CNT (1+ CNT))
  59.                   )
  60.                   (setq DONELIST (cons BLKNAME DONELIST))
  61.                 )
  62.              )
  63.            )
  64.          )
  65.          (while        (setq BLKNAME (GRP 2 (tblnext "BLOCK" (not BLKNAME))))
  66.            (if (UPDATE BLKNAME COL)
  67.              (setq CNT (1+ CNT))
  68.            )
  69.          )
  70.       )
  71.       (princ (strcat "\n"
  72.                      (itoa CNT)
  73.                      " block"
  74.                      (if (= CNT 1)
  75.                        ""
  76.                        "s"
  77.                      )
  78.                      " redefined New Color\n"
  79.              )
  80.       )
  81.     )
  82.   )
  83.   (command "_.REGEN")
  84.   (princ)
  85. )


"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2019-9-4 09:30 | 显示全部楼层
本帖最后由 ketxu 于 2019-9-4 09:31 编辑

First Thanks for sharing :) Maybe it have same command name ?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-16 03:16 , Processed in 0.257938 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表