25.01.2013 21:59
ProhibiT
|
Merhaba arkadaşlar.
Sitemizde çok sorulan ve istek alan, AutoCAD'den Excel'e tablo türü veri aktarma işlemini yapan bir fonksiyon paylaşıyorum.
Nasıl alırım? Nasıl Yüklerim? Kısayolu (ne demekse!) nedir? gibi sorularla muhatap olmak hiç hoş olmuyor. Bu konulara yabancı olan arkadaşlara tavsiyem; Soru sormadan önce, Linkleri görebilmek için ÜYE olmalısınız. ve Linkleri görebilmek için ÜYE olmalısınız. "Lisp dosyalarının oluşturulması ve yüklenmesi" konularını okumalarıdır. Söz konusu linklerde detaylarıyla anlatılan konular hakkında hiç bir soruya cevap verilmeyecek, kimse kusura bakmasın mesajlar da silinecektir.
Yazar arkadaşlar için bir kaç detaylardan bahsetmek isterim. Fonksiyon kodları incelendiğinde görüleceği gibi, VBA (Visual Basic for Application) veya .NET Framework kullanmadan tüm işlemler, AutoLisp içinden ActiveX kullanılarak çözülmüştür. Verilerin içinde bulunduğu sınırların (hücrelerin) belirlenip, biri biriyle ilişkilerinin tanımlanması için geliştirdiğim algoritmayı ilgi duyan arkadaşlara ayrıca anlatırım.
Kodların buradan alınıp Lisp dosyasının oluşturulması konusunda bazı arkadaşlarımızın yaşadığı problemler göz önüne alınarak, Fonksiyon sitemizin download bölümüne eklenmiştir. Kullanıma hazır şekilde indirebilirsiniz. Linkleri görebilmek için ÜYE olmalısınız.
Tabloyu oluşturan objelerin seçimi bitince, Excel programının çalıştırılması ve gerekli bağlantıların kurulması için hissedilir bir süre beklenmesi normaldir, telaş etmeyiniz. Fonksiyon tamamlanıp Autocad komut satırına dönüldüğünde, Görev Çubuğu (Task Bar) üzerinde beliren (açık) Excel simgesine tıklayarak geçiş yaptıktan sonra, dosyada istenen işlemler yapılabilir.
Herkese kolay gelsin...
ProhibiT (22.02.2013 08:01 GMT)
|
26.01.2013 06:44
waytooraider
|
Resmen rüyalarımdaki gibi olmuş.
Elinze,aklınıza sağlık hocam.
|
26.01.2013 07:39
SENDUR
|
Hocam ellerinize sağlık. Çooooooooooooook güzel olmuş
|
26.01.2013 11:37
CAN123
|
Hocam süper olmuş, emeğinize sağlık.
|
27.01.2013 21:01
ProhibiT
|
Teşekkür ederim arkadaşlar.
Bazı detayları biraz daha genişleterek açıklamakta fayda var;
Resimde görüldüğü gibi, Attribute içeren INSERT (BLock Reference) objeleri, Text, MText ve Field objeleri, tablonun Veri Objeleri olarak alınırlar.
Tablo sınırlarını (Hücre sınırları) belirleyen objeler, Line, Polyline veya Lwpolyline türü objeler olabilirler.
Veri bölgeleri (Hücreler) tek bir hücreden ibaret olabileceği gibi, birleşmiş hücreler de bulunabilir. Hücrelerin birleştirilmesinde Excel'deki range mantığı gereği, dikdörtgen bir tanım alanı söz konusudur.
Tablo elemanları seçildiğinde, dört bir yanında kenarlık bulunmayan (hücre içinde bulunmayan) objeler tabloya dahil edilmezler, işleme alınmazlar. Resimde A, B, C ve D harfleriyle belirlenen sütun numaraları ile, 1'den 9'a kadar olan satır numaraları her yanından sınır çizgileriyle kuşatılmadıklarından Veri olarak işleme alınmayacaklardır.
Gene resimde görüldüğü gibi hücre sınırlarını belirleyen çizgiler, biri biriyle kesişmek zorunda değiller. Bir çizginin hücre sınırı olarak algılanabilmesi için, ortogonal olarak 4 doğrultudan birinde, Veri objesinin Insertion Point'inden geçen ortonal hatlardan biriyle kesişmesi yeterlidir.
Belirlenen bu şartlar altında, hücre sınırlarını belirleyen çizgilerin mutlaka Ortogonal olmaları gereği kendiliğinden ortaya çıkmaktadır. Satır veya sütun çzigileri ortogonal olmadıklarında, program tarafından arada başka hücrelerin de olduğu anlaşılacağından, tablo yanlış oluşturulacaktır.
Mtext türü veri objeleri çok satırlı bir yazı içeriyorsa, bunların Excel'e aktarılmasında bir sıkıntı var. Satır atlama karakteri "\P" karakterleri aynen Excel hücresine veri olarak aktarılırlar. Excel hücrelerinde satır atlama kavramı "Wrap Text" biraz farklı olduğu için böyle bir aksaklık söz konusu oluyor. Bununla ilgili bir çözüm geliştirirsem bunu da ekleyeceğim.
Kolay gelsin.
ProhibiT (06.02.2013 13:44 GMT)
|
27.01.2013 21:13
Travaci
|
Teşekkürler.
|
01.02.2013 12:33
SaiL
|
Ellerinize sağlık, çok güzel olmuş..
|
06.02.2013 13:36
ProhibiT
|
Çok satırlı MText objeleri ile, aynı hücrede satır düzeninde birden çok veri hücresi olması durumlarında da işlem yapacak şekilde düzenlenip güncellendi. Bir hücre içinde aynı satırda birden çok veri objesi varsa (y koordinatları eşit, x koordinatları farklı) objelerden biri yazılmaz. Bu durumda, bir hücre içinde aynı satırda yer alan objelerin birleştirilmesi kullanıcının sorumluluğundadır.
admin (12.12.2017 21:03 GMT)
|
06.02.2013 20:40
Travaci
|
Dosya yüklenirken misplaced dot on input hatası alıyorum.
|
06.02.2013 21:15
serkanvan
|
tşkler
|
07.02.2013 01:23
ProhibiT
|
Copy/Paste ile alınırken hataya sebep olan "\\" karakterleri düzeltildi. Tekrar denerseniz problem çıkmayacaktır.
|
07.02.2013 07:08
waytooraider
|
Sürekli kullanacağım harika bir lisp olmuş ayrıca textleri dikdörtgenin içine alınca hepsini excelde tek hücrenin içine alması benim için inanılmaz zaman kazancı oldu.Tam aradığım şey.
Tek kelime ile sanat eseri olmuş.Koruma altına alınmalı bu lisp.Harikasınız ellerinize, aklınıza sağlık Hocam.
waytooraider (07.02.2013 07:16 GMT)
|
12.02.2013 18:31
ProhibiT
|
Güzel sözleriniz için teşekkür ederim waytooraider :)
Kodların buradan alınıp Lisp dosyasının oluşturulması konusunda bazı arkadaşlarımızın yaşadığı problemler göz önüne alınarak, Fonksiyon sitemizin download bölümüne eklenmiştir. Kullanıma hazır şekilde indirebilirsiniz. Linkleri görebilmek için ÜYE olmalısınız.
ProhibiT (22.02.2013 08:00 GMT)
|
22.02.2013 07:56
ProhibiT
|
AutoCAD'den Excel'e Tablo Aktaran Lisp Fonksiyon'u sitemizin download bölümünden indirebilirsiniz. Linkleri görebilmek için ÜYE olmalısınız.
|
22.02.2013 12:48
fırat çam
|
Hocam kolay gelsin. lispi verdiğiniz linkten download edemiyorum a 404 Not Found hatası veriyor. acaba kodları da burda paylaşsak olmaz mı?
|
22.02.2013 14:14
ProhibiT
|
Kodlar foruma konduğunda sık karşılaştığımız hatalarla uğraşmamak için download bölümüne eklendi. Şimdilik 174410-acxl.rar linkine tıklayarak indirebilirsiniz. Download bölümündeki link düzeltilecektir.
|
22.02.2013 15:41
fırat çam
|
Tamamdır teşekkür ederim emeğinize sağlık. tabloyu güzel bir şekilde alabiliyorum artık :) bir de tablodaki işaretler (yuvarlak veya çarpı olur ya) gelse tam olacak.
|
02.03.2013 18:43
karsmurat
|
Alıntı ProhibiT :
Kodlar foruma konduğunda sık karşılaştığımız hatalarla uğraşmamak için download bölümüne eklendi. Şimdilik 174410-acxl.rar linkine tıklayarak indirebilirsiniz. Download bölümündeki link düzeltilecektir.
tesskurler
|
02.03.2013 18:44
karsmurat
|
tesskurler calısmanızdan dolay ı
|
canip
|
Dosyayı çalıştırdığımda aşagıdaki hata mesajı çıkıyor.Bunu nasıl düzeltebiliriz.Saygılarımla...
; error: no function definition: vlax-ename->vla-object
|