06.04.2011 18:04    

mtozer
Merhaba;

öncelikle ihtiyacımı söyleyerek daha sonra yapılabilirliğini araştırmak istiyorum.

iki boyutlu bir ızgarayı düşünelim. bunun excelde girilen koordinatlarla autocad'e aktarılarak çizdirilmesine ihtiyacım var. yani lisp ile command satırı yerine excel'i kullanabilirmiyiz(bu arada ardışık komutlar şeklinde; sıralamasını excel' de oturup yazacağız daha sonra kaydedip autocad de açacağız.) bahsettiğim gibi ızgara olarak düşünelim kenar pah ları vs.. olmayacak. ızgarayı örnek temsil etmesi için söyledim. normalde bir dikdörtgen çizip muhtelif bir kaç yerde line ler olacak.

ayrıca daha önce lisp çalışmam hiç olmadı. bana basit bir lisp (excel ortamında) örneği yapabilirseniz sevinirim.

teşekkürler

mtozer (06.04.2011 18:25 GMT)

07.04.2011 07:40    

ProhibiT
Bazı temel kavramları netleştirmek lazım...

excel ortamında bir fonksiyon yazılacaksa bu autolisp olmaz, visual basic olmak zorunda. yani vba (visual basic for application) kullanılması gerekir. bu noktada bir ek bilgi, microsoft autocad'in yeni versiyonlarında vba desteği vermediği için, autodesk tarafından hazırlanan vba enabler türü eklemeler kullanılması gerekiyor. autocad ortamında vba ile bir fonksiyon yazılır, bu fonksiyonda object olarak excel tanımlanır ve ilgili dosya açılır... ama bu da çok çetrefil bir işlem. gerek var mı?

bahsettiğiniz işlem aslına bakarsanız program konusu sayılmaz :) yani bir algoritma, şartlara göre dallanmalar yok. bu tür sıralı işlemleri yapmak için program yazılmaz script kullanılır. autocad script formatı komut satırından girilen her komut ve parametrenin ascii text formatında yazılıp -.Scr dosya uzantısıyla kaydedilmesinden ibarettir.

excel'de onca koordinatı oluşturduktan sonra, bunların soluna birde komut adı sütunu oluşturun (mesela line yazın) sonra da bunları ascii text formatında -.Scr uzantılı dosyaya yazdırın. autocad komut satırından script<┘oluşturduğunuz dosya adı<┘ girdiğinizde bahsettiğiniz bütün işlemler yapılmış olacaktır.

kolay gelsin.

07.04.2011 09:06    

mtozer
Bilgileriniz için teşekkürler prohibit;

vba ya biraz baktım, makro oluşturup bu şekilde bir yol olduğu görülüyor. fakat nereden başlayacağımı kestiremedim.

örneğin referans dosyasını oluşturma ve komutları ardışık bir biçimde cad e işletme konusunda biraz yoksun kaldım. yani ilk adımı nasıl atacağımı kestiremedim açıkcası. bu yüzden küçük bir uygulama örneği yapabilirmisiniz. geri kalan geliştirmesini yapabileceğimi düşünüyorum.

lisp e gelince bana sanki lisp daha karmaşık görünüyor. lisp hiç kullanmadım. ama vba konusunda uygulamalarım oldu. sadece bana giriş noktası gerekli. yani vba ile bir dikdörtgen çizdirip içerisine bir line ce circle ekleyebilirseniz çok memnun olurum.

teşekkürler.

07.04.2011 18:03    

ProhibiT
Yukarıda bahsettiğim autocad script dosyasının yapısını örnekleyerek açıklamaya çalışayım. probleminizi çok kolaylıkla çözeceğinizi düşünüyorum.

Line
0,0,0
100,0,0
100,66,0
0,66,0
c
Circle
50,33,0
22.5

- Bu yazdıklarımı buradan aynen alıp, uzantısı -.Scr olan (mesela deneme.scr) bir dosyaya kaydedin
- AutoCAD komut satırından Script<┘ girin, açılan diyalog penceresinde, oluşturduğunuz scr uzantılı (deneme.Scr) dosyayı seçin.
işlem bu kadar...

bu script ile;
0,0,0 dan 100,0,0 noktasına line
100,0,0 dan 100,66,0 noktasına line
100,66,0 dan 0,66,0 noktasına line
0,66,0 dan 0,0,0 noktasına line
50,33,0 merkezli, 22.5 yarıçaplı çember
çizilmiş olacaktır. görüldüğü gibi mantık çok basit...

bahsettiğimiz script dosyasını excel ortamında yazacağınız bir visual basic program ile yazdırabileceğiniz gibi, isterseniz doğrudan doğruya bir text editor ile yazarak ta oluşturabilirsiniz.

kolay gelsin.

08.04.2011 06:38    

mtozer
Sn. prohibit

çok teşekkür ederim. aradığım bu idi. :) umarım bir sorun çıkmaz.

iyi çalışmalar.

12.08.2011 20:05    

gazisamed
Iyi günler
autocad vba
y.Lisans projesi ile ilgili dişli çark 2 boyutlu çizdirmek istiyorum çok aciiiiil
samet sarıoğlu
çok darda kaldım
yardımcı olabilirmisiniz
ankarada yaşıyorum

12.08.2011 20:34    

ProhibiT
Yapmanız gereken işi daha detaylı ve net olarak tanımlarsanız, birilerinin yardımcı olma şansı olur.

- neden vba? yukarıda da açıklamaya çalıştığım gibi, visual basic for application (vba) dolaylı desteklenen bir platform. vba enabler eklentisinin hem fonksiyonun yazıldığı bilgisayarda, hem de fonksiyonun çalıştırılacağı bilgisayarda yüklenmiş olması gerekiyor. bunun yerine framework .Net kullanma yolu neden tercih edilmiyor?

- fonksiyon yazıldığında, source kodu sunulup evulator ortamında mı çalışacak, executable module mü isteniyor. (mesela -.Arx gibi)

- dişli çarkın hangi değer ve kriterlerini nereye girmek gerekiyor?

- sonuçta elde edilmek istenen nedir? dişli çarkın neyi 2b çizilecek?

ProhibiT (12.08.2011 20:42 GMT)

14.08.2011 09:22    

gkhn56
Hocam merhabalar,

elimizde mevcut bir çizim var bu çizim içerisindeki herhangi bir texti yazılımsal olarak istediğimiz gibi yada bir excel tablosundaki bir değeri alıp o çizime işlettirebiliyor muyuz?

07.04.2013 10:26    

ataerler
autocad çizimine aktarılan excel tablolarının , bu çizim paftasından geri alınmaması için ne yapmalıyım. yani excel tablosunun başkası tarafından degiştirilmesi nasıl önlenir...

07.04.2013 14:08    

map23
Excel de araçlar menüsü altında koruma seçeneği var orda çalışma kitabını yada çalışma sayfasını koruma parolası oluşturarak koruyabilirsiniz.kolay gelsin...

25.05.2013 12:28    

intatter
ProhibiT hocam merhabalar,

Line
0,0,0
100,0,0
100,66,0
0,66,0
c
Circle
50,33,0
22.5

şeklinde çalışmak söylediğiniz gibi çok eğlenceli , buna ilaveten benim aynı yöntemle autocad üzerinde mtext oluşturmam mümkün mü? mesela 25,66,100 koordinatlarında "a1" yazdırabilir miyim? bir yöntemi var mı? yine bu yöntemle layer değiştirmrk vs. mümkün müdür? şimdiden teşekkürler.

26.05.2013 17:08    

ProhibiT
Sorularınızın tümünün cevabı Evet. AutoCAD komut satırından girdiğiniz tüm komut ve parametrelerini script dosyasına yazarak kullanabilirsiniz. Elbette tek kural var, script dosyasından çalıştırılan komutlarda etkileşimli kullanıcı girişi (dynamic user input) olmamalıdır. Eğer bir komut iletişim kutusu (diyalog box) açıyorsa, bu komutun beklediği komut parametreleri görülemez. Bu durumda, ilgili komutu başına tire koyarak -KOMUT şeklinde girerek, iletişim kutusu açmaması sağlanabilir. Bu şekilde kullanarak ilgili komutun AutoCAD komut satırı parametrelerini çözebilir, script dosyasında benzer biçim ve sırada parametreleri verebilirsiniz.

Kolay gelsin...

27.05.2013 11:00    

intatter
ProhibiT hocam ;

ben mtext için excelden kopyala yapıştır metodunu çözemiyorum? eğer mümkün ise bir örnek verebilir misiniz? amacım excel hücremdeki yazıyı istediğim koordinata yazdırmak. birde bahsi geçen yöntemle atıyorum ;
Line
0,0,0
100,0,0
şeklinde bir çizgi çizdim ; autocad imleci line konutunda kalıyor , nasıl "cancel" yapabilirim. şimdiden teşekkürler.

> 1 <
Copyright © 2004-2022 SQL: 1.901 saniye - Sorgu: 78 - Ortalama: 0.02437 saniye