Ana içeriğe atla

Project: AutoPlan

PROJENİN AMACI : Bilgisayar ortamında mimari projeden otomatik olarak elektrik tesisat projesini çizdirmek.

PROJENİN HEDEFLERİ : Bilgisayar ortamında mimari projeden elektrik tesisat projesini çizdirip, zamandan tasarruf sağlamak.

Mimari bir proje çizilerek, üzerine elektrik tesisatını otomatik çizen program.

PROJENİN SÜRESİ : 4 Ay

PROJENİN SONUÇLARI : Elektrik tesisat projeleri üzerine çalışan insanların işlerini kolaylaştırmak, çizimde insan hatalarından kaynaklanan yanlışlıkların önüne geçmek.

KAYNAKÇA :

Elektrik-Elektronik Tek. alanı aydınlatma projeleri modülü.

Şimdi Microsoft Visual C++ Öğrenin (Chuck Sphar) kitabı.

DownloadAutoplan Setup

PROJENİN ÇALIŞMASI HAKKINDA GENEL BİLGİLER

Bu projede kat planı çizilen binanın, elektrik tesisat planını otomatik olarak çizebilecek bir yazılım geliştirmeye çalıştım. Böyle bir program kullanıcılara rahatlık sağlar ve önemli oranda zaman kazandırabilir.

Bu programın çalışabilmesi kat planından çıkarabileceği ipuçlarıyla mümkün olabilir. Kat planları aydınlatma projeleri için önemli ayrıntılara sahip olabiliyor. Örnek olarak:

Bu kat planında odalara yerleştirilecek lambalar zaten odaların orta noktalarına yerleştirilecektir.


Resim 1. Örnek Kat Planı

Bu lambalar için kullanılacak anahtarların oda girişlerine yakın noktalara ve kapılar açıldığında kapıların arkasında kalmayacak şekilde (kapı açıklığından 40 cm mesafede) yerleşmesi gerektiğinden kat planı anahtar konumları bilgilerini de verir.


Resim 1. Örnek Kat Planı

Prizler de anahtarlar için konabilecek yerler de dahil oda duvarlarının uygun değişik noktalarına hazırlanan program tarafından konabilir.


Resim 1. Örnek Kat Planı

Bu kurallar ışığında bu kat planı üzerinde çizilebilecek aydınlatma tesisatı şu şekilde çizilir.


Resim 2. Kat Planı Üzerinde Çizilmiş Aydınlatma Projesi

Kat planlarında banyo ve tuvalet gibi bölmeler de belirtildiğinden program tarafından elde edilen bu bilgiler sayesinde buralara yerleştirilecek lamba ve prizlerin farkı yine program tarafından çizilen aydınlatma projesinde belirtilebilir.

Kat planlarında mutfak tezgahı, banyo küveti, lavabo gibi gösterilen ayrıntılarla beraber programın nerelere priz koyması ya da kesinlikle koymaması gerektiği bilgisi program tarafından kat planından elde edilebilir. Böylece programın aydınlatma projesine katkısı daha da fazla olabilir.

Programın Görüntülü Anlatımı


Zamanın kısıtlı olması sebebiyle; diğer ürünler yanında tercih edilebilecek ve rahat kullanılabilecek bir ürün hazırlayamasam da, böyle bir programın geliştirilebilmesine yönelik fikirlerimin uygulanabilirliğini gösteren bir program hazırladım.

Kat Planı verildiğinde Aydınlatma projesini otomatik olarak çizdiğinden programa AutoPlan adını verdim.

Program Windows XP ve üzeri işletim sistemlerinde çalışabiliyor.

Kat planlarının yine bu program arayüzünde çizilmesi gerekmektedir.

Program Duvar, kapı, pencere ve kolon çizimine izin veriliyor.

Merdiven, mutfak, banyo tuvalet ve balkon ayrımına şimdilik izin vermiyor. Fakat programa yapılacak ilavelerle aynı algoritmalar temel alınarak bu ayrıma göre planın çizilmesi sağlanabilir.

Programla Çizilen Örneklerin Görüntülü Gösterimi


Programı kısa bir zaman diliminde hazırlamak zorunda olduğumdan bazı kısıtlayıcı şartlar altında çalışabilecek bir program hazırlayabilirdim. Bu program da şu tür yetersizliklere sahip.

Tasarlanan algoritmaların yetersizliklerinden kaynaklanan kısıtlayıcıların olması

Kullanıcı arayüzünün yetersizliklerinden kaynaklanan kısıtlayıcıların olması

Gizlenmemiş ya da engellenmemiş doğal kısıtlayıcıların olması

TASARLANAN ALGORİTMANIN YETERSİZLİĞİNDEN KAYNAKLANAN KISITLAYICILAR

Gerekli algoritmaları ve bunların uygulamasını daha kısa sürede gerçekleştirebilmek için bazı özel durumları dikkate almadım. Algoritmaların daha geniş perspektiften bakarak tasarlanmaması bazı kısıtlamaları beraberinde getiriyor. Örneğin:

Kat planlarında sadece düz duvarların olabileceğini kabul ettim. Çembersel duvarların olabileceği ihtimalini göz ardı ettim. Kullanıcı arayüzünde bunun için gerekli araç çubuğu düğmesine de yer vermedim.

Algoritmaları bir oda içinde başka bir odanın olmayacağını kabul ederek tasarladım. Onun için kat planlarında böyle bir durumun olmaması gerekir.


Resim 3. Oda İçinde Çizilmiş Başka Bir Oda

Her odaya sadece bir kapı açılabileceğini kabul ettim. (Bir odadan bir ya da daha fazla odaya kapı açılabilir. Program bu durumda çalışabiliyor.)


Resim 4. Bir Odaya Açılan Birden Fazla Kapı

Lamba konumlarını odaların dışbükey olduğunu kabul ederek hesaplattığımdan doğru hesaplanmış lamba konumları için odalar dışbükey olmalı. (L tipi odalar için lamba konumları yanlış bulunuyor.)


Resim 5. Dış Bükey Olmayan Oda (Örnek : L Tipi)

Programda aydınlatma hesabı yapılmıyor. Her odaya bir lamba yerleştiriliyor.

KULLANICI ARAYÜZÜNÜN YETERSİZLİĞİNDEN KAYNAKLANAN KISITLAYICILAR

Kullanıcı arayüzünde yetersizlikler var. Çünkü programı geriye dönük hiçbir işlemin yapılamayacağı, sadece düşündüğüm algoritmaların uygulanışını gösterecek şekilde hazırlayabildim. Mesela:

Kat planı çizilirken yapılan yanlış bir işlemin geri alınmasına, duvarların konum değişikliğine, kopyalanmasına, taşınmasına hatta çizilen bir duvarın silinmesine bile imkan verilmiyor.

Kullanıcının tesisat planındaki eleman yerleşimine müdahalesine izin verilmiyor. Planın çizilmeden önceki lamba, anahtar, priz yerleşimini kullanıcıya onaylatma ya da değiştirerek onaylatma özelliği yok.

GİZLENMİŞ YADA ENGELLENMİŞ DOĞAL KISITLAYICILAR

Programın kullanıcıya getirdiği kısıtlamalardan başka programın kontrolünü yapmadığı çok doğal bazı kısıtlayıcı durumların da göz önüne alınması gerekiyor. Çünkü program bu tür durumların olup olmadığını kontrol etmiyor ve anormal işlemlere izin veriyor. Sonrasında da uyguladığı algoritmalar işleyemiyor veya programın başarısız bir şekilde sonlanmasına ya da hiç sonlanamamasına sebep oluyor. Bu sebeple bu tür durumlara kullanıcının dikkat etmesi gerekiyor. Örnek olarak:

Birbiriyle örtüşen kapıların, pencerelerin bulunmaması gerekir.


Resim 6. Birbiriyle Örtüşen Kapılar veya Pencereler

Bir ucu boşta kalmış, diğer duvarları kesmeyen duvarlar olmamalı. Bu yüzden çizimlerin Snap To Grid (Giridlere kenetlenme) modunda yapılması faydalı olur.

 

Resim 7a. Uçları Boş Kalmış Duvar-1                    Resim 7b. Uçları Boş Kalmış Duvar-2

Çakışık duvarlar olmamalı. (Kesişen duvarlar olabilir.)


Resim 8. Çakışan Duvarlar

Bu kısıtlayıcı şartları kabullenerek programı kısa zamanda tamamladım.

Programın tesisat planını çizebilmesi için kat planında yeterli ayrıntının verilmesi gerekiyor.

Mutlaka kat giriş kapısının olması gerekir. Çünkü dağıtım kutusunun yerini giriş kapısının konumundan bulabiliyor.

Kat için olduğu gibi her oda için de odaya açılan bir kapı olması gerekiyor.

PROGRAM YAZIMINDA KULLANILAN ALGORİTMA MANTIĞI

Visual C++ program geliştirme aracıyla hazırladım.

Kat planları çizilirken beklenen genel durum duvarların bünyelerindeki yapı elemanlarıyla beraber oluşturdukları odalar dikkate alınmadan çizilmesidir. Bu sebeple AutoPlan’ın uygulayacağı algoritmaların uygulanmasına geçmeden önce bina içindeki duvarlar ait oldukları odalara göre gruplandırılmalıdır. Başka bir ifadeyle duvarlardan oluşan kat planının duvarlardan oluşan odalar ve odalardan oluşan kat planı haline dönüştürülmesi gerekir.

Örneğin Şekil 9’daki gibi çizilen bir kat planı için R1 odasının duvarları = {(1-2), (2-7), (7-6), (6-5), (5-1)} şeklinde bir gruplandırma yapılmalıdır.


Şekil9. Odalar ve duvarları.

Bu işlemden sonra her odanın ayrı ayrı köşe noktalarının koordinatlarından faydalanarak köşe noktalarının ağırlık merkezi bulunur.

Böylece lamba koordinatları bulunmuş olur.

Sonra her oda için duvarlardaki kapılara bakılır. Kapıların yönlerine bakılır. Yönü odanın içerisine olan kapı hangisiyse o kapının açıklığından duvar doğrultusunda 40 cm ilerlenir. Bulunan nokta başka bir kapı ya pencereye dek gelmiyorsa o nokta anahtar noktası olarak bulunmuş olur.

Eğer o nokta bir kapı ya da pencereye dek geliyorsa o odadaki bir sonraki uygun yer hangi kapı ya da pencereye dek gelmişse o duvar elemanının 40 cm ötesi olarak belirlenir. Aynı şekilde bu noktada uygunluk testine tabi tutulur. Uygun nokta bulununcaya kadar bu işleme devam edilir ve anahtar noktası bulunmuş olur.

Anahtarın bulunmasında olduğu gibi anahtarında 40 cm ilerisinde priz yeri aranır. Aynı yöntem ile priz noktası bulunur.

Bulunan anahtar noktasıyla kuş bakışı aynı nokta buvat konumu olarak belirlenir.

Anahtar ve prizler duvarın üstü yerine duvara göre 50 cm daha oda içinde çizilir.

Anahtar ve prizler her oda için bulunan buat ile birleştirilir.

Hangi odaya dışardan kapı ile giriş varsa o odada anahtarda olduğu gibi kapı açıklığından 1.5 m. uzakta dağıtım kutusu yeri aranır.

Düğüm noktaları duvarların köşeleri ve bağlantıları da duvarlar olacak şekilde temsil edilen bir grafik yapısı üzerinde uygulanan en kısa yol algoritmaları ile bütün buatlardan dağıtım noktası çizilecek bağlantıların köşe noktaları bulunmuş olur. Bu köşe noktaları da birleştirilerek aydınlatma projesi çizilmiş olur.

Yorumlar

Bu blogdaki popüler yayınlar

Basit ve Dinamik Disk Nedir? Birbirine Nasıl Dönüştürülür?

Sabit diskler Windows 2000 işletim sistemine kadar sadece temel disk (basic disk) olarak ayarlanabiliyordu. Temel disk en fazla 4 birincil bölüm (primary partition) veya 3 primary ve 1 genişleyebilir bölüm (extended partition) şeklinde yapılandırılabilir. Bir temel diskte sadece 1 tane extended partition oluşturulabilir ve sadece primary partitionlara işletim sistemi kurulabilir. Windows 2000 ile gelen dinamik disk teknolojisi, Windows 2000 den sonraki tüm Windowssürümlerinde kullanılabilmektedir. Dinamik disk kavramıyla bölüm (partition) kavramı yerinihacim (volume) kavramına bırakmıştır. Dinamik disklerde, temel disklerde olduğu gibi bir sınırlama yoktur. İstenildiği kadar volume oluşturabilir, temel disk istenirse dinamik hale getirebilir ve bu işlem esnasında herhangi bir veri kaybı yaşanmaz. Fakat dinamik diskler temel diske çevirildiğinde bir veri kaybı söz konusu olacaktır. Temel diskin bilgileri kayıt defterinde tutulur. Dinamik diskin bilgileri kendi üstünde tutulur.

Einstein'in Rölativite Kuramına Bakış

Bu yüzyılın başlarında kuramsal fizikte altın çağ başladığı zaman, adı henüz bilim dünyasında duyulmamış bir fizikçi vardı. Bu, Annalen der Physık’in 1905 tarihli sayısında fotoelektrik olayı, Brown hareketi ve özel görelilikle ilgili ünlü üç çalışmasını birden yayınlayarak üne kavuşan Albert Einstein’dır. Onun fizikteki hayat boyu çalışmaları bilimin felsefesi ve yöntemleri üzerinde büyük etki yaptı. Einstein’ın kendisi bilimci filozoftu. Bu yüzyılın başlarında kuramsal fizikte altın çağ başladığı zaman, adı henüz bilim dünyasında duyulmamış bir fizikçi vardı. Bu, Annalen der Physık’in 1905 tarihli sayısında fotoelektrik olayı, Brown hareketi ve özel görelilikle ilgili ünlü üç çalışmasını birden yayınlayarak üne kavuşan Albert Einstein’dır. Onun fizikteki hayat boyu çalışmaları bilimin felsefesi ve yöntemleri üzerinde büyük etki yaptı. Einstein’ın kendisi bilimci filozoftu. O, hayranlık uyandırıcı bir şekilde felsefeyi kullanarak bugün modern bilimin önemli bir kısmı olan buluşlarını

Rubik Küp Nasıl Çözülür?

Rubik küp 3x3x3 veya 4x4x4 gibi karesel formatta ve her kenarı farklı renkte olan bir küptür. Bu küpün; sabır küpü, sinir küpü, zekâ küpü, renk küpü, Rubikin küpü, sihirli küp (magic box), 3d Puzzle, gibi birçok değişik adı vardır. Unutulmamalıdır ki küpün çözümü için geliştirilmiş bir algoritma vardır. Bu küp ezbere çözülemez. Bu yazıda sizlere küpün en yaygın çözümü anlatılacaktır. Hata yaptığınız yerde hatayı düzeltmeye çalışmayın belirtilen algoritma çerçevesinde çözüme baştan başlayın. Hala küpü çözemediyseniz buradaki yazımızda belirtilen otomatik çözen programları deneyebilirsiniz. Öncelikle bilmeniz gerekenler: Küpün parçaları birbirinden bağımsız değildirler. Küpün orta noktası daima sabittir. Küpü ne kadar çevirirseniz çevirin değişmezler. Kırmızının karşısında daima turuncu, yeşilin karşısında mavi, sarının karşısında beyaz vardır. Bir küp, toplam 26 adet parçadan oluşmaktadır: 8 adet üç renkli köşe parçası, 12 adet iki renkli parça ve 6 adet de sabit tek ren