找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 995|回复: 2

[原创] breakto0 块至0层

[复制链接]
发表于 2015-2-10 15:58:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
插件可以将块中所有cad对象转至0层,其余不变。[sell=50][/sell]

breakto0.rar

1.3 KB, 下载次数: 12, 下载积分: D豆 -1 , 活跃度 1

块至0层

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2015-2-10 16:04:23 | 显示全部楼层
画图时经常从其他图中考块过来,拷过来的块还有许多图层,该插件可将块中所有cad对象改至0层,而不改变其他。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3199个

财富等级: 富可敌国

发表于 2015-2-10 19:37:57 | 显示全部楼层
论坛搜搜,很多这样的:
  1. (defun c:tt ( / e i l n s x )
  2.     (if (setq s (ssget '((0 . "INSERT"))))
  3.         (repeat (setq i (sslength s))
  4.             (if (not (member (setq n (cdr (assoc 2 (entget (ssname s (setq i (1- i))))))) l))
  5.                 (progn
  6.                     (setq e (tblobjname "block" n)
  7.                           l (cons n l)
  8.                     )
  9.                     (while (setq e (entnext e))
  10.                         (setq x (entget e))
  11.                         (entmod (subst '(8 . "0") (assoc 8 x) x))
  12.                     )
  13.                 )
  14.             )
  15.         )
  16.     )
  17.     (command "_.regen")
  18.     (princ)
  19. )


  1. (defun c:test (/ *error* adoc lst_layer func_restore-layers)

  2.   (defun *error* (msg)
  3.     (func_restore-layers)
  4.     (vla-endundomark adoc)
  5.     (princ msg)
  6.     (princ)
  7.     ) ;_ end of defun

  8.   (defun func_restore-layers ()
  9.     (foreach item lst_layer
  10.       (vla-put-lock (car item) (cdr (assoc "lock" (cdr item))))
  11.       (vl-catch-all-apply
  12.         '(lambda ()
  13.            (vla-put-freeze
  14.              (car item)
  15.              (cdr (assoc "freeze" (cdr item)))
  16.              ) ;_ end of vla-put-freeze
  17.            ) ;_ end of lambda
  18.         ) ;_ end of vl-catch-all-apply
  19.       ) ;_ end of foreach
  20.     ) ;_ end of defun

  21.   (vl-load-com)
  22.   (vla-startundomark
  23.     (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  24.     ) ;_ end of vla-startundomark
  25.   (if (and (not (vl-catch-all-error-p
  26.                   (setq selset
  27.                          (vl-catch-all-apply
  28.                            (function
  29.                              (lambda ()
  30.                                (ssget '((0 . "INSERT")))
  31.                                ) ;_ end of lambda
  32.                              ) ;_ end of function
  33.                            ) ;_ end of vl-catch-all-apply
  34.                         ) ;_ end of setq
  35.                   ) ;_ end of vl-catch-all-error-p
  36.                 ) ;_ end of not
  37.            selset
  38.            ) ;_ end of and
  39.     (progn
  40.       (vlax-for item (vla-get-layers adoc)
  41.         (setq
  42.           lst_layer (cons (list item
  43.                                 (cons "lock" (vla-get-lock item))
  44.                                 (cons "freeze" (vla-get-freeze item))
  45.                                 ) ;_ end of list
  46.                           lst_layer
  47.                           ) ;_ end of cons
  48.           ) ;_ end of setq
  49.         (vla-put-lock item :vlax-false)
  50.         (vl-catch-all-apply
  51.           '(lambda () (vla-put-freeze item :vlax-false))
  52.           ) ;_ end of vl-catch-all-apply
  53.         ) ;_ end of vlax-for
  54.       (foreach blk_def
  55.                (mapcar
  56.                  (function
  57.                    (lambda (x)
  58.                      (vla-item (vla-get-blocks adoc) x)
  59.                      ) ;_ end of lambda
  60.                    ) ;_ end of function
  61.                  ((lambda (/ res)
  62.                     (foreach item (mapcar
  63.                                     (function
  64.                                       (lambda (x)
  65.                                         (vla-get-name
  66.                                           (vlax-ename->vla-object x)
  67.                                           ) ;_ end of vla-get-name
  68.                                         ) ;_ end of lambda
  69.                                       ) ;_ end of function
  70.                                     ((lambda (/ tab item)
  71.                                        (repeat (setq tab  nil
  72.                                                      item (sslength selset)
  73.                                                      ) ;_ end setq
  74.                                          (setq
  75.                                            tab
  76.                                             (cons
  77.                                               (ssname selset
  78.                                                       (setq item (1- item))
  79.                                                       ) ;_ end of ssname
  80.                                               tab
  81.                                               ) ;_ end of cons
  82.                                            ) ;_ end of setq
  83.                                          ) ;_ end of repeat
  84.                                        tab
  85.                                        ) ;_ end of lambda
  86.                                      )
  87.                                     ) ;_ end of mapcar
  88.                       (if (not (member item res))
  89.                         (setq res (cons item res))
  90.                         ) ;_ end of if
  91.                       ) ;_ end of foreach
  92.                     (reverse res)
  93.                     ) ;_ end of lambda
  94.                   )
  95.                  ) ;_ end of mapcar
  96.         (vlax-for ent blk_def
  97.           (vla-put-layer ent "0")
  98.           (vla-put-color ent 0)
  99.           (vla-put-lineweight ent aclnwtbyblock)
  100.           (vla-put-linetype ent "byblock")
  101.           ) ;_ end of vlax-for
  102.         ) ;_ end of foreach
  103.       (func_restore-layers)
  104.       (vla-regen adoc acallviewports)
  105.       ) ;_ end of progn
  106.     ) ;_ end of if
  107.   (vla-endundomark adoc)
  108.   (princ)
  109.   ) ;_ end of defun
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-24 14:30 , Processed in 0.386210 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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