22.10.2009 14:32    

yazgunesi
Komut ismi: rbk

Lisp hakkında ; Seçilen block'un ismini değiştirir. command satırındaki yazılara bakmayı ihmal etmeyin kullanırken..


Kod:

;**********************************
;          Rename block name
;    (block isminin değiştirilmesi)
;
;        powered by yazgunesi                 
;       www.autocadokulu.com
;
; *********************************


(defun c:rbk (/ blksecimi blkname blknew)

; select block to view name
(setq blksecimi (entget(car(entsel "Select block to view NAMES : ")))
      blkname (cdr(assoc 2 blksecimi)) ) 
(princ (strcat ">>> " (cdr (assoc 2 blksecimi)) " <<<" )) ; princ block name 
(setq blknew (getstring t "\nEnter new block name: "))
(command "_.rename" "_block" blkname blknew)
(prompt "\nBlock ismi başarıyla değiştirilmiştir...")
(princ)
)
 
(Princ "Lisp'i çalıştırmak için > rbk < yazınız!  www.autocadokulu.com ")




Not : Programın kendisi güncellenmiştir..



Yukarıda gözüken autolisp programını nasıl kullanacağınızı bilmiyorsanız eğer aşağıdaki linkten;
AutoLISP > Konu Anlatımları > Lisp Dosyalarının oluşturulması ve Yüklenmesi
konusunu incelemenizi öneririm...

yazgunesi (15.04.2011 15:25 GMT)

23.10.2009 09:28    

SENDUR
Eline sağlık güzel olmuş

ama küçük bi detay
nomalde block ismini verirken 1 den fazla kelime kullana biliyoruz "kapak yan kesiti" gibi ama senin bu yaptığın lispte "space" tuşu enter görevi gördüğü için tek kelime girmemiz gerekiyor. bunu mümkün kılacak değişikliği yapabilirmiyiz

23.10.2009 10:04    

k005
Alıntı
SENDUR :

(setq blknew (getstring t "\nEnter new block name: ")) t yi eklemen yeterli...

23.10.2009 10:42    

SENDUR
Teşekürler

evet oldu böyle daha güzel

25.10.2009 18:26    

yazgunesi
İlginiz için teşekürler arkadaşlar. Space tuşu konusunda bilinçli olarak müdahale yapmadım.Çünkü kullanım tarzım degişikti.. Yabancı dosyadan alınancak blockları, gecici olarak baska bir isim vermek gerekti ki yeni versiyon projede kullanabilmek için.Rename komutuyla block ismi değiştirmek, 35 adet block arasından aradığını bulmak demek.. Bu lispi kullandıktan sonra en son rename komutu ile ilgili esas block isimini veriyordum.. Bazen o kadar çok düşünmek yerine hızlıca sonucu görmek istiyor insan.

30.09.2011 12:26    

anty_hacker
Ayrıca command : rename

06.01.2012 20:00    

mistake
Alıntı
anty_hacker :
Ayrıca command : rename


çok teşekkürler çalışmıyor zannediyordum :))))

26.07.2013 09:48    

chnabr
Merhaba,

Buna benzer bir isteğim olacak yardımcı olabilirseniz sevinirim. Soru şu şekilde bir dwg içerisinde bulunan tüm blok yada bu plan üzerinde seçtiğimiz farklı isimlerde birden fazla blok için, blok ismi önüne yada sonuna yazı eklemek mümkün olabilir mi?

örneğin;
kapı, pencere, dolap, kitap, kuş gibi farklı isimlerdeki blokları seçip komutu uyguladığımızda

kapı_a, pencere_a, dolap_a, kitap_a, kuş_a gibi olması.

26.07.2013 12:36    

Travaci
Alıntı
chnabr :



Miyatu

(defun c:Bnd ()
(setq elist (tblnext "block" T))
(setq gd (getstring "\nBlock listesindeki isimlerin sonuna koyulacak ek:"))
(while (/= elist nil)
(setq bn (cdr (assoc 2 elist)))
(setq bn1 (substr bn 1 1))
(if (/= bn1 "*")
(progn
(setq sd (strcat bn gd ))
(command "-rename" "b" bn sd "")
)
)
(setq elist (tblnext "block"))
)
)



Böyle birşey işinizi görürmü ?

29.07.2013 06:04    

chnabr
Teşekkür ederim,
İstediğim işi yapıyor fakat tüm bloklar için yapıyor, Bunu sadece seçtiğimiz bloklar için yapabilmemiz mümkün mü?
Ayrıca bul-değiştir fonksiyonu da ekleyebilir misiniz? örneğin blok içerisinde, başında-sonunda veya herhangi bir yerindeki kelimeyi değiştirmek için kullanmak istiyorum. örneğin; "a-blok_d1", "a-blok_d2" gibi isimler var ben buradaki "a-" karakterlerini bulup istediğim herhangi bir kelime ile değiştirmek istiyorum, yine bunda da seçim yaptığım bloklar için uygulanmasını istiyorum.
Bu işlemleri yapabilecek bir lisp olarak güncelleyebilirseniz çok iyi olur.
Tekrar Teşekkür ederim...

06.07.2017 09:36    

mantık85
Merhaba,
2 ayrı blok ismini tek yapabilme şansımız var mı? Mesela kapı ve kapı-a aslında aynı içerikteler. Ve ben her iki bloğun adı da kapı olsun istiyorum. Kapı-a yı rename yada yukarıdaki lisp ile düzeltmeyi deneyip adına kapı dediğimde böyle bir blok var olduğu için kabul etmiyor. Yardımcı olursanız sevinirim

06.07.2017 10:00    

ehya
mantık85



Aynı isme sahip iki farklı blok yapamazsınız. Mantığa ters...

07.07.2017 11:47    

mantık85
bende isimleri birleştirmek istiyorum. içerik aynı isimler farklı, tek isimde toplamanın yolunu soruyorum aslında.

07.07.2017 11:51    

ehya
dynamic block özelliğini inceleyin.
biraz karışıktır ama istediğiniz olur..

07.07.2017 12:48    

alumina
Blok icerikleri ayni demissiniz. Peki insertpointleride ayni mi?

07.07.2017 13:29    

ehya
alumina




DynamicBlock farklı bir konu. Noktaları aynı olur. Blok içerisinde liste gösterilerek birden fazla seçenek sunulur. Daha birçok özellik eklenebilir.
Bilmeyenlerin mutlaka öğrenmesi gereken bir özellik...

07.07.2017 13:55    

alumina
Su an ki mevcut bloklar dinamik blok degilse ve her iki blogunda insertpoint leri ayniysa degistirebilmesi icin yardimci olabiliriz diye dusunmustum

10.07.2017 13:44    

mantık85
evet dinamik blok değil malesef, insertpointleri de aynı değil

mantık85 (10.07.2017 14:27 GMT)

10.07.2017 14:53    

alumina
Alıntı
mantık85 :

insertpoint leri ayni degilse change yapildiginda blok yerleri kaymayacak mi peki?

11.07.2017 06:53    

mantık85
iki farklı isimde fakat şekil olarak aynı olan bloklar adet olarak projede çok fazla olduğundan ihtiyacım olan bunların bir olması ya da aynı olması. yani şu da olabilir, seçtiğim blok diğer bloğun yerine konumlanabilir.

Copyright © 2004-2022 SQL: 1.699 saniye - Sorgu: 98 - Ortalama: 0.01734 saniye