Koordinat Yazan AutoLisp Fonksiyon

M. Şahin Güvercin - 14.10.2011 23:33
Daha önce forumda paylaşılan bu fonksiyon, arkadaşlarımızdan gördüğü ilgi nedeniyle, yeniden düzenlenip geliştirildi...

Kullanıcı yeni noktalar seçmeye devam ettiği sürece, seçilen noktaların (belirlenen) koordinatları gösterilen yere çerçeve içinde yazılır. Çerçevenin uygun köşesi seçilen noktaya bir çizgi ile bağlanır.

- Çalışılan drawing dosyasında Koordinat isimli bir Layer olup olmadığı kontrol edilir. Koordinat Layer'ı yok ise oluşturulur, Layer coLor "1" yapılır.

- Koordinatların değerleri yazılırken kullanılacak ondalık basamak sayısı girilir. Fonksiyon ilk çalıştırıldığında ondalık basamak sayısı olarak dimdec değeri alınıp teklif olarak getirilir. Belirlenen ondalık basamak sayısı daha sonraki kullanımlarda hatırlatılır. Mevcut değeri değiştirmeden devam etmek için Enter girilmelidir.

- Yazılacak koordinatlar için Yazı Yüksekliği sorulur. Fonksiyon ilk çalıştırıldığında, textsize sistem değişkeninin değeri alınıp teklif olarak getirilir. Belirlenen Yazı Yüksekliği daha sonraki kullanımlarda hatırlatılır. Mevcut değeri değiştirmeden devam etmek için Enter girilmelidir.

- Koordinat değerlerinin yanına Uzunluk birimi (cm, m, dm, hm veya km gibi) yazdırılmak istenirse girilir. Uzunluk birimi yazdırılmak istenmiyorsa, bu soruya "-" girerek cevap evrilmelidir.

- Yazdırılacak Koordinatlar X, Y ve Z koordinatları herhangi bir bileşimde ve istenen sırada yazılmalıdır. X, Y, Z, XY, XZ, YZ, XYZ gibi koordinat gurupları yazılabileceği gibi, bu koordinatlar istenilen sırada yazılmalıdır. XYZ yazılabileceği gibi YZX veya ZXY sıralaması da tercih edilebilir. Koordinat değerleri verilen sırada yazdırılacaklardır. Bu soruyu Enter, Space gibi tuşlara basarak boş geçemeyeceğiniz gibi, içinde X, Y ve Z'den başka karakterler bulunduran girişler de kabul edilmez, bir uyarı mesajıyla yeniden girmeniz istenir.

- Bundan sonra nokta seçmeye devam edildiği sürece, seçilen noktanın (belirlenen) koordinatları gösterilen yere yazılmaya devam edilir.

- Nokta seçiminden sonra, koordinat yazıları, çerçevesi ve noktayı gösteren çizgi ekranda belirir, mouse'u hareket ettirip, uygun görülen yere getirildiğinde tıklanarak işlem tamamlanır. Ekranda beliren koordinatlar ve çerçevesi mouse ile sürüklenirken, imlecin o anki konumuna göre, noktayı gösteren çizgi, çerçevenin uygun köşesine kendiliğinden konumlandırılır.

- Koordinatları yazdırılacak nokta seçilirken, Object Snap aktiftir. Object Snap açık ise ayarlandığı şekilde imlecin bulunduğu konumdaki objelere kenetlenecektir. Yazıların yeri belirlenirken, doğrudan imleç konumu okunduğu için Object Snap açık bile olsa, hiç bir kenetlenmeye yakalanmadan konumlandırma yapılabilir.

- Koordinatlar istenirse WCS'de, istenirse UCS'de yazdırılabilir. Koordinat değerleri daima o anda aktif olan UCS değerleriyle yazılırlar.

- Koordinat yazıları, çerçeve ve referans çizgisi 3'üncü boyutta seçilen noktanın kotunda oluşturulur.

- Fonksiyon hiç bir sistem değişkenini değiştirmez, AutoCAD ayarlarına hiç bir şekilde ilişmez. Kendi içindeki hata yakalama rutini ile, olağandışı sonlansa bile herhangi bir hata ya da istenmeyen değişikliğe sebep olmaz.

Herkese Kolay gelsin...

Yazar: M. Şahin Güvercin
İçerik:
Tag:

Download sayısı: 888, Boyut: 0.001mb
Yorumlar :
28ayusta28   15.01.2019 12:56 #15936  

koordinat yazdırma lispi yükledim fakat komutu nedir ? yardımcı olabilirmisiniz_ emeğinize sağlık

leica09   04.06.2014 18:56 #15354  

kolay gelsin autocad kullanmaya yeni başladım sayılır koordinatsız bir autocad dosyasına koordinat tanımlamam lazım nasıl yapabilirim

toprak81   08.01.2014 07:08 #15273  

elinize sağlık

memitanli   12.11.2012 10:11 #14843  

Öncelikle lispi yazana sonsuz teşekkürler.
arkadaşlar bu lispin kısa yolunu bilen varmı. Varsa bileniniz yazarsanız çok güzel olur

huseyinozcelik   11.03.2012 07:55 #14542  

Arkadaslar rar sifresi nedir peki?

ProhibiT   23.10.2011 18:03 #14342  

Kolay gelsin cngzklc :) beğenmene sevindim.

hgkyrl, son derece akıllıca bir çözüm üretmişsiniz. Bazen Lisp yazmayı bilmek insanın ufkunu sınırlayabiliyor. Sizin yönteminizde, koordinat değerleri circle objesine filed ile bağlandığından, çizimde değişiklik yapıldığında, koordinatların kendiliğinden güncellenmesi de ciddi bir avantaj. Field kullanırken aktif UCS'de yazılması için DIESEL expression kullanılabilir mi? kafa yormak lazım. Bana ilk anda yapılabilir gibi geldi.

Çemberin merkezine çizlen Line ve Field objeleri bir kere oluşturulduktan sonra, bunlar kopyalanarak coğaltılabilir, yeni field objeleri üzerine çift tıklanarak başka objelerle (başka bir circle) ilişkilendirilebilir elbette. Bu anlamda oluşturulan circle, line ve field objeleri kopyalanarak bahsettiğiniz gibi poligon köşeleri de rahatlıkla koordinatlandırılabilir.

İyi fikir. Bu fonksiyon için olmasa bile başka konularda aklımda bulunduracağım bir ipucu :)

hgkyrl   22.10.2011 07:21 #14339  

merhaba üstad
eline emeğine sağlık

Ben de lisp yazmayı beceremediğim için mevcut komutlardan birşeyler türettim paylaşmak isterim

Ben bu koordinat işinde Field komutunu kullanıyorum farklı ucs ler oluştursam da hep world düzlemine göre x ve y değerlerini yazdığı için benim daha işime yaradı.

nasıl yaptığımı özetlersem :

Küçük bir daire çiziyorum
field komutuna giriyorum
Field categorys de objects i seçip
field name de object i seçiyorum
yan pencerede object tip seçeneği için kutucuğu tikleyerek model de ilk çizdiğim daireyi seçiyorum.
seçimi yapınca
object type belli olduğu için altındaki pencrede property detayları çıkıyor
bu kısımda da center ı seçince en sağda detayları oluşuyor
ben tercihen current unit formatını hep seçili bırakıp
altındaki bölümde x y ve z tiklerinden öncelikle sadece x seçili bırakıp ok derim
(additional bölümü var orada ön yazı için x yazabilirsiniz tercihe kalmış)
ardından tekrar aynı komutla bu sefer en son sadece y seçili yapıp ok lerim
model ekranında iki koordinat değeri oluşmuş oldu
ilki x ikincisi y değerleri

artık bunları alt alta getirip ortasından bir paralel çizgi ile ilk çizdiğim dairenin merlezine kadar çizerim
Bu artık şablon hazır
hepsini koordinat layerı oluşturup bu layerda toplarım
şimdi bu gurubu istediğim yere kopyaladığımda daire merkezi nereye denk geliyor ise oranın koordinatı otomatik olarak yazılı olacaktır
başka ucs de bile olsak yinede world düzlemine göre gereken koordinatı yazar

Bir poligonun köşe koordinatı gösterilecek ise bu şablonu daire merkezinden yakalayıp kopyala komutu ile poligon köşelerine hızlıca kopyalayabiliriz

cngzklc   18.10.2011 15:08 #14333  

Şahin abi, çok teşekkür ederim. Güzel bir çalışma olmuş.

Copyright © 2004-2022 SQL: 0.056 saniye - Sorgu: 36 - Ortalama: 0.00156 saniye