06.02.2016 19:47    

drwnngpool
merhaba,

blok içi layer değiştiren lisp yardım

drwnngpool (12.02.2016 21:46 GMT)

07.02.2016 11:27    

alumina
Kod:

(defun c:bl (/ ss ln dc i bn ob en) (vl-load-com)
  (if (setq ss (ssget '((0 . "insert"))))
    (if (and (/= (setq ln (getstring T "\nLayer name:")) "")
          (/= (tblobjname "layer" ln) nil))
      (progn
        (vla-startundomark (setq dc (vla-get-activedocument (vlax-get-acad-object))))
        (repeat (setq i (sslength ss))
          (setq bn (cdr (assoc -2 (tblsearch "block" (cdr (assoc 2 (entget (setq ob
            (ssname ss (setq i (1- i)))))))))))
          (while bn
            (entmod (subst (cons 8 ln) (assoc 8 (setq en (entget bn))) en))
            (setq bn (entnext bn))
          )
        )
        (vla-endundomark dc)
        (vla-Regen dc acAllViewports)
      ) (if (/= ln "") (alert (strcat "ERROR\n" """ ln """ " not found")))
    )
  ) (princ)
)

alumina (08.02.2016 22:11 GMT)

08.02.2016 22:16    

alumina
Biraz once fark ettim, blogu editledikten sonra ayni isimdeki diger bloklarinda ekran goruntulerinin guncellenmesi icin regen e ihtiyac duyuyormus. Revize edip tekrar paylastim.

12.02.2016 21:46    

drwnngpool
harika, teşekkürler.

> 1 <
Copyright © 2004-2022 SQL: 1.039 saniye - Sorgu: 50 - Ortalama: 0.02079 saniye