cashin 发表于 2014-9-13 22:21:03

分享一个lsp,修改块内的对象为0图层,同时提出求助,希望各位高手进来看下

这是修改块内的对象为0图层的lsp,后面我在使用中出现了一些插曲,有些块里面还有块,甚至块的块里面还有块,甚至块的里面的块里面的块还有块。这个时候这个lsp就不到作用了,这些嵌套块里面对象不会变化成0图层,我希望各位高手帮忙改下让所有块里面所有东西都是0图层,十分感激!

cashin 发表于 2014-9-14 17:15:31

跪求!!!!!!!!!!!!!

maiko 发表于 2014-9-15 09:04:06

你分享的源码吗.咋不见

cashin 发表于 2014-9-16 01:31:40

maiko 发表于 2014-9-15 09:04 static/image/common/back.gif
你分享的源码吗.咋不见

之前我还是没用你的那个。。老是出错,后面有个群里的好友帮我解决了,这个问题其实已经解决,但是还是有个问题,是另一个lsp,就是把选中的对象的某个颜色,换成bylayer颜色,或者换成某个特定的颜色。。。大神求帮助

忧郁的花儿2011 发表于 2014-9-20 12:26:22

你的分享呢?

cashin 发表于 2014-9-22 20:26:12

忧郁的花儿2011 发表于 2014-9-20 12:26 static/image/common/back.gif
你的分享呢?

;;将选择块内实体修改至0层颜色不变
(defun c:b0 (/ ss ssl i blocks el e bn bl)
(if (setq ss (ssget '((0 . "insert"))))
    (progn
      (setq ssl (sslength ss)
          i -1
          blocks (vla-get-blocks (vla-get-activedocument
                                                           (vlax-get-acad-object)
                                   )
                   )
      )
      (repeat ssl
        (setq e (ssname ss (setq i (1+ i)))
              el (entget e)
              bn (cdr (assoc 2 el))
        )
        (if (not (vl-position bn bl))
          (progn
          (vlax-for ent (vla-item blocks bn) (vla-put-layer ent "0")
          )          ;
          )
        )
      )
    )
)
(princ)
)

蘇_小粒 发表于 2015-1-27 15:55:03

你这个命令AP读取后输入b0为什么是未识别命令啊??

szygyue 发表于 2015-1-30 14:09:36

怎么实现嵌套块?

shadow. 发表于 2015-5-5 15:34:58

支持,同求.!!!!

十二恨 发表于 2015-7-15 19:02:41

使用递归方法,凑足十字
页: [1] 2
查看完整版本: 分享一个lsp,修改块内的对象为0图层,同时提出求助,希望各位高手进来看下