16.04.2020 12:37    

ozkul
arkadaşlar merhaba

çizim içindeki kopyalanmış bloğun bir kopyasının ismini değiştirmek istiyorum.
içine girip değişiklik yaptıktan sonra "save block as" komutu ile ismini değiştiriyorum ancak block editörden çıktıktan sonra hala eski blok duruyor.
ismini değiştirdiğim bloğu insert ile çağırmam gerekiyor.

insert ile çağırmadan yapmanın kısa bir yolu var mıdır?

16.04.2020 13:06    

alumina
Alıntı
ozkul :

Kod:

(defun c:bv (/ dc bl ns nm mn bc pt nn ls)
            (vl-load-com)
  (if (setq dc (vla-get-ActiveDocument
        (vlax-get-acad-object))
          bl (vla-get-Blocks dc)
            ns (ssget ":S:L" '((0 . "insert"))))
    (progn (redraw (setq ns (ssname ns 0)) 3)
      (setq nm (vlax-ename->vla-object ns)
         mn (vla-get-EffectiveName nm)
           bc (vla-Item bl mn)
             pt (vlax-get bc 'Origin))
      (prompt (strcat "\nCurrent block name: " mn))
      (if (/= (setq nn (getstring T
            "\nEnter the new block name:")) "")
        (if (tblobjname "block" nn)
          (alert (strcat """ nn """
            " is already in use"))
          (progn
            (vlax-for n bc (setq ls (cons n ls)))
            (vla-StartUndomark dc)
            (vlax-invoke dc 'CopyObjects ls
              (vlax-invoke bl 'Add pt nn))
            (vla-put-Name nm nn)
            (vla-EndUndomark dc))))
      (redraw ns 4)
    )
  ) (prin1)
)

16.04.2020 13:14    

Travaci
Bloğu kenarda patlatıp ctrl+c yada ctrl+shift+c ile kopyalayıp ctrl+shift+v ile yapıştırdıktan sonra bloğa dokunup rename komutunu kullanabilirsin.

16.04.2020 13:21    

ehya
Selam ozkul,

Adı üstünde saveas yapıyosun. Haliyle mevcut bloğu değiştirmeden yeni halini farklı kaydediyor.
Şuan senin istediğin bir özellik yok. Yeniden insert ile çağırman gerekli.

16.04.2020 13:54    

ozkul
alumina bu işimi görecek.

travaci senin dediğin şey biraz uğraş istiyor. ben aynı isimde 10 bloktan bir tanesinin ismini değiştirmek istiyorum.

ehya saveas yapınca bunu hafızaya alıyor. çıktıktan sonra tekrar insert ile çağırmak gerekiyor.
halbuki o değişikliği içinde bulunduğum blokta aktif etse büyük kolaylık olur. bunu bi düşünmeli autodesk.

herkese teşekkürler.

> 1 <
Copyright © 2004-2022 SQL: 1.384 saniye - Sorgu: 55 - Ortalama: 0.02516 saniye