|
|
#31 |
|
Arkitera Üyesi
Kayıt Tarihi: 14-03-2005
Mesaj: 93
|
Makro Güvenliği
Merhaba,
@omr, Makaleler yabancı dil :s Makro güvenliği için: Excel için: Araçlar - Makro - Güvenlik tıklayıp Güvenliği orta seviyeye getiriniz AutoCad için Tools - Macro - Makros..(Alt+F8) - Options Tıklayınız Enable macro virus protection işaretli konuma getiriniz Artık Excel ve AutoCad dosyalarınız da makro varsa Dosya ilk açılışta Makroları etkinleştireyim mi diye soru soracaktır eğer güvendiğiniz bir kaynaksa etkinleştiriniz. @omr arkadaşımızın dediği gibi web üzerinden yüklediğimiz makrolara dikkat etmek gerek. Ama her kodu gizlenmiş makro da virus olacak diye bir şey yoktur. mesela yukarıda yazdığım makro kodları ticari amaçlı kullanılacağı düşünülürse bu kodlardan dolayı para talep etmem en dogal hakkım. bu yüzden kodların kontrolsuz kullanımını engellemek için kodları gizleye bilirdim, ama yapmadım ![]() Kolay gelsin. |
|
|
|
|
|
#32 |
|
Forum Üyesi
Kayıt Tarihi: 13-02-2006
Mesaj: 3
|
merhabalar
ben burayla bir arkadas sayesinde tanistim. gördügüm kadariyla cok icerikli bir site. benim sorunum suydu: excelde koordinatlari yazip butona basinca acad de cizen bir makro olusturulmus. bana lazim olan ise tam tersi. acad de tikladigim noktanin koordinatlarinin excelde bir tablo seklinde cikmasi . cok cok tesekkurler
|
|
|
|
|
|
#33 | |
|
Arkitera Üyesi
Kayıt Tarihi: 14-03-2005
Mesaj: 93
|
Merhaba,
Alıntı:
çok mantıklı ve olası bir yontem değil. ama çizim içinde mevcud olan noktaların koordinatlarını bir makro yardım ile excel e aktarmak isterseniz kodları yazdım isterseniz Macronun bulundugu Modulu buraya ekleye bilirim. Kolay gelsin. |
|
|
|
|
|
|
#34 |
|
Arkitera Üyesi
Kayıt Tarihi: 14-03-2005
Mesaj: 93
|
Merhaba,
Sanırım sorunuzu anladım kodlar aşağıda Kod:
Sub PointListeExcel()
' Function By: Biolight@mynet.com ( 2006 )
' Tools - References - Microsoft Excel ( X ) Object Library
' (X) = 9.00 or 10.0
Dim ProjeObj As AcadEntity
Dim KacPoint As Integer
KacPoint = 0
' Pojedeki eleman sayısı kadar döngü
For Each ProjeObj In ThisDrawing.ModelSpace
' eleman eğer Point se
If ProjeObj.ObjectName = "AcDbPoint" Then
' kaç Point olduğunu say
KacPoint = KacPoint + 1
End If
Next ProjeObj
' eğer projede Point yoksa
If KacPoint = 0 Then
MsgBox "Çalışmanızda henüz Nokta(Point) kullanmamışsınız", vbInformation, "Point yok."
Exit Sub
End If
Dim Excel As Excel.Application
Dim ExcelSheet As Object
Dim ExcelWorkbook As Object
' Excel i aç
Set Excel = New Excel.Application
' excel e kitap ekle
Set ExcelWorkbook = Excel.Workbooks.Add
' aktip excel kitap sayfasını belirle
Set ExcelSheet = Excel.ActiveSheet
' Excel uyarılarını yoksay
' dosya önceden varsa üzerine kaydedeyim mi sorusu iptali
Excel.DisplayAlerts = False
' Sayfa ismini Pointler yap
ExcelSheet.Name = "Pointler"
' excel kitabında bulunan sayfa sayısı kadar döngü
For Each Worksheet In Excel.ActiveWorkbook.Worksheets
' sayfa ismi Pointler değilse
If Worksheet.Name <> "Pointler" Then
' sayfası yok et
' excel alert vermesini yukarıda iptal etmiştik
Excel.Sheets(Worksheet.Name).Delete
End If
Next
Dim Dosyaismi
' dosyaismi= dwg dosyamızla aynı klasörde ve aynı isimde sadece dosya uzantısı xls(excel) oldu
Dosyaismi = Left(ThisDrawing.FullName, InStr(ThisDrawing.FullName, ".") - 1) & "Point.xls"
' excel kitabını kaydet
ExcelWorkbook.SaveAs Dosyaismi
' önce yazılan sutunları yok et
ExcelSheet.Range("A1").EntireColumn.Delete
ExcelSheet.Range("A1").EntireColumn.Delete
ExcelSheet.Range("A1").EntireColumn.Delete
Dim sutun As Integer
sutun = 2
' projede kullanılan obje sayısı kadar döngü
For Each ProjeObj In ThisDrawing.ModelSpace
' eğer obje Point se
If ProjeObj.ObjectName = "AcDbPoint" Then
ProjePoint = ProjeObj.Coordinates
ExcelSheet.Cells(sutun, 1).Value = ProjePoint(0)
ExcelSheet.Cells(sutun, 2).Value = ProjePoint(1)
ExcelSheet.Cells(sutun, 3).Value = ProjePoint(2)
sutun = sutun + 1
End If
Next ProjeObj
ExcelSheet.Cells(1, 1).Value = "X"
ExcelSheet.Cells(1, 2).Value = "Y"
ExcelSheet.Cells(1, 3).Value = "Z"
' Excel i kaydet
ExcelWorkbook.Save
' excel uyarıları çalışır duruma getir
Excel.DisplayAlerts = True
' Excel görünür yap
' Excel.Visible = True
' Exceli kapat
Excel.Application.Quit
Set ExcelSheet = Nothing
Set ExcelWorkbook = Nothing
Set Excel = Nothing
' ses çıkar
'Beep
' Excel dosyasının nereye kayıt edildiğini göster
MsgBox "Çiziminiz de bulunan noktaların(point) Koordinatları Bilgisayarınızda" & vbCrLf & vbCrLf & _
"Dosya : " & Dosyaismi & vbCrLf & vbCrLf & _
"Excel Dosyası Olarak Kaydedildi.", , "Excel KAYDEDİLDİ."
End Sub
bu noktaların koordinatlarını(x,y,z) excel dosyasına aktarıyor. 200 nokta da test ettim çalışıyor ! kodların nasıl çalıştırılacagı hakkında bilgi yazmadım eğer ihtiyacınız olursa yazabilirim. Not: 1- Tüm noktaları değil de sizin belirlediğiniz noktaları excel e aktarmak isterseniz kodlar üzerinde biraz daha çalışmak gerekli. 2- Ekte ki zip dosyası içinde PointExcel.bas modül dosyası mevcudtur. Kolay gelsin. |
|
|
|
|
|
#35 |
|
Forum Üyesi
Kayıt Tarihi: 13-02-2006
Mesaj: 3
|
sayin biolight, mesajinizi henüz okuyabildim. emeginiz icin tesekkurler. siz olmaz deyince ümidim kirilmis ve noktalari kendim excele yazmaya karar vermistim ve de aktardim. yazmis oldugunuz kodu acad de dosyami actiktan sonra vba kismina import ettim ve calistirmaya calistim (makrolarla aram cok iyi degildir az cok bisey bilirim ama bilgim excele yönelik) ama Dim Excel As Excel.Application satirinda hata verdi excel sayfasi actim ve tekrar calistirdim yine ayni satirda hata verdi. acaba yapmam gereken baska birsey mi var.
benim su an kullandigim acad 2006 ve onda taschenrechner (hesap makinasi) (bendeki almanca dilinde) diye bir bölüm var orayi calistirdigimda onun üzerinde koordinat al dügmesi var. o secildiginde cizimde nokta yakalama bölümü acik ise istenilen yere tiklayinca ( daireyse merkezi; cizgi ise bas, son veya orta noktasi vs vs) o noktanin koordinati hesap makinasina geciyor. ordan da kopyalayip excele yapistirabiliyorsunuz. ama burda da bir sorun var. koordinati su formatta veriyor : [-350.1593875527,332260.60664178,0] bunu excele iki defa yapistiriyorum biri x koordinati icin digeri y koordinati icin ve sonradan da gereksiz kismi temizliyorum. excel noktayi binlik ayraci gibi algiliyor yani o zaman benim koordinatim daha dogrusu sayim 3501593875527,33226060664178 olmus oluyor. bunu excelde makro yaparak düzelttim. ama yine de eger bir makro yapabilirsek acad deki hesap makinasindaki gibi, cok güzel bir uygulama olacak yani bir user form üzerinde 3 textbox ve commandbutton. cizimde nokta yakalama acikken istedigimiz yere tiklayip onun x-koordinatini textbox1e ; y-koordinatini textbox2 ye ; z-koordinatini textbox3e yazsa commanbuttona da tiklayinca excele gönderse. not: benim bilgisayarimda foruma giremiyorum. acaba cevabinizi ayrica benim kendi mailime gönderebilir misiniz. simdiden cok cok tesekkürler. |
|
|
|
|
|
#36 | ||
|
Arkitera Üyesi
Kayıt Tarihi: 14-03-2005
Mesaj: 93
|
Merhaba,
Sanırım kodların ilk başında bulunan ' Tools - References - Microsoft Excel ( X ) Object Library ' (X) = 9.00 or 10.0 kısmını gözden kaçırmışsınız. autocad vba editor açıkken Tools - References tıklayıp Excel i ekleyiniz o zaman Dim Excel As Excel.Application satırında hata vermeden çalışacaktır. yazdıklarınızdan anladığım kadarı ile kodlar tam sizin istediğiniz gibi değil. ben çizim içinde bulunan point leri bulup bunların koordinatlarını excel e aktarmıştım Alıntı:
ilk aklıma gelen en büyük problem çizimde hedef belirleyip tıkladınızda objenin koordinatlarının excel e direk aktarmak istiyorsunuz bir çok hedef olacağını göz önünde bulundurursak excel bu süre zarfında açık olacak bu da sorun demek en sonunda aktaralım desek bu sefer bilgileri hafızada tutma problemi var vs vs vs ![]() Alıntı:
en azından excel de yaptığınız sitematik işlemleri makro ile daha otomatik bir şekle sokmak daha kolay Kolay gelsin. |
||
|
|
|
|
|
#37 |
|
Forum Üyesi
Kayıt Tarihi: 13-02-2006
Mesaj: 3
|
sayin biolight
baska bir sorum olacak excelde makroyla bir islem yaptirmak istedigimde ve de bu islemin komutunu bilmiyorsam (bendeki almanca oldugu icin tam turkcesini bilmiyorum) bir dugme var ve o dugme yardimiyla islemi yaptiriyorum sonra vba ya gecip o islem icin hangi komutu kullandigini anliyorum. kamera fonksiyonu gibi birsey. acadde de ayni dugmeyi buldum ve calistirmayi denedim ama birsey kaydetmedi. bilemiyorum ne demek istedigimi anlatabildim mi eger anlatabildimse bunun nedenini neyi nerde yanlis yaptigimi ogrenmek istiyordum. bu arada dediginizi yaptim ve calisiyor excele koordinatlari atiyor ama ordaki problem o kadar nokta icerisinden hangi nokta nedir bunu secmesi zor. ama yine de cok guzel bir calisma olmus biraz daha gelistirilebilirse cok güzel sonuclar cikacagindan eminim. calismalarinizda basarilar dilerim. |
|
|
|
|
|
#38 |
|
Arkitera Üyesi
Kayıt Tarihi: 14-03-2005
Mesaj: 93
|
Merhaba,
Excel de bahsettiğiniz düğme Makro Kaydet Butonu dur. AutoCAD de böyle bir button yok malesef (AutoCAD 2000 - 2004) 2006 malesef bilmiyorum. Kolay gelsin. |
|
|
|
|
|
#39 |
|
Üye
Kayıt Tarihi: 15-12-2006
Mesaj: 1
|
sağolun
sağolun arkadaşlar
|
|
|
|
|
|
#40 |
|
Forum Üyesi
Kayıt Tarihi: 21-11-2006
Mesaj: 14
|
xla
biolight arkadaşim Koordinatlar2004.zip XLA dosyasını AutoCad2007 için çevirirsen memnun olurum
|
|
|
|
|
|
#41 |
|
Arkitera Üyesi
Kayıt Tarihi: 14-03-2005
Mesaj: 93
|
Merhaba,
İlk olarak AutoCAD 2007 kullanan birini bulmam gerekiyor sanırım yarın halledebilirim. Kolay gelsin. **************** AutoCAD 2007 ye sonunda uyarlayabildim, amma çok değişiklik yapmışlar Bir Excel eklentisi olan XLA dosyası ile ilgili kısa bilgi için Tıklayınız Ekte ki zip dosyası içinde Koordinatlar2007.xla dosyası bulunmaktadır. Kolay gelsin. En son biolight tarafından düzenlendi : 09-03-2007 19:02. |
|
|
|
|
|
#42 |
|
Forum Üyesi
Kayıt Tarihi: 21-11-2006
Mesaj: 14
|
ENH profil çizimi yardım
Daha önceleri 1/400-1/2000 ölçekli ENH profilini çizerken çok ugraşıyordum.
ilk önce topografın arazide aldığı mesafe ve kot değerlerini 1/400-1/2000 ölçeğe çeviriyor (örnek ekte topograf.zip dosyası) sonra bu değerleri tek tek AutoCAD'e giriyordum. Elinize sağlık hazırladığınız koordinat.xls dosyası ile bu işlemi kısa zamanda yapıyorum. Yalnız sizden ricam profili çizdikten sonra autocad'de örneğini gönderdiğim (profil.zip dosyası) şekilde profilin altına tablo çizip bu tabloya mesafe, kot ve kazık nolarını otomatik yazmak istiyorum . Bu konuda bana yardımcı olursanız çok memnun olurum. |
|
|
|
|
|
#43 |
|
Arkitera Üyesi
Kayıt Tarihi: 14-03-2005
Mesaj: 93
|
Merhaba,
Emin olmamak la birlikte istediğiniz yapılabilinir ama zaman ve emek gerekmekte ve sorunuz genel forum kullanıcılarının ihtiyacına değil de daha çok kişisel yardım içermekte. Bu yüzden bu sorunuz da size yardımcı olamıyorum özür dilerim. Kolay gelsin. |
|
|
|
|
|
#44 |
|
Forum Üyesi
Kayıt Tarihi: 21-11-2006
Mesaj: 14
|
ENH Profil
Biolight kardeş yardımların için sağol. ENH profilinde kullandığımız tabloyu kendim için değil profil çizen tüm elk. müh. arkadaşlar için istemiştim.
egehal kardeşimizin foruma koyduğu "autocad de vba uygulaması(İçmesuyu boykesit programı) vba ile boykesit çizen bir program bilgileri excel den alıp autocat macrosu ile çizim yapıyor Eklenmiş Dosyalar boykesit programı.zip (65.4 KB, 109 görünüş) (ekte dosyayı gönderiyorum)" program içmesularında kullanılıyor ve 1/100-1/1000 ölçek ile çizim yapıyor, çizimden sonra bunu biz 1/400-1/2000 ölçeğe çeviriyoruz. Program çizimin altına da tablosunu çizip değerleri yazıyor. Ama bu içmesularında kullanılan değerlere göre hazırlandığından ENH' ye uyarlamak için epeyce tadilat yapmak zorunda kalıyoruz ya da değerleri tek tek autoCAD'e giriyoruz. yukarıda istemiş olduğumuz ve yukarıdaki yazı ekinde örneğini gönderdiğim formasyona uygun tablo ile mesafe+kot ve kazık no değerlerini koordinat aktarımı sırasında autocade aktarırsak benim gibi ENH profili çizen bir çok kişinin işini kolaylaştırmış olursunuz. Saygılarımla |
|
|
|
|
|
#45 | |
|
Arkitera Üyesi
Kayıt Tarihi: 14-03-2005
Mesaj: 93
|
Alıntı:
link eski sisteme göre dolayısı ile çalışmıyor XLA ile ilgili bilgi için Tıklayınız. ( Auto Cad Koordinat aktarma ) @mehoza, inceleyeceğim ama kesin bir şey diyemem. Not: VBA bilen arkadaşlar da konuya dahil olur ve bilgi paylaşımında bulunurlarsa sevinirim. |
|
|
|
|
![]() |
| 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 | |
|
|