02.01.2021 19:09    

k005
Merhaba Arkadaşlar ( Uzun bir zamandan sonra... )

Aşağıdaki VBA kodu üzerinde çalışıyorum.. b1 klasörü içine kayıt yapıyorum. Fakat seçerek blok oluşturur gibi kayıt yapmalıyım. bunun için ne gibi değişiklik veya ekleme yapmalıyım.?

yardımcı arkadaşa şimdiden Teşekkürler...


Mevcut halde Çizimi belirtilen Klasöre kayıt ediyor.

Kod:

Sub BlockSave()
Dim folder As String
Dim fName As String
Dim sec As AcadSelectionSet

folder = "E:\Hesfiles\b1"
dosyaAdi = InputBox("Dosya Adını Giriniz : ", folder)
If dosyaAdi = "" Then
MsgBox "İşlem iptal edildi."
Exit Sub
End If

'Set Secim = ThisDrawing.SelectionSets.Add("Secim")
'Secim.SelectOnScreen

fName = dosyaAdi & ".dwg"
ThisDrawing.SaveAs folder & "" & fName

MsgBox fName & " Kaydedildi.", vbInformation

End Sub

08.01.2021 08:51    

ProhibiT
Merhaba k005, gerçekten uzun zaman sonra yazdın. Tekrar hoş geldin.

Aslında sorunun cevabı çok basit görünüyor. Basit göründüğü için de acaba ben mi yanlış anladım diye düşünmekten kendimi alamadım.

ThisDrawing.SaveAs şeklinde kullandığın komutun genel formatı,
object.SaveAs FileName [, FileType] [, SecurityParams] biçimindedir.
Burada "object" olarak ThisDrawing koyunca haliyle çizimin tamamını yeni dosyaya yazıyor.

Yola çıkarken, daha doğrusu soruyu sorarken "seçerek block oluştur gibi kayıt yapmak..." diyince iş karışıyor. İstenen, AutoCAD wblock (write block) işleminde olduğu gibi yeni oluşturulacak dosyayı seçilen objelerden oluşan dosya yapmak mı? yoksa Yeni dosya içinde seçili objelerden oluşan bir Block oluşturmak mı?

İyi de attığımız taş ürküttüğümüz kuşa değmedi. Bu kadar debeleneceğimize AutoCAD komut satırından çok kolayca yapabiliriz bu işi. Başka konular altında da yazmışlığım vardır; AutoCAD komutlarıyla kolayca yapabileceğin hiç bir şey için program yazma!

Ele aldığım konunun yalnızca bir kısmı, daha büyük bir düşüncenin bir parçası bu, diyor ve ille de yazacağım diyorsan, çok basit bir yöntem:
object.WBlock FileName, SelectionSet
Burada object yerine ThisDrawing koymak gerek.
ThisDrawing.WBlock FileName, SelectionSet

Kolay gelsin.

14.01.2021 12:36    

k005
Kod:

...AutoCAD wblock (write block) işleminde olduğu gibi yeni oluşturulacak dosyayı seçilen objelerden oluşan dosya yapmak mı?...


Hocam Merhaba

Evet aynen burada ilk belirttiğiniz., gibi.. bir işlem olacak. Doğrudur AutoLisp ile daha kolay bi şekilde olabilir. İtirazım yok. :)

Ancak ben bunu illede VBA ile yapacağım. bir Çek-Menü hazırlıyorum bu da bir parçası olacak.. yapabilirsem.

Önerdiğiniz şekilde deniyorum hemen.. Sonucu buradan güncellerim.

Kolay gelsin, İyi Çalışmalar.

********************************************

Hocam Tamamdır, Çok Teşekkürler.., :yes

k005 (14.01.2021 13:07 GMT)

> 1 <
Copyright © 2004-2022 SQL: 0.949 saniye - Sorgu: 50 - Ortalama: 0.01898 saniye