Arkitera Forum  
Geri Git   Arkitera Forum > Mimarlık ve Bilişim > Yazılımlar > AutoCAD

Yanıt
 
Konu Araçları Modları Görüntüle
Eski 02-05-2006, 16:35   #1
Forum Üyesi
 
Kayıt Tarihi: 02-05-2006
Mesaj: 6
Exclamation Farklı dosyalardaki aynı isimli block reference değiştirme

Merhaba,

Çizimlerimde block reference olarak kullandığım anteti değiştirmek istiyorum. Yaklaşık 816 tane çizimim var ve bu antet içinde yer alan tarih rev no ve logo bölümlerini değiştirmem gerekiyor. Tek tek çizimleri açmadan yapabileceğim bir yol var mı???? Yardım ederseniz çok sevinirim.
highlevel offline   Alıntı Yaparak Yanıtla
Eski 03-05-2006, 01:22   #2
Arkitera Üyesi
 
Kayıt Tarihi: 10-12-2004
Mesaj: 843
Antet dosyanı diğer 816 dosyaya xref olarak tanıtırsan, daha sonra antet dosyasında yapacağın her değişiklik direk olarak tüm dosyalara yansır.
__________________
bulutların gözyaşları pencerene vururken düşüncelere daldığın gecede kurduğun hayaller sana uyumayı unutturuyorsa, gelecek o hayalleri sana yaşatsın..
Melody offline   Alıntı Yaparak Yanıtla
Eski 03-05-2006, 08:51   #3
Arkitera Üyesi
 
orhunkeskinbicak'in Avatar'ı
 
Kayıt Tarihi: 27-12-2005
Mesaj: 497
aklıma gelen en kolay yol 816 dosyayı daha önceden düzenlemesini yaptığın bir dosyaya çağırmak eğer blok isimleri aynı ise otomatik olarak değişecektir.
dosyaların ismini 1.dwg 2.dwg 3.dwg ..... gibi sıralı değiştire bilirsen hızlı bir şekilde bu işlemi yapan bir lisp de yazılabilir..

yada çıktılar a3 yada a4 gibi standart boylarda ise iki kez çıktı alarak halledebilirsin
önce antet sonra çizim

iyi çalışmalar
__________________
Ars Longa, Vita Brevis

En son orhunkeskinbicak tarafından düzenlendi : 03-05-2006 19:50.
orhunkeskinbicak offline   Alıntı Yaparak Yanıtla
Eski 03-05-2006, 11:03   #4
Üye
 
Sword'in Avatar'ı
 
Kayıt Tarihi: 03-05-2006
Mesaj: 12
Sanırım sorununuz Autocad scriptlerini kullanarak çözebilirsiniz.
  1. İlk önce bütün çizimlerinizi aynı klasör içine toplayın.
  2. Sonra yeni kullanmak istediğiniz bloğu tanımlayıp autocad klasörünün içerisine kaydedin.
  3. Notepad'i açıp aşağıdaki komutları yazalım ve uzantısı scr olacak şekilde kaydedelim.
    Kod:
    open "c:\a.dwg"
    -insert EskiBlokAdi=YeniYaratipKaydettigimizBlokAdi (command /e "resume")
    qsave
    close
    buradaki a.dwg yerine çizimlerimizden birisni adı olacak.
  4. Autocad de herhangi bir boş çizim açıkken Tools menüsünün altından run script komutuyla yarattığımız script dosyasını çalıştırdığımız zaman belirttiğimiz isimdeki çizimi açıp içerisindeki bloğu değiştirip kaydederek kapatacaktır.

Şimdilik bu yazdığım sadece bir çizimin içerisindeki antet bloğunda değişikli yapacaktır. Tüm çizimler için aynı şeyi yapmamız gerekiyor. Bunun içinde:
  1. Dos ekranını açıp çizimlerin bulunduğu klasöre gidip aşağıdaki komutları yazıyoruz
    Kod:
    dir *.dwg >liste.txt /b
    Bu şekilde tüm çizimlerin bir listesini elde etmiş olduk.
  2. Şimdi bu dosyayı wordpad de açıp find and replace yardımıyla başına ve sonuna gerekli script kodlarını yazdırırsın. Bunu daha pratik yapan text editör vardı ama unuttum oldukça uzun zamandır kullanmıyorum.

Bütün bu yazdıklarımı yaptıktan sonra
Kod:
open "c:\a1.dwg"
-insert antet=yeniAntet (command /e "resume")
qsave
close
open "c:\a2.dwg"
-insert antet=yeniAntet (command /e "resume")
qsave
close
open "c:\a3.dwg"
-insert antet=yeniAntet (command /e "resume")
qsave
close
open "c:\a4.dwg"
-insert antet=yeniAntet (command /e "resume")
qsave
close
open "c:\a5.dwg"
-insert antet=yeniAntet (command /e "resume")
qsave
close
Şeklinde bir script dosyanız oluşacak. Ve bu script dosyasını çalıştırdığımız zaman elimizde kahvemiz oturup tüm çizimlerin çabucak değişmesini seyredebileceğiz.
Sword offline   Alıntı Yaparak Yanıtla
Eski 03-05-2006, 15:48   #5
Arkitera Üyesi
 
orhunkeskinbicak'in Avatar'ı
 
Kayıt Tarihi: 27-12-2005
Mesaj: 497
bende birşeyler ekleyeyim.

öncelikle değişiklikleri yaptığımız bloğumuzu wblock yapıp AutoCAD.... klasörümüzün içine atıyoruz "önemli olan insert noktalarımız aynı olsun"

üstden alıntı yaptığım aşağıdaki kodu da herhangi bir text editörde uzantısı .scr olacak şekilde kaydediyoruz örneğin "block.scr" ve onuda AutoCAD.... klasörüne atıyoruz
"EskiBlokAdi" yazan yere dosyamızdaki blok adını
"YeniYaratipKaydettigimizBlokAdi" yerine de wblock yaptığımız blok adını yazıyoruz ( burada önemli olan iki bloğunda insert noktalarının aynı olması ve yeni bloğumuzun AutoCAD.... klasörü içine kaydedilmiş olması

-insert EskiBlokAdi=YeniYaratipKaydettigimizBlokAdi (command /e "resume")
_qsave
_quit

buraya kadar zaten Sword anlatılmışdı ben birtek close yerine quit yazdım karışmasın

AutoCAD.../Support/acad2006doc.lsp nin en alt satırınada şunları yazıyoruz

(command "script" "block.scr")

block.scr AutoCAD.... klasörüne kaydetrtiğimiz script adı


sonra block değiştirmek istediğimiz dosyaya çift tıklatıyoruz
sonra diyerlerine çift tıklatıyoruz

AutoCAD dosyayı açıyor Değiştiriyor kapatıyor.

Sword ün anlattığı yöntem daha basit elbette... ancak Scripti yazmak biraz uzun.

enson olarak

AutoCAD.../Support/acad2006doc.lsp *** dosyasında yaptığımız değişikliği geri almayı unutmuyoruz.

*** AutoCAD.../Support/acad2006doc.lsp dosyası AutoCAD in başlangıç .lsp dosyasıdır içine yazılanlar her defasında yüklenir lisp lerimizin otomatik yüklenmesinin sağlandığı dosyada budur.


kolay gelsin...
__________________
Ars Longa, Vita Brevis

En son orhunkeskinbicak tarafından düzenlendi : 03-05-2006 16:01.
orhunkeskinbicak offline   Alıntı Yaparak Yanıtla
Eski 03-05-2006, 19:14   #6
Üye
 
Sword'in Avatar'ı
 
Kayıt Tarihi: 03-05-2006
Mesaj: 12
Script yazmanın en kolay yolu şudur arkadaşlar. En azından benim elimdeki olanaklarla bulduğum en kolay yol.

Daha önceki mesajda anlattığım şekilde dosyalarımızın yarattığımız listesini MS Word ile açıyorsunuz.Daha sonra Tools->Macro->Record New Macro bu şekilde ilk bir kaç satır için gerekli işlemi elle yapıyoruz. Sonra kaydı durdurup tekrar eden kısmı belirleyip for-next döngüsü içine koyuyoruz. Kaç çizimiz varsa döngünün o kadar çalışmasını sağlıyoruz.

Ben kaydettiğim makroyu aşağıda yazıyorum doğrudan kullana bilirsiniz. Bu makroda dikkat edilecek 2 nokta var. makroyu çalıştırmadan önce imlecin dosyanın en başında olmasına dikkat edin(Ctrl+home yapmak yeterli). Bir de aşağıda verdiğim diğer kodu kopyalamış olun. Çünkü her satırın sonuna onu yapıştırıyor.
Kod:
Sub Macro2()
For i = 0 To 816
    Selection.TypeText Text:="open """
    Selection.EndKey Unit:=wdLine
    Selection.TypeText Text:=""""
    Selection.TypeParagraph
    Selection.PasteAndFormat (wdPasteDefault)
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.HomeKey Unit:=wdLine
Next
End Sub
Kod:
-insert EskiBlokAdi=YeniYaratipKaydettigimizBlokAdi (command /e "resume")
qsave
close
Bunların dışında MS Wordun koyduğu " işareti AutoCad de sorun çıkartıyordu diye aklımda kalmış. Dosyayı sonra wordpad ile açıp onların hepsini find and replace yapmak lazım.

Biraz zahmetli bir iş gibi gözükse de dosyaları tek tek tıklayıp açmaktan son derece kolay.
Ayrıca birşey daha söylemek istiyorum. highlevel cevap verirsek çok sevineceğini söylmeişsin. Bu kadar arkadaş seni mutlu etmişizdir umarım. Sende işine yarayıp yaramadığını söylersen bizde mutlu olabiliriz.

Herheze iyi çalışmalar...
Sword offline   Alıntı Yaparak Yanıtla
Eski 03-05-2006, 19:39   #7
Arkitera Üyesi
 
orhunkeskinbicak'in Avatar'ı
 
Kayıt Tarihi: 27-12-2005
Mesaj: 497
çok iyi yazmışsın konuyu açan ilgilenmesede

o dediğin dir *.dwg >liste.txt /b yaptım böyle birşey oluşturdu bunu temizlemek gerekecek

/b dışında bir yol ile sadece dosya adlarını listeletebiliyormuyuz

D srcsndeki birimin etiketi yok.
Birim Seri Numaras: **********
D:\3bDWG\1agac dizini

10.11.2004 09:29 311.362 agac-1.dwg
20.06.2001 17:28 76.030 agac-2.dwg
20.06.2001 17:28 69.459 agac-3.dwg
20.06.2001 17:28 38.350 agac-4.dwg
20.06.2001 17:28 39.321 agac-5.dwg
20.06.2001 17:28 97.787 agac-6.dwg
20.06.2001 17:27 331.694 cicek-1.dwg
16.09.1998 04:54 40.933 Tree2.dwg
16.09.1998 04:54 30.790 Tree4.dwg
16.09.1998 04:55 42.531 Treee.dwg
16.09.1998 04:55 53.821 Treef.dwg
16.09.1998 04:55 70.528 Treeh.dwg
16.09.1998 04:55 34.038 Treek.dwg
16.09.1998 04:55 57.486 Treen.dwg
16.09.1998 04:55 45.502 Treeo.dwg
16.09.1998 04:56 60.418 Trees.dwg
16.09.1998 04:56 52.019 Treey.dwg
17 Dosya 1.452.069 bayt
0 Dizin 40.645.636.096 bayt boŸ


neyse buldum
dir *.dwg >liste.txt /b /-c yapmak gerekiyo
__________________
Ars Longa, Vita Brevis
orhunkeskinbicak offline   Alıntı Yaparak Yanıtla
Eski 03-05-2006, 19:58   #8
Arkitera Üyesi
 
orhunkeskinbicak'in Avatar'ı
 
Kayıt Tarihi: 27-12-2005
Mesaj: 497
+ bu makro durmuyor ctrl +alt + del yapmak zorunda kaldım

pardon pardon 816 yı görmemişim güzel bir espiri olmuş
__________________
Ars Longa, Vita Brevis
orhunkeskinbicak offline   Alıntı Yaparak Yanıtla
Eski 05-05-2006, 11:40   #9
Forum Üyesi
 
Kayıt Tarihi: 02-05-2006
Mesaj: 6
Öncelikle herkese teşekkür ederim. Yazdıklarınızı yapmayı denedim. ama bir türlü beceremedim. Yani olmadı. Bloğum AntetA0 şeklinde ve içinde atributelar var. Tıkladığınızda tarih, rev no, pafta adı vslere üzerine 2 kere tıkladığınızda değişebiliyor. "Shopdrawing"yazan yere "As-built" yazmam
ve tarih bölümünü vs. değiştirmem gerekiyor. Yazılanları uyguladığımda sadece değişiklik yapılabilen bölümler (atributelar) kalıyor, diğer çizimler (çerçevesi, logolar vs) yok oluyor.
highlevel offline   Alıntı Yaparak Yanıtla
Yanıt

Yerimi olarak kaydedin


Şu an bu konuyu izleyen aktif kullanıcılar: 1 (0 üye ve 1 misafir)
 
Konu Araçları
Modları Görüntüle

Mesaj Yazma Hakları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Kapalı


Tüm saatler GMT +3. şu anda saat 18:05.


Powered by vBulletin® |Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177