8 Eylül 2009 Salı

MESH Modelleme 9: Gizmo Kullanarak Yapılan Düzenlemelerde Kısıtlamaları Kullanmak



Bundan önceki makalemde GIZMO kullanarak MESH modeller üzerindeki basit düzenleme işlemlerinden bahsetmiştim. Bu derste, GIZMO kullanarak yapılan düzenleme işlemlerinde kısıtlamaları kullanmayı anlatmaya çalışacağım. Bu makale, okuyucunun daha önceki MESH modelleme serilerini okuduğu varsayılarak hazırlanmıştır.

İpucu: Arka Arkaya Noktalar Çizmek




POINT sıklıkla kullandığımız bir komut olmamasına karşın, gerektiğinde de birden çok defa kullanırız. Eski AutoCAD sürümlerinde komuta PO kısaltması ile girdiğinizde ENTER tuşuna basıncaya kadar nokta çizmenize (koymanıza) izin verilirdi. Yeni sürümlerde bu özellik sadece menüye kalmış. Bunu tekrar hatırlamak ve diğer komutları da çoklu olarak nasıl işletebileceğimizi bakalım:

AutoCAD 2010 İle Geometrik Ölçümler




AutoCAD 2010’a sessiz sedasız çok faydalı bir komut geldi: MEASUREGEOM. Bu komut çizim içerisinde hacim, uzunluk, açı, alan ve yarıçap ölçümleri yapabiliyor. Çoğu kullanıcı ölçüm işlemlerini ölçülendirme komutları ile yapar. Bu yöntem pratik olmaktan uzaktır. Önce ölçü komutuna girip, sonra gerekli seçeneği bulup, ölçülendirme yapıp silmek pek kullanışlı değil. AutoDESK kullanıcıların isteklerini dikkate alarak bu komutu geliştirmiş. Hep beraber inceleyelim.

AutoCAD'de Ölçek Kavramı ve Birimleri Anlamak



Merhaba,

Auotcad kullanımına yeni başlıyorsanız ya da kendi kendinize öğreniyorsanız, AutoCAD'in çalışma mantığını anlayabilmeniz, ölçek ve birim gibi kavramları öğrenebilmenize yardımcı olacağını düşündüğüm bu yazıyı yazmak istedim.

Öncelikle hemen belirtmeliyim ki Autocad'de yaptığınız çizim ne olursa olsun, bu çizimi gerçekleştirdiğiniz alana MODELSPACE (model boşluğu) adı verilir. Eğer AutoCAD 2000 ve üzeri sürümleri kullanıyorsanız çizimi yaptığınız grafik alanın altındaki küçük kulakçıklarda Model /Layout1 /Layout2 gibi ibarelerin farkına varmışsınızdır. Unutmayın çiziminizi model boşluğunda yaparsınız.

Model boşluğunun hemen sol alt köşesinde x ve y eksenlerini gösteren bir simge vardır-ki buna UCS icon (kullanıcı koordinat sistemi simgesi) denir. Bu simge size o anda çizim yaptığınız koordinat sistemini gösterir. X ve y yönündeki oklar model boşluğunun + yönünü gösterir.

Artık yavaş yavaş ölçek ve birim konusuna değinebiliriz. Autocad model boşluğunda koordinat sistemi kartezyen koordinat sistemidir. X ve y değerlerinin 0 olduğu 0,0 noktasını orijin kabul ederseniz (ki bu ekranınızın sol alt köşesidir) sağa ve yukarı doğru değerler artı olacaktır. 0,0 noktasını merkez kabul ettiğinizde derece açı sistemine göre, x ekseni sağa doğru 0 derece açıdır. Açılar saat yönünün tersine, y ekseni + yönünde 90 derece, x ekseni - yönünde 180 derece ve y ekseni - yönünde 270 derece olacaktır.

Autocad de yaptığınız çizime model dendiğini ve bu çizimin yapıldığı alana model boşluğu dendiğini biliyoruz. Buna göre gelelim ölçeklendirmeye. Burası çok önemli Autocad de çizim kağıt üzerindeki gibi ölçekli yapılmaz, 1=1 yapılır ve ölçek kağıda çıktı alırken verilir. Ancak sizin 1 Autocad çizim birimini ne olarak kabul ettiğiniz önemlidir. Autocad kağıt birimi mm (milimetredir.) Diyelimki mimari bir proje çiziyorsunuz ve 1 çizim birimini (drawing unit) 1cm kabul ettiniz. Yani 1 dwgUnit = 1cm kabulü ile çizime başladınız. Kapıları 100 birim, masa yüksekliklerini 75 birim gibi belirli kurallara göre çizime devam edersiniz. Yani her şeyi cm kabulune göre çizersiniz. Çıktı almak istediğinizde ölçekle hiç oynamazsanız kağıttaki Autocad birimi milimetre (mm) olduğu için her 1cm = çıktıda 1mm gözükecektir.

Yani 1 dwgunit (cm kabul etmiştik) = 1 mm çıkacaktır. bu da 1/10 ölçek demektir. 1/100 çıktı almak için çıktı alırken ölçek kısmına 10çizim birimim (yani 100mm'rem) = kağıtta 1mm gözüksün demelisiniz. o da 10=1 dir.

Umarım size fazla karmaşık gelmemiştir. Autocad de çizimlerinizin hassas olması ve dilediğiniz zaman dilediğiniz ölçekte çıktılar alabilmeniz için 1 çizim birimine bir kabul yaparak bire bir ölçekli çizim yapmalısınız.

Sorularınız olursa yanıtlamaktan zevk duyarım.

İyi çalışmalar.

Blogger'a Taşındık!


Tekrar merhaba sevgili arkadaşlar.

Şu ana kadar bloglarımızı barındıran IX-Web Hosting şirketine daha fazla tahammül etmeme kararı aldık ve bloğumuzu Blogger'a taşıdık.

Merak etmeyin tüm eski yazılar, downloadlar ve alıştığınız sayfalar yeni yerimizde hem de daha başka yeniliklerle yer alacak.

Önemli bir hatrlatma: Aman IX-Web Hosting kullanmayın

AutoCAD.Net API : Nesne Olayları


Merhaba Arkadaşlar,

Bu yazımda AutoCAD nesneleri için tanımlanmış olaylarının nasıl izlenebileceğini basitce göstermeye çalışacağım. Bu olaylar; nesnelerin eklenmesini, silinmesini ve nesnelerde yapılan değişiklikleri dinlemekte kullanılır. AutoCAD.Net API için tanımlanmış olaylar aşağıda:

public event Autodesk.AutoCAD.DatabaseServices.ObjectEventHandler ObjectAppended
public event Autodesk.AutoCAD.DatabaseServices.ObjectErasedEventHandler ObjectErased
public event Autodesk.AutoCAD.DatabaseServices.ObjectEventHandler ObjectModified
public event Autodesk.AutoCAD.DatabaseServices.ObjectEventHandler ObjectOpenedForModify
public event Autodesk.AutoCAD.DatabaseServices.ObjectEventHandler ObjectReappended
public event Autodesk.AutoCAD.DatabaseServices.ObjectEventHandler ObjectUnappended

Nesne olaylarını dinleyebilmek için yapmamız gereken tek şey bu olayları AutoCAD veritabanıyla ilişkilendirmek ve her ilişkilendirdiğimiz olay için bir geri dönüş fonksiyonu yazmak. Geri dönüş fonksiyonlarıyla da yakaladığımız nesneler üzerinde istediğimiz işlemleri yapabiliriz. Bu olayların nasıl işlediğini anlamak için ObjectAppended (nesne eklendi) ve ObjectErased (nesne silindi) olaylarını dinleyen aşağıdaki örnek kodu inceleyebilirsiniz.

using System;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;

[assembly: ExtensionApplication(
typeof(Autodesk.AutoCAD.ObjectEvents.MyPlugin))]

namespace Autodesk.AutoCAD.ObjectEvents
{

public class MyPlugin : IExtensionApplication
{

void IExtensionApplication.Initialize()
{
Document doc =
Application.DocumentManager.MdiActiveDocument;
Database db =
doc.Database;
// Olayların veritabanıyla ilişkilendirilmesi
db.ObjectAppended +=
new ObjectEventHandler(NesneEklendi);
db.ObjectErased +=
new ObjectErasedEventHandler(NesneSilindi);
}

void IExtensionApplication.Terminate()
{
try
{
Document doc =
Application.DocumentManager.MdiActiveDocument;
Database db =
doc.Database;
// Olayların veritabanıyla ilişkilerinin sonlandırılması
db.ObjectAppended -=
new ObjectEventHandler(NesneEklendi);
db.ObjectErased -=
new ObjectErasedEventHandler(NesneSilindi);
}
catch (System.Exception)
{

}
}

// Database.ObjectAppended için geri dönüş fonksiyonu
private void NesneEklendi(
object sender, ObjectEventArgs e)
{

Autodesk.AutoCAD.ApplicationServices.Application.
ShowAlertDialog("Değiştirilen Nesne :\n" + e.DBObject.GetType().ToString());

}

//Database.ObjectErased olayı için geridönüş fonksiyonu
private void NesneSilindi(
object sender, ObjectErasedEventArgs e)
{
ObjectId id = e.DBObject.ObjectId;
if (e.Erased)
{
Autodesk.AutoCAD.ApplicationServices.Application.
ShowAlertDialog("Silinen Nesne :\n" + e.DBObject.GetType().ToString());
}

}
}
}

Neden Blogger'a Taşındık?


Merhaba sevgili arkadaşlar,

Bu güne kadar AutoCAD Günlüğü'nde beraber çalıştığımız yazar arkadaşlarımız ve okuyucularımızın en çok merak ettiği konu Blogger'a neden taşındığımız.

Biliyorsunuz, blogumuz kısa bir süre öncesine kadar IX-Web Hosting firması tarafından barındırılıyordu. Ancak günlük ziyaretçi sayımız 1,500 ve yayımlanan yazılarımızın sayısı da 1,300 kadar olunca sorunlar başladı. Bir gün database sunucusu kitleniyor, bir gün tema dosyalarımıza virüs giriyor. Aldığımız cevaplar hep aynı: "FTP şifrenizi çaldırmışsınız", "veri tabanı sunucumuza ataklar var" gibi. En sonunda "sizin blogunuz sunucularımızı aşırı yüklüyor" diyerek hem de hiç haber vermeden anında yayını durdurdular. Benim en çok sinirlendiğim mevzu bize kapatma nedeni olarak sunucuyu aşırı yükleyen korsanlarmışız gibi davranmaları. "Bunu bir daha yapmayacağınıza söz verirseniz açarız" diye de not düşmüşler.

Neyse biraz araştırma yaptıktan sonra, tüm hosting şirketlerinin aynı numaraları çekerek yoğun siteleri bezdirdiğini öğrendim. Neticede bana iki yoldan birini seçmek kaldı.

  1. Kendi sunucularımda yayın yapmak ki: bu çok pahalı olurdu.
  2. Ücretsiz bir blog servisine taşınmak.
Bu seçeneklerden hemen 2.sini benimsedim çünkü kendi sunucumda da benzer sorunların yanında, bir de bakımla uğraşacaktım. Öyleyse hemen ücretsiz blog sunucularını araştırmaya başladım. Ya Wordpres olacaktı ya da Blogger. Wordpress tecrübemden dolayı aşağıdaki karşılaştırma listesini yaptım ve kararımı Blogger yönünde verdim.

Wordpress'in avantajları:
  1. Eklenti ve tema zenginliği.
  2. Veri tabanının ulaşılabilir olması.
Wordpress'in dezavantajları:
  1. Sürekli yedekleme yapmak gerekli.
  2. Daha çok programcılık gerektiriyor.
  3. Veri tabanı hantal ve şişmeye müsait.
  4. Teması en az 5-6 PHP dosyasından oluşuyor ve yüklemeyi geciktiriyor.
Blogger'in avantajları:
  1. Barındırma işini kendi yaptığı için hosting gerektirmiyor.
  2. Resimler için çok ucuza ekstra alan alabiliyorsunuz.
  3. Kendi etki alanı adınız altında yayın yapabiliyorsunuz. (www.blogum.com)
  4. Google hizmeti olduğu için SEO olarak daha güçlü ve fazla emek gerektirmiyor.
  5. Teması tek bir XML dosyası olduğundan hızlı yükleniyor.
  6. Site üyelik sistemi çok iyi.
  7. Keni mailing sistemi var.
  8. Sanılanın aksine özelleştirmesi WP'ten daha kolay.
  9. Virüs bulaşmaz.
  10. Harici reklamlara izin veriyor.
Blogger'in dezavantajları:
  1. Ajax ve JS dosyaları ya da download dosyaları için bir hosting servisine ihtiyaç duyuluyor.
  2. Temaları çok zengin değil.
Netice olarak, yeni blog açacak arkadaşlara mutlaka Blogger'i öneriyorum. Hosting önünde sonunda bir yaramazlık çıkartıyor. Wordpress (hala çok sevmeme rağmen) artık hantal bir sistem.

Yakında WP'ten Blogger'a nasıl geçilir ayrıntılı olarak anlatacağım.