Bilgisayar Destekli Celik Yapi Tasarimi Computer Aided Structural Design

August 17, 2017 | Author: Ali Kandemir | Category: N/A
Share Embed Donate


Short Description

Download Bilgisayar Destekli Celik Yapi Tasarimi Computer Aided Structural Design...

Description

Bilgisayar Destekli Çelik Yapı Tasarımı Onur Tunaboyu YÜKSEK LİSANS TEZİ İnşaat Mühendisliği Anabilim Dalı Ekim 2007

Computer Aided Structural Design Onur Tunaboyu MASTER OF SCIENCE THESIS Department of Civil Engineering October 2007

Bilgisayar Destekli Çelik Yapı Tasarımı

Onur Tunaboyu

Eskişehir Osmangazi Üniversitesi Fen Bilimleri Enstitüsü Lisansüstü Yönetmeliği Uyarınca İnşaat Mühendisliği Anabilim Dalı Yapı Bilim Dalında YÜKSEK LİSANS TEZİ Olarak Hazırlanmıştır

Danışman: Doç. Dr. Nevzat Kıraç

Ekim 2007

Onur Tunaboyu’ nun YÜKSEK LİSANS tezi olarak hazırladığı “Bilgisayar Destekli Çelik Yapı Tasarımı” başlıklı bu çalışma, jürimizce lisansüstü yönetmeliğinin ilgili maddeleri uyarınca değerlendirilerek kabul edilmiştir.

Üye : Doç. Dr. Nevzat Kıraç

Üye : Prof. Dr. Hasan Gönen

Üye : Prof. Dr. Eşref Ünlüoğlu

Üye : Y. Doç. Dr. Mizan Doğan

Üye : Y. Doç. Dr. Necati Mahir

Fen Bilimleri Enstitüsü Yönetim Kurulu’nun ............................. tarih ve ...................... sayılı kararıyla onaylanmıştır.

Prof. Dr. Abdurrahman KARAMANCIOĞLU Enstitü Müdürü

v ÖZET

Çelik yapıların hesap ve projelendirme aşaması baştan sona uzun hesaplar yapılması gerektiğinden dikkat istemektedir. Ne kadar dikkat edilirse edilsin uzun zaman harcanacağı için hata yapmak kaçınılmazdır. Kesitlerin taşıma kapasiteleri, emniyet gerilmelerini aştığı durumlarda, aynı hesapların tekrar yapılması gerektiğinden çelik yapı tasarımında bilgisayar kullanımı mutlaka gerekmektedir.

Kullanıldığı

takdirde zamandan tasarruf sağlanacağı gibi hesaplar daha güvenilir olacaktır. Bu çalışmada bilgisayar kullanımını en üst düzeyde tutarak, daha az zamanda daha doğru sonuçlara ulaşılmaya çalışılmıştır. Bunu başarabilmek için Microsoft Excel programı kullanılarak tablolar oluşturulmuş ve buralarda işlemler yaptırılmıştır. Bazı yerlerde makrolar kullanılarak Excel programına ek özellikler kazandırılmıştır. İzlenen diğer bir yol ise SAP2000 programının işlem sonuçlarını alarak hesap yapabilen makrolar oluşturulmuştur. Son olarak Microsoft Visual Basic 2005 Express Edition ile program yazarak tekrarlı hesapları yapmadan sonuca ulaşılmaya çalışılmıştır.

.....................................................................

Anahtar Kelimeler: Bilgisayar destekli, çelik yapı, tasarım

vi SUMMARY

Steel structures need a lot of attention because calculation takes alot of time . Although we pay attention to the calculations we spend a lot of time and some mistakes can be appeared. If the section can not carry the loads we must choose bigger section and calculations need a revision with the same calculations. So computers must be used during the calculations. By this way calculations can make rapidly. In this study, we try to use the maximum level of computer program usage to reach the true results in a quick time. To succeed it, we use Microsoft Excel to create tables and made it some calculations. We add some macros to add some special features to Microsoft Excel. The other way is, we write a macro to use the outputs of SAP2000 program to make true results in a short time. The last way is, we write a program with Microsoft Visual Basic 2005 Express Edition not to make repetition calculations to reach the results.

.....................................................................

Keywords: Computer Aided, steel structure, design

vii TEŞEKKÜR

Çalışmalarım boyunca değerli yardım ve katkılarıyla beni yönlendiren tez danışmanım Sayın Doç.Dr. Nevzat Kıraç’a, tezin ilerlemesinde katkıda bulunan Yrd.Doç.Dr. Mizan Doğan’a ve diğer tüm bölüm hocalarıma, yine kıymetli tecrübelerinden faydalandığım İnşaat Yüksek Mühendisi Adnan Şirin’e, İnşaat Yüksek Mühendisi Mukaddes Diker’e, ayrıca destekleriyle katkıda bulunan arkadaşlarıma, manevi destekleri ile beni hiçbir zaman yalnız bırakmayan çok değerli aileme teşekkürü bir borç bilirim.

viii

İÇİNDEKİLER Sayfa ÖZET………………………………………………………………………………..

V

SUMMARY…………………………………………………………………………

VI

TEŞEKKÜR………………………………………………………………………… VII ŞEKİLLER DİZİNİ…………………………………………………………………

X

ÇİZELGELER DİZİNİ……………………………………..……………………....

XII

SEMBOLLER DİZİNİ…………………………………………………………...... XIII

1.GİRİŞ……………………………………………………………………………...

1

2.YAPI MALZEMESİ OLARAK ÇELİĞİN ÖZELLİKLERİ……………………...

6

3.ÇELİK YAPILARIN KULLANIM ALANLARI…………………………………

11

4.BİLGİSAYAR DESTEKLİ ÇELİK YAPI TASARIMI…………………………… 13 4.1.Bilgisayar Desteğinin Kazandırdıkları ………………………………....... 13 4.2.İnşaat Mühendisliğinde Bilgisayar Uygulamaları………………………... 15 4.3.Bilgisayar Destekli Çelik Yapı Tasarımı………………………………… 16 4.4.Çelik Yapılarda Hesap Adımları…………………………………………. 16 4.4.1.Modüller kullanarak tasarım…………………………………..

17

4.4.2.Diğer programlardan veri alarak tasarım………………………

18

4.4.3.Hesap kolaylığı sağlayacak küçük yazılımlar yazarak tasarım .

19

4.4.4.Paket program kullanarak tasarım……………………………..

24

5.BİLGİSAYAR DESTEKLİ ÇERÇEVE HESABI PROGRAMI ………………..

28

5.1.Programın Kullanılması ve Hesap Yöntemleri ………………...............

30

5.2.Örnekler ……………………………………..…….…………...............

59

5.2.1.Örnek 1 ……………………………………………………….

59

ix İÇİNDEKİLER (devam) Sayfa 5.2.2.Çözüm 1 ……………………………………………………...

59

5.2.3.Örnek 2 ………………………………………………………

62

5.2.4.Çözüm 2 ……………………………………………………...

62

5.2.5.Örnek 3 ……………………………………………………….

66

5.2.6.Çözüm 3 ……………………………………………………...

66

5.2.7.Örnek 4 ……………………………………………………….

69

5.2.8.Çözüm 4 ……………………………………………………...

70

5.SONUÇ VE ÖNERİLER…………………………………………………………

71

6.KAYNAKLAR……………………….……………………………………………

73

5

x

ŞEKİLLER DİZİNİ Sayfa

Şekil 1.1

Çerçeve programı akış diyagramı ..……….……………………………….

5

2.1

Gerilme – Uzama diyagramı ………...…………………………………….

6

3.1

Çeşitli çelik yapı sistemleri ..………...………………………..…………...

12

4.1

Gezer vinç ana menü ……..……………….……………………………….

20

4.2

Tekerler etkileri menü…...……………………………………………..…..

21

4.3

Gezer vinç hesapları …………..…...…………………………………..…..

21

4.4

Gezer vinç kirişi I profili ve takviye levhası seçimi ……………………....

22

4.5

Gezer vinç kirişi üretilen kesit seçimi ……………………………….……..

23

4.6

Uyarı mesajı …………...………………………………………….………..

23

4.7

Gerilme ve sehim tahkikleri ..…………………..…………………………..

24

4.8

ÇelikPro2006 ile çözülebilen çatı şekilleri ……….……...………………..

25

5.1

Çerçeve program girdileri menüsü ………..……….……...……………....

31

5.2

Çerçeve program profil seçim menüsü …..……….…….…..……………..

32

5.3

Çerçeve program aşık yükü hesabı menüsü ……….…….…..…………....

33

5.4

Çerçeve programı yapılan statik hesaplar listesi ……….……..…………..

34

5.5

Birim yüklemede oluşan uç kuvvetler …………………………………….

35

5.6

Çubuk elemanındaki kuvvetler …………..……….…….………..………..

37

5.7

Dizaynda kullanılacak moment hesabı …..……….…….……..………......

42

5.8

Kesit kontrolü menüsü …………………..……….…….………..………..

44

5.9

Sistem bilgileri menüsü ……..…..………..……….…….………..……....

46

5.10

Maksimum momentin oluştuğu nokta …..……….…….…………..……..

47

5.11

Moment diyagramının hesaplanması ……..……….…….…………..…....

48

5.12

Moment diyagramının ekrana getirilmesi …….…….………………..…...

49

5.13

Normal kuvvet diyagramının ekrana getirilmesi .…….……………….......

50

5.14

Kesme kuvveti diyagramının ekrana getirilmesi .…...….……………….....

51

5.15

Deplasman şemasının ekrana getirilmesi ..……….…..….……………......

52

5.16

Birleşim hesabı menüsü …………….......……….……...…………………

53

xi

ŞEKİLLER DİZİNİ (devam) Sayfa

Şekil 5.17

Birleşim hesabı raporu …………...……....……….……...……………......

54

5.18

SAP2000 dışardan bilgi okunabilen dosya listesi …….…..……………….

56

5.19

SAP2000 dışardan bilgi okunması tamamlandı ….…….…..………….......

57

5.20

SAP2000 ile sistem oluşturuldu ……......……….…….……..…………….

57

5.21

Program hakkında menüsü ……...……....……….…….……..……….......

58

5.22

Örnek1 bilgi girişi ………………….......……….…….………………......

59

5.23

Örnek1 sistem bilgisi …………….……....……….…….……………........

60

5.24

Örnek1 normal kuvvet karşılaştırması ....……….………………………..

60

5.25

Örnek1 kesme kuvvet karşılaştırması …....…….…….……………...........

61

5.26

Örnek1 moment karşılaştırması ……......…….…….……………………..

61

5.27

Örnek2 bilgi girişi ……………….……....……….….…………….............

63

5.28

Örnek2 sistem bilgisi …………….......……….…….……………………..

64

5.29

Örnek2 normal kuvvet karşılaştırması ......…….…….…………….............

64

5.30

Örnek2 kesme kuvvet karşılaştırması .....…….…….……………………...

65

5.31

Örnek2 moment karşılaştırması ..……....…….…….…………….............

65

5.32

Örnek3 bilgi girişi ……………….......……….…….……………………...

67

5.33

Örnek3 aşık yükü hesabı ……....…….…….……………...........................

67

5.34

Örnek3 yetersiz kesit kontrolü ….....…….………….……………………..

68

5.35

Örnek3 yeterli kesit kontrolü …..……....…….…….……………...............

68

5.36

Örnek4 kaynak boyları hesabı …...……....…….…….……………............

70

xii

ÇİZELGELER DİZİNİ Çizelge

Sayfa

2.1

Çekme, basınç ve eğilme için emniyet gerilmeleri ……..………………….

7

2.2

Kayma için emniyet gerilmeleri …… .………...…………………………..

7

4.1

Kafes kiriş elemanları için elverişsiz tesirlerin seçilmesi ………………….

18

5.1

Eleman rijitlik matrisinin oluşturulması ………...……..…………………..

36

5.2

Sistem rijitlik matrisinin oluşturulması ………...…………………………..

40

5.3

Transformasyon matrisi .………………………..……………………….....

40

5.4

Örnek1 sonuçlarının SAP2000 ile karşılaştırılması …………………….....

62

5.5

Örnek2 sonuçlarının SAP2000 ile karşılaştırılması …………………….....

66

5.6

Deplasmanların SAP2000 ile karşılaştırılması ………………………….....

69

xiii

SEMBOLLER DİZİNİ Simgeler

Açıklama

A

Alan

E

Elastisite modülü

G

Kayma modülü

f

Sehim

i

Atalet yarıçapı

J

Atalet momenti

l

Eleman boyu

lk

Burkulma boyu

M

Moment

N

Normal kuvvet

S

Statik moment

q

Yayılı yük

u

Deplasman

V

Kesme kuvveti

W

Mukavemet momenti

α

Çerçeve sol eleman açısı

β

Çerçeve sağ eleman açısı

λ

Narinlik katsayısı

σ

Gerilme

σem

Emniyet gerilmesi

ω

Burkulma katsayısı

1 1. GİRİŞ Ülkemizde inşaat mühendisliği denildiğinde akla betonarme yapılar gelse de, son yıllarda çelik yapıların da üstün özelliklerinin fark edilmesiyle önemi artmaya başlamıştır. İstenilen düzeye gelememesinin sebebi ise bilgi ve deneyim eksikliğinden kaynaklanmaktadır. Bilgi edinmek yerine taşıyıcı sistem malzemesi olarak betonarmeyi seçmek yapı malzemesi olarak çeliğin kullanılmasını engellemektedir. Türkiye’de çelik inşaatın toplam inşaat içindeki payı, çok küçüktür. Bu oranın büyük bölümünü endüstri yapıları, büyük açıklıklı çatılar ve köprüler oluşturmaktadır.

Çok katlı çelik yapı

uygulamaları ise yok denecek kadar azdır. Çok katlı yapılardaki uygulama azlığı, betonarme sistemle aynı yapının daha az maliyetle yapılabileceği düşüncesinden kaynaklanmaktadır. Bu düşünce, sıradan bir betonarme yapı için kabul edilebilirse de, depreme dayanıklı olarak projelendirilmiş, proje her bakımdan sıkıca denetlenmiş ve projesine uygun olarak inşa edilen betonarme bir yapının çelik yapı kadar maliyetli olabileceği de bir gerçektir (Yardımcı, 2005) [1].

Yönetmeliklerdeki eksiklikler,

tecrübeli mühendis sayısının az olması, çizilen projenin sahada nasıl uygulanacağının bilinmemesi gibi nedenlerle zorluklar daha proje aşamasında başlar. Bu gibi zorluklarla başlayan proje uygulama aşamasına gelindiğinde zorluklar artarak devam eder. Ülkemizdeki uygulama azlığı nedeniyle projeyi uygulayan teknik eleman sayısı da azdır. Bölüm2’de çeliğin özelliklerine değinilerek, özellikleri bilinen malzeme hakkında daha doğru kararlar vererek daha verimli sonuçlara ulaşabilineceği düşünülmüştür.

Hangi özellikli yapılarda çeliği kullanmak, diğerlerine göre daha

avantajlı olunur konusunda bir fikir edinilmeye çalışılmıştır. Bu özellikler de göz önüne alınarak ülkemizde yapı malzemesi olarak çeliğin kullanılması hangi alanlarda daha fazla gözlendiği bölüm3’te açıklanmaktadır.

Bütün bu maddeler doğrultusunda

oluşturmak istediğimiz bir çelik yapının hangi aşamalarında bilgisayar desteği kullanılabilineceği bölüm4’te anlatılmıştır. Bölüm5’te ise günlük hayatta sık olarak karşılaşılabilinen, tekrarlı olarak fakat bazı kıstasların değişerek hesap yapılmasını gerektiren durumlarda kullanılması için oluşturulan çerçeve programı anlatılmış ve örnek çözümler yapılmıştır.

2

Bir çelik yapı oluşturmak istendiğinde zorluklar daha proje aşamasında başlamaktadır. Projelendirmenin ilk aşaması olan taşıyıcı sistem seçimi için tecrübeye ihtiyaç vardır. Hangi açıklıklı, hangi tür yükleri ekonomik ve güvenli olarak tahmin etmek için, her tür yapıyı çözmek ve en güvenli ve ekonomik olanına karar vermek doğru bir çözüm olmayacaktır.

Hele bu çözüme elle hesaplar yapılarak ulaşıldığı

düşünülürse, teknik çizim aşamasına aylar sonra geçilebilinir. Her sistemi çözmek yerine belli başlı sitemlerin çözülmesi bile bu süreyi çok uzatır. İşte bu aşamada bilgisayar desteğinden faydalanılabilinir. Çünkü hazır bir paket programda, çok özel sistemler olmadıkça, günlük hayatta sık karşılaşılan yapı tiplerini saniyeler içinde çözebilirler.

Sistem modelini doğru bir şeklide bilgisayara tanıttıktan sonra, yapı

özelliklerine göre yük bilgilerini de programa tanıttıktan sonra hesapların yapılıp, emniyet gerilmelerini aşan kesitlerin, hatta hangi elemanların diğerlerine göre daha fazla zorlandığının ekrana getirilmesi, bilgisayarların hızlanması ile saniyeler sürmektedir.

Bu aşamadan sonra, güvenli olmayan kesitler değiştirilerek tüm

yönetmelik şartlarını sağlayan sistemler oluşturulur ve yapı maliyet karşılaştırmasında en geçerli yöntem olarak kullanılan metrajın ekrana getirilmesi ile sistem seçimi ile veriler elde edilmeye başlanır. Böylece bilgisayar desteği ile sistem seçimine doğruya en

yakın

seçimde

karar

vermek

için

harcanması

kıyaslanamayacak kadar az bir zamana indirilmiş olunur.

gereken

zaman

dilimi

Taşıyıcı sisteme karar

verilmesiyle daha hassas hesaplarla hesap sonucuna ulaşılır. Hesap sonuçlarına göre sistemin iki boyutlu teknik çizimlere dönüştürülme süreci ise başlı başına zaman almaktadır. Hesap sonuçları çok iyi irdelenerek, çizimler doğru bir şekilde ve eksiksiz olarak oluşturulmalıdır. Yerinde uygulanacak sistem, birebir projede çizili olan sistem olacağı için çizimlerde hassas davranılmalıdır. Çizimlerin ölçekli olarak çizilmesi de, uygulama aşamasında üst üste çakışan bir detayın kağıt üzerinde fark edilerek tedbirin önceden alınmasını sağlamaktadır. Bu işlem bilgisayar ortamında sağlandığında daha hızlı ve daha hatasız olarak meydana gelmektedir. Hatta çizimler hesapların yapıldığı paket programlar kullanılarak hazırlandığında, birebir hesaplanan değerlere göre çizim yapılacağı için çizim hatası sıfıra yakın olarak oluşturulmaktadır.

Çizimlerin

tamamlanmasıyla uygulama aşamasında kullanılmak üzere verilmesi gereken ölçü bilgileri de programlar tarafından eksiksiz olarak çizimlere eklenmektedir.

3

Bazı mühendisler ise belli başlı sistem çözüm ve çizimleri yapabilen paket programlar yerine, tüm yapı türlerini çözebilen programları tercih etmektedirler. Hesap yöntem ve sonuçlarının doğruluğunu, dünyanın kabul ettiği programlarla hesaplarını yaparlar. Bu programların ise eksikliği, tüm ülkelerdeki yönetmeliklere göre hesap yapmamalarıdır. Bu yöntemle hesap yapan projeci, kullanması gereken yönetmeliğin hesaplarına yakın bir hesap yöntemi olan yönetmeliği seçerek sonuca yaklaşır. Programın işine yaradığı hesap sonuçlarını alarak, eksik ya da farklı bir yöntemle hesaplanan sonuçları kendisinin yapması gerekir. İşte bu aşama da bir projeci için zaman alan ve hataya açık bir süreçtir. Sonuçların alındığı programa sistem doğru bir şekilde modellenmelidir ki alınan sonuçlar doğru olsun. Doğru bir modelden sonra her eleman için sonuçlar ayrı ayrı okunurken gözden kaçabilecek küçük bir hata hesapların tekrarlanmasına neden olabilmektedir.

Sonuçlar hatasız alınsa bile yönetmeliğin

gerektirdiği hesaplar sonucunda herhangi bir kesitin güvensiz çıkması, hesapların modelleme aşamasından başlayarak tekrarlanmasına neden olabilmektedir. Bu gibi durumlar için de bilgisayar desteği kullanılabilinmektedir. Yönetmeliğin gerektirdiği hesapları yapan elektronik tablo dosyaları oluşturulabilineceği gibi, program sonuçlarını okuyup, hesaplar yapabilen küçük yazılımlar oluşturulabilinmektedir. Bölüm 4.4.2 de bu gibi durumlar için SAP2000 programından kesit tesirlerini okuyabilen bir yazılım oluşturulmuştur.

Bu küçük programla SAP2000 program çıktıları okunarak Excel

programındaki hücrelere yazdırılmaktadır. Alınan bilgiler başka herhangi bir hesaba katılmamıştır, ancak bu bilgilerin kullanıldığı her türlü hesap için kullanılabilir hale gelmiştir. Bazı durumlarda ise yapının belli kısımları yapıdan bağımsız olarak çözülmesi daha uygun olmaktadır. Örneğin sanayi yapılarında sık olarak görülen gezer vinç hesabı, yapıdan bağımsız olarak çözülüp hesap sonuçları sisteme sonradan etki ettirilebilir. Bu gibi ayrı durumlar için de hesap hızını ve güvenliğini arttırmak için küçük yazılımlar yazılabilinir. Bölüm 4.4.3 de bir örneği bulunan yazılım, gezer vinç hesabını sık olarak görülen durumları çözebilmek için yazılmıştır. Programda gezer vinç özelliklerini verdikten sonra, seçilen kesitlerin emniyet gerilmelerini geçip geçmediği hesaplanıp bir rapor hazırlanmaktadır.

4

Son yöntem ise çok özel bir yapı çözümü için program yazılmasıdır. Bölüm5’te bir örneği bulunan bu yöntemin kullanılma amacı, paket programlar olmadan el ile hesap

yapılabilen

yöntemlerde

zaman

ve

hız

kazanmak

için

programlar

hazırlanabileceğini göstermektir. Farklı sistem bilgilerini, farklı yükleme şekillerinin hesapları yapılamasa da sık olarak karşılaşılan sistem ve yükleri çözebilmektedir. Programı oluşturmaya başlamadan hesap yöntemleri iyi kavranmış, hangi bilgiler verildiğinde sonuca ulaşılacağı düşünülmüş, bunlara göre program girdileri menüsü oluşturulmuştur. Programdan beklenecek hesap çıktı sonuçlarına karar verilmiş ve buna göre görevleri başlatacak düğmeler belirlenmiştir. Hesap yöntemleri ilgili kitap ve yönetmeliklerden araştırılarak, sonuca ulaştıracak en doğru ve en kolay yöntem seçilmiştir.

Programla değişik ölçülerdeki çerçeve sistemine, çatıda yayılı yükler

yükleyerek, sistemin iç kuvvetler diyagramları çizdirilebilinmektedir. Seçilen kesitler gerilme kontrollerini sağlayıp sağlamadığının kontrolleri yapılabilindiği gibi hesapların güvenli çıkması muhtemel kesitlerde program tarafından önerilebilinmektedir. Programda köşe birleşim noktası kaynak bilgileri verildikten sonra, kaynak kontrolleri de yapılabilinmektedir. Yapılan tüm hesaplar kullanıcıya bilgi vermek için rapor haline getirilebilinmektedir. Kullanıcının yapması muhtemel hataların yapılıp yapılmadığı kontrol edildikten sonra, yapıldıysa uyarı ekrana getirilerek hesaplara başlanmaktadır. Çözülen sistem kontrol edilmek için SAP2000 programının modeli tanıyabileceği S2K dosya formatında hazırlanarak, SAP2000 ile kontrollerin çok kısa bir sürede yapılması sağlanmıştır. Bu yöntem geliştirilerek daha karmaşık sistemlerin SAP2000 programı ile çok kısa sürede ve hatasız olarak eksiksiz bir biçimde modellenmesi sağlanılabilinir. Akış diyagramı Şekil 1.1 de görülen program bir çok hesabı saniyeler içinde yaparak çözümlere hız kazandırılmıştır.

Proje hazırlanmasında ayrı bir süreç olan rapor

hazırlama süresini ise çok kısaltmaktadır. Bu çalışmada, bilgisayar desteğini en üst düzeyde tutarak hesaplara hız ve güvenlik katmak için neler yapılabilineceği araştırılmıştır.

Bu kapsamda özel

sistemlerin çözümleri için yazılımlar oluşturulmuştur. Çok geniş bir uygulama alanına sahip olan çelik yapının, sınırlı bir çalışma ile yapının baştan sona çözülebilinmesi amaçlanmamıştır. Buradaki esas amaç bazı hesap yöntemlerini kullanarak ya da bir

5 araya getirerek, gündelik hayatta sık olarak karşımıza çıkabilecek hesap yöntemlerinin en az hatayla ve en kısa sürede çözebilecek yöntemler haline getirilmesi sağlanmıştır. BAŞLA

Ana Menü

İşlem

Kesit Seç Menüsü

Yük Seç Menü

Ana Menü

Ana Menü

DUR

DUR

Hesapla

Kesit Kontrolü

Grafik Menüsü

SAP2000 Aktar

Rapor Hazırla

Ana Birleşim Ana Menü Hesabı Menü

Ana Menü

Ana Menü

DUR

DUR

DUR

DUR DUR

DUR

Şekil 1.1 Çerçeve programı akış diyagramı

6

2. YAPI MALZEMESİ OLARAK ÇELİĞİN ÖZELLİKLERİ Doğada cevher halinde bulunan demirin, dövülerek, preslenerek veya haddeden geçirilerek şekil alabilen haline çelik denir. Yapı malzemesi olarak kullanılabilinen çelik, tüm özellikleri her yön ve doğrultuda aynı olan izotrop ve homojen bir malzemedir.[5]

Piyasada yaygın olarak kullanılan çelik malzemelerinin elastisite

modülü (E) değeri 2.1x106 t/m2, kayma modülü (G) 8.1x105 t/m2 ısı genleşme katsayısı 12x10-6 dır. [2] Yapı malzemesi olarak kullanılan çeliğin, çeşitli kuvvetler altındaki dayanımları, malzemenin akma sınırı, çekme mukavemeti, ve sertlik özelliklerinden yararlanılarak elde edilir. Çubuk şeklindeki numune yavaş yavaş artan çekme kuvveti uygulanarak numunedeki boy değişimi ölçülür. Buradan elde edilen sonuçlardan grafik çizilerek kuvvet - uzama diyagramı elde edilir.

Aynı sonuçlardan istenirse de şekil 2.1’de

görülen gerilme uzama diyagramı da çizilebilir.

Şekil 2.1 Gerilme - Uzama Diyagramı [8]

7 Bu grafiklerden çeliğin akma sınırı ve çekme mukavemet değerleri elde edilir. Bunun yanında kopma uzaması, elastik uzama ve kalıcı uzama değerleri de grafikte görüldüğü üzere elde edilmektedir. Çeliğin akma üst sınırına ulaşmadan gözlenen lineer bölgedeki doğrunun eğimiyle çeliğin elastisite modülü hesaplanmaktadır. Deformasyonların gerilmelerle orantılı olduğu bu bölge içinde uygulanan kuvvetlerin kaldırılması durumunda, o ana kadar gözlenen tüm deformasyonlarda ortadan kalkar ve cisim yük uygulanmamış ilk haline geri döner.

Çeliğin akma sınırına gelmeden

gösterdiği deformasyona elastik deformasyon adı verilir (Karaduman, 1999) [3]. Bu sınırın aşılmasıyla gözlenen deformasyonlar kalıcı olacağı için çizelge 2.1 ve çizelge 2.2’de görülen emniyet gerilmeleri akma sınırına göre tespit edilmiştir (Erşen) [4]. Çizelge 2.1 Çekme, basınç ve eğilme için emniyet gerilmeleri ÇELİK CİNSİ

σF (kg/cm2)

σem (kg/cm2) (H)

σem (kg/cm2) (HZ)

ST37

2400

1400

1600

ST52

3600

2100

2400

Çizelge 2.2 Kayma için emniyet gerilmeleri ÇELİK CİNSİ

σem (kg/cm2) (H)

σem (kg/cm2) (HZ)

ST37

900

1050

ST52

1350

1550

Şekil 2.1’deki grafiği incelediğimizde cisim σp değerine kadar elastik deformasyon özelliğine sahiptir.

σp değerinden büyük gerilemelerde bir süre daha

elastik deformasyon gözlenmeye devam eder ancak bu deformasyon şekli artık lineer değildir.

Şekil 2.1’ deki grafikte görülen F noktasından sonra yüklemeye devam

edilirse gerilmede bir artış olmadığı halde, deformasyonun artmaya devam ettiği akma olarak adlandırılan olay gözlenmektedir. Bu değere akma sınırı denilmektedir. Yükü grafikte görülen C noktasında çektiğimiz zaman, lineer bölgeye paralel bir çizgi çizerek elde ettiğimiz C’ noktası bize plastik şekil değiştirme miktarını gösterir. Yüklemeye

8 devam edildiğinde B noktasından sonra gerilme azalmakta fakat şekil değiştirmeler devam etmektedir. Bir müddet sonra ise malzeme kopmaktadır. Sünek bir malzeme olan çeliğin büyük bir şekil değiştirme sığası vardır. Çeliğin betonarmeye göre daha sünek bir malzeme olması, depremde enerji yutması deformasyona uğrasa bile yıkımın olmamasını sağlar. Çeliği diğer yapı malzemeleri ile karşılaştırdığımızda çelik kullanımının avantajları aşağıdaki gibi sıralanabilir : a) Yüksek dayanımlıdır. Öz ağırlığının taşıdığı yüke oranı çok küçük olduğu için yapı ağırlığı betonarme yapıya göre daha azdır. Bu sayede temelin taşıması gereken yükler de azalacağından özellikle kötü zeminlerde temel maliyetlerini oldukça azaltır. Bunun yanında, hafif yapıya etki eden deprem yükleri de azalacağından, çelik, betonarmeye göre deprem davranışı açısından da üstünlük sağlayacaktır. b) Elastisite modülü betonarme ile karşılaştırıldığında çok yüksek olduğu için dinamik yüklere ve sehim problemi olan taşıyıcı elemanlarda daha ekonomik boyutlandırma sağlar. c) Çekme ve basınç dayanımları birbirine eşit olduğundan mimari tasarımda avantaj sağlar. d) Sünek davranış gösterdiğinden şekil değiştirme kapasitesi yüksektir. Bu özelliği ile beklenmeyen yük durumlarında avantaj sağlar. e) Yanmaz ancak dezavantaj olarak yangından etkilenir. Ancak gerekli önlemler alındığında bu etki azaltılır. f) Bazı yöntemlerle çelik için dezavantaj olan korozyon etkisi ortadan kaldırılabilir. g) Atölyelerde işlenmesi nedeniyle yapım süresi kısadır. h) Fabrika ortamında üretildiği için hesaplarda kullanılan değerler daha kesindir.

Şaşmayan ölçüler, hesaplamalar, toleranslara uygunluk ve

üretimleri çok kolaydır. Kuru yöntemlerle inşaat yapılır. Temiz bitişleri vardır ve tamirat gerektirmez. Çelik eleman üretimleri otomatik makinelerle yapılır.

Yani bilgisayarda çizilen bir çelik üretiminde otomasyon söz

konusudur. Bu da hem para, hem zaman olarak büyük kazançlar sağlar. Yapım aşaması ya da sonrası istenilen değişiklikler kolayca yapılabilir.

9 İlaveler kolayca uygulanabilir. Şantiye dışında yapılan üretim, hem teknik anlamda, hem kalite, hem de işçilik anlamında ucuza mal olur. i) Değiştirme ve takviye olanağı kolaylığı nedeniyle malzeme zayiatı çok azdır. j) Elemanlar yerinde monte edildiklerinden iyi bir planlamayla yapım süresi çok kısadır. k) Kolon sayısı azlığı ve geniş açıklıklar daha küçük kesitlerle geçilebilindiği için mimari açıdan avantajlıdır. l) Çeliğin şekil alma olanağı sınırsız olduğundan taşıyıcı yapı pek çok türde yapılabilir. Yapısal çelik fabrikada çok değişik şekillerde işlenebildiğinden tasarımcılar için sınırsız yaratıcı olanaklar sağlar. m) Çelik dünyanın en çok geri dönüştürülen malzemesidir. Dönüşüm doğru yapıldığında kalite ve güvenilirlik kaybı olmaz. Dönüşümlü bir malzeme olması ve inşaat sırasında zararlı atıkların bulunmaması hızlı temiz bir inşaatın gerçekleştirilebilmesi nedeniyle çevreye zarar vermeyen bir malzemedir. n) Çelik taşıyıcıların her zaman görülebilir ve erişilebilir olması yapı kontrol alanında, her zaman denetlenebilirlik gibi bir güvence getirmektedir. Her bir çelik parçası fabrikada üretiminden başlayarak kalite, boyut, fiziksel özellikler konusunda belgelidir. Çelik bir yapıyı istediğiniz her an kontrol edebilirsiniz. Betonarme yapılarda kalite kontrolü ise olanaksıza yakındır, çünkü betonarme bir yapıyı oluşturan malzemelerin fiziksel özellikleri değişken ve karakteristikleri farklıdır. Bu nedenle böyle bir yapıda bunca değişkeni istenilen özelliklere sahip bir sonuca yönlendirmekte malzemelerin kendi serüvenleri dışında, yapıda yan yana gelişlerinden, karışım, karışıma giren oranlar, karışımın niteliği, kalıba dökülmesi, bu esnada işçilik, çevresel etkiler vb. faktörlerin denetiminin zorluğu, çeliği bu anlamda da avantajlı kılmaktadır. Bütün bunların dışında yapımından yıllar sonra betonarme bir binayı kontrol etmek çok pahalı ve zor bir işlemdir, bunun yanında duvarların arasına gizlenmiş bile olsa, çelik taşıyıcı sistemin korozyon, deprem vb. etkilere karşı kontrol edilmesi basit, ucuz ve güvenlidir.

10 Bugün ülkemizde yapı tamamen betonarme sistemler üzerine kuruludur. Betonarmeye geçiş geleneksel yöntemlerle inşa edilen taş, tuğla ve ahşap binalardan olmuştur. Bu nedenlerle günümüzde Türkiye çimento üretimi dünyada en çok olan ülkeler arasında yer almaktadır.

Çelik ise genel olarak endüstriyel yapılarda ve

köprülerde ve özel sistemli yapılarda kullanılabileceği düşünülmektedir. Korozyon ve yangına karşı dayanıksız olması çok kolay önlemler alınarak dayanıklı hale getirilebilir. Malzeme fiyatlarındaki fazlalık ise doğru yerde ve doğru şekilde kullanılarak avantaj sağlanabilir. Çelik yapı tasarım konusunda tecrübeli, çelik davranışını bilen, bunları hesaplarla birleştirerek sonuçlara ulaşabilen ve bu sonuçlar doğrultusunda tüm detaylarıyla eksiksiz ve hatasız çizimleri oluşturabilen mühendislerle çelik yapı avantajları kullanılmalıdır.

Proje aşamasında hesapların zorluğundan

kaynaklanan aksaklıklar bilgisayar desteği kullanılarak en aza indirilebilir.

11 3.ÇELİK YAPILARIN KULLANIM ALANLARI Ülkemizde betonarme yapının çelik yapıya göre daha fazla tercih edilmesinin sebebi, çelik çerçeveli yapıların gerek tasarımı, gerekse üretim ve montajı konusunda yeterli bilgi ve deneyime sahip olunmamaktan kaynaklanmaktadır. Çelik çerçeveli yapıların tüm gelişmiş ülkelerde olduğu gibi ülkemizde de yapılmasının kaçınılmaz olduğu bilinmelidir. Bunun farkına varılarak bilgi edinmek, gerektiği yerde kullanıldığında ekonomiklik sağlayacağı için bir gerekliliktir. Yapı çeliği, homojen, izotrop ve sürekli denetlenerek üretildiğinden güvenli bir malzemedir. Yüksek dayanımı nedeniyle öz ağırlığının taşıdığı yüke oranı küçüktür ve montajın bitmesiyle betonarmede olduğu gibi priz bekleme süresi olmadan yükleri taşıyabilme özelliği vardır. Çelik çerçeveli yapı sistemleri, çok önemli olan yukarıdaki üstünlükleri nedeniyle; a) Büyük açıklıklı köprüler b) Endüstri yapıları c) Spor salonları d) Taşıyıcı sistemleri özel e) Hızla yapılması gereken f) Temel zemini zayıf g) Yatay yüklere dayanıklı h) Çok katlı ve yüksek yapılarda kullanılmaktadır. Şekil 3.1’ de bazı örnek çelik yapı fotoğrafları bulunmaktadır. Ülkemizde çok yaygın olarak kullanılmakta olan betonarme yapıların çoğu çelik çerçeveli olarak yapılabilmektedir fakat çelik çerçeveli yapılardan çoğunun betonarme çerçeveli olarak yapılması olanaksızdır.

12

Şekil 3.1 Çeşitli çelik yapı sistemleri

13 4. BİLGİSAYAR DESTEKLİ ÇELİK YAPI TASARIMI 4.1. Bilgisayar Desteğinin Kazandırdıkları Mühendisler

bilimsel

olarak

doğruluğu

ispatlanmış

konuları,

dönüştürerek ve gerçek hayata uyarlayarak kullanmak zorundadırlar.

pratiğe

Örneğin bazı

malzemeler için kullanılan hesap yöntemi farklı malzemeler içinde kullanılmasını sağlayabilmelidirler. Bu gibi durumlarda aynı hesap yöntemiyle farklı hesaplar yapmak gerekirse bu noktada işimizi hızlandıracak bir program yazılabilinir.

Programı

oluşturma süreci uzun, zor ve ciddi bir süreçtir. Oluşturulduktan sonra kazandırılan zamana göre oluşturma süreci daha uzun sürerse, faydalı bir yazılım meydana getirilmiş olunmaz. Her yazılım yapılış amaçlarına göre çok farklılık gösterir. Bazıları işlemlerin daha hızlı yapılabilinmesi için yazılır. Bazıları yapılan işlemlerde hata oranını en aza indirmek için yazılır. Bazıları çok fazla bilgi depolanmasını kolay bir şekilde sağlamak amacıyla yazılır. Amaçları farklı da olsa herhangi bir program yazılırken az hata, sonuca hızlı ulaşma, hesaplarda kolay değiştirilme, kolay kullanım, ek özelikleri kolay ekleyebilme ve program sonuçlarına güven duyulması istenir. Bir program yazmaya başlamadan önce yukarıdaki maddeleri göz önüne alarak yazılmaya başlanılmalıdır. Böylelikle oluşturulan yazılımdan daha olumu sonuçlar elde edilebilinir. Yazılımın kullanılabilir olması için tamamlandıktan sonra kazandıracağı zamanla, yazılımın bitme süreci iyi düşünülmelidir.

Uzun bir süre sonunda

tamamlandıktan sonra hala işlere hız katmıyorsa faydalı bir yazılım meydana gelmemiş olur. Bunun için bitirme zamanını ve kazandıracağı zamanın iyi tahmin edilmesi gerekir.

Yazılımlar oluşturulurken bazı ek programlara veya dosyalara ihtiyaç

duyulabilinir. Bu gibi durumlarda maliyeti en az tutacak şekilde işimizi görecek kadar dosya veya programa ihtiyaç duymalıyız. Örneğin sadece hesap yapıp çizime ihtiyaç duymuyorsak çizim için gerekli bir dosya almamıza gerek yoktur.

Aynı şekilde

programı oluştururken çizim kısmı için kod oluşturmaya gerek yoktur. Bir program yazmaya karar verildiyse kodlamalar kısmına programı bozmayacak şekilde notlar alarak herhangi bir değişiklik ya da ekleme anında, hatasız hızlı bir şekilde değişiklik oluşturulmalıdır.

14 Yapacağı işe oranla yüksek fiyatla alınacak bir program istenmeyeceği gibi kısa sürede işe yaramaz hale gelen bir program da istenmez. Örneğin sadece betonarme yapı çözmek için her tür yapıyı çözen bir programa ihtiyaç yoktur. Aynı şekilde yönetmelik tarihi eski hesap yöntemlerine göre hesap yapan programlar da istenmemektedir. İnşaat mühendisliği gibi insan hayatını doğrudan etkileyen yazılımlarda, hatasız yazılımlar üretilmek zorundadır. Bu tip yazılımlar hem konuya hem de bilgisayara hakim kişiler tarafından yazılması daha uygundur. Günümüzde yazılım sistemleri inşaat sektörünün bir çok aşamasında, bankacılık sektörünün hemen hemen tamamında, birçok sanayi kuruluşunda, müşteri bilgilerinin saklanması gereken küçük kuruluşlarda, iletişim, ulaşım ve birçok mühendislik dalında çok geniş alanlarda kullanılmaktadır. Bilgisayar sistemleri artık günlük hayatın her alanında karşımıza çıkmaktadır. Günlük işlerin hızlanmasını, kayıtların güvenli bir şekilde tutulmasını ve istendiğinde çok kısa zamanda kayıtlara ulaşılmasını sağlar. Kısaca işlerde kullanılan bilgisayar desteği, işlerde hız ve rahatlık ve güven sağlar. Her

zaman

faydalanmayabiliriz.

bilgisayar

desteğinden,

hazır

bir

program

kullanarak

Eğer işlerimizi kolaylaştıracak küçük programlar yazılmak

istenirse, ihtiyaçların iyi bilerek, sonuca ulaşılacak en uygun çözüme, en doğru ve en kısa yoldan ulaşılmak hedeflenmelidir.

Mühendislik yaklaşımları kullanılırken

doğruluğu ispatlanmış konuları programa, gerçek hayata uyarlayarak ekonomiklikten ve güvenden uzaklaşmadan kullanılmalıdır. Sonuca ulaşmak için bilgisayara veri girişi yapılması gerekmektedir. Doğru sonuca ulaşabilmek için veri girişinin eksiksiz ve hatasız olması gerekmektedir. Yazılan programda veri girişinde bir hata ya da eksiklik olup olmadığının kontrolünü kesinlikle yapılması gerekmektedir. Daha sonra ilgili yönetmelikler takip edilerek herhangi bir değişiklik olup olmadığı kontrol edilmeli, varsa kodların o kısmı düzeltilmelidir. Programdan istenen sonuçlar direk olarak ekrana getirmek yerine tüm hesapların yazıldığı raporlar hazırlanmasıyla daha sonra bu hesapların kontrolü için kullanılabilir. Bir program yazılabilmesi için öncelikle programın yazılacağı konu hakkında teorik, pratik, bilimsel ve matematiksel olarak bilgili sahibi olunması gerekir. Yazılan

15 programda tüm bu bilgiler kullanarak sonuçlara ulaşmaktadır ve kullanıcıyı bu şekilde yönlendirmektedir. Programı yazan kişi, kullanacak kişinin programa neler vererek, hangi sonuçları ne şekilde istediğini iyi bilmelidir.

Bunları bilerek, kullanıcı ara

yüzlerini iyi tasarlayarak bilgi girişinin kolay ve hatasız olmasını sağlamalı, yine kullanışlı formlar tasarlayarak çıkan sonuçlarında anlaşılır biçimde kullanıcıya aktarılması gerekir.

Bütün bunlar göz önüne alınarak program oluşturulur ve bir

deneme sürecinden geçer. Her ne kadar program kodları oluşturulurken her aşamada kontrol yapılsa da bazı özel durumlarda farklı sonuçlar elde edilebilinir. Bu sebeple kontrol süreci tamamlandıktan sonra da devam etmesi daha uygun olur. Oluşturulan yazılımın kullanılmaya başlamasından sonra değişen yönetmeliklere ya da kullanıcının isteklerinin artmasına göre yazılım güncellenme sürecine girer. Bu dönemde eksiklikler giderilir ve yazılım daha kullanışlı hale gelir. Bilgi girişini hızlandıracak ve kullanıcı hatalarını en aza indirecek düzeltmeler yapılır. Tamamlanan yazılımda kullanılabilirlik, güvenilirlik, kolay güncellenebilirlik ve hatasız çalışma gibi özellikler istenir. 4.2. İnşaat Mühendisliğinde Bilgisayar Uygulamaları İnşaat mühendisliğinde, bina sistemlerinin 3-boyutlu analizi, kolon, perde, kiriş ve döşeme gibi yapı elemanlarının dizaynı ile temel hesaplarının hazırlanması amacıyla geliştirilmiş programlar kullanılır. Program kullanımındaki amaç ise, yapı sistemlerinin kısa sürede, hatasız, ekonomik ve güvenli olarak projelendirilmesini sağlamaktır. Bir programda, yapı modeli oluşturulduktan sonra çok kısa sürede ve hatasız hesaplar yapılır, çizimler ve hesap raporları hazırlanır. Çözülen sistemin büyüklüğüne göre uğraşılan rakamlar ve yapılan hesapların çeşitliliği fazla olduğu için belli bir süre geçtikten sonra hata yapmak kaçınılmaz olacaktır. Yapılan hesaplarda sonra çizim aşamasına geçildiğinde harcanan zaman düşünüldüğünde bir programın gerekliliği anlaşılacaktır. Hesap raporlarını hazırlarken de, yapılan hesaplar arasında ihtiyaç olan rakamların seçilmesi ve onların istenilen formata çevrilmesi hem zaman kaybına neden olmakta, hem de hata yapmaya müsait olmaktadır. Bilgisayar programları birçok kolaylık sağlamasına rağmen, bu programlar mutlaka programın özelliklerini bilen, programa hakim deneyimli inşaat mühendisleri

16 tarafından kullanılmalıdır. Program kullanıcıları, hesap yöntemleri konusunda bilgi sahibi olmalıdırlar. Kullandıkları program üzerinde program ve kullanım hatalarından kaynaklan hatalara karşı gerekli kontrolleri yapabilecek düzeyde olmalıdırlar.

4.3. Bilgisayar Destekli Çelik Yapı Tasarımı Çelik yapılar gerek birleşim bölgelerinde, gerek taşıyıcı sistem çeşitliliği açısından projeciye çok değişik seçenekler sunar. Köşe noktada oluşturulacak sistemle yapı mafsallı veya rijit olarak çözülebilir. Tek parça ya da iki elemanın bir araya gelmesiyle çok parçalı taşıyıcı elamanlar oluşturulabilir. Böyle durumlarda tercih ve hesap yöntemlerindeki farklılıklar, çelik yapıların proje aşamasında tercih edilmeyerek gelişmesini engeller. Tüm bu olumsuz faktörler düşünüldüğünde çelik yapı hesaplarında gösterilecek olan titizlik çok daha önem kazanmaktadır. Projede çelik ile ilgili mevcut bilgi düzeyini artırmanın yanında çizimlerin hazırlanmasında Adeko IntelliCAD, statik hesabın yapılmasında ÇelikPro2006

programlarından

yararlanılarak

hesaplarda hız ve

güvenilirlik, çizimlerde hız sağlanılarak bilgisayar kullanımı en üst düzeyde tutulmaya çalışılmıştır.

Excel üzerinden Basic Programlama Dili kullanılarak Makrolar

hazırlanmış, SAP2000’den alınan bazı verilerin ihtiyaca göre hızlıca düzenlenmesi sağlanmıştır. Microsoft Visual Basic 2005 Express Edition ile gezer vinç hesabı yapan ve çerçeve statik değerlerini hesaplayan iki program yapılıp rutin olarak tekrar eden hesaplamaların yapılmasına gerek kalmamış ve hesap hataları en aza indirilmiştir.

4.4. Çelik Yapılarda Hesap Adımları 1- Taşıyıcı Sistem tipi, çatı kaplaması seçilir. 2- Çatı kaplamasına, sistemin bulunduğu yere göre kar yükleri ve sistem özelliklerine göre rüzgar yüklerine karar verilir. 3- Yüklere göre aşık hesabı yapılır. (Gerilme ve sehim hesapları) 4- Askı çubuğu hesabı yapılır. (Gerilme ve ekonomiklik hesabı)

17 5- Kafes kirişlere gelen yükler belirlenir. 6-

Kafes kirişe gelen yükler sonucunda kafes kiriş elemanlarında meydana gelen

tesirler belirlenir. 7-

Belirlenen tesirler doğrultusunda alt başlık, üst başlık, dikme ve diyagonaller

boyutlandırılır ve gerekli kontroller yapılır. (Alt başlık için tek tip profil, üst başlık için tek tip profil seçilmelidir.) 8- Kaynak hesapları yapılır. (Kaynak kalınlık ve uzunluğuna göre gerilme kontrolleri yapılır) 9- Düğüm noktaları levha kalınlık ve boyutları belirlenir. 10- Kolonlar boyutlandırılması yapılır. (Gerilme kontrolü ve birleşim hesabı) 11- Yatay kuşak boyutlandırılması yapılır. 12- Çizimler hazırlanır. 13- Çelik yapının metrajı yapılır. Bu basamakların herhangi bir tanesini yapabilen modüller olabildiği gibi, hepsini tek seferde yapabilen paket programlarda vardır. Hesaplar yapılırken ya da çizimler oluşturulurken bu basamaklardan herhangi birinde bilgisayar kullanılarak bilgiler doğru girilmek kaydıyla hesaplar daha güvenli ve daha çabuk olarak tamamlanılabilinir.

4.4.1.Modüller kullanılarak tasarım 4.4 maddesinde anlatılan adımları tek tek yapan modüller kullanılarak hesaplarda kolaylık sağlanabilir. Çoğu zaman bu yöntemle yapılan işlemler hız kazanır ve en az hata ile sonuca ulaşılmasını sağlamaktadır. Örnek olarak Excel programı ile hesaplarımızı

kolaylaştıran

bir

modül

yazıldı.

Sap2000

programı

inşaat

mühendisliğinde birçok karmaşık hesabı en az hatayla gerçeğe en yakın şekilde hesaplayarak sonuçları kullanıcıya sunar. hesaplarında kullanılamazlar.

Ancak sadece bu ham sonuçlar proje

Bu sonuçlara ek hesaplar yapılması gerekmektedir.

Modül, Sap2000 programıyla çözülmüş bir modelden kafes kiriş eleman sonuçlarını alarak tablonun doldurulmasını sağlıyor.

Bu ve bunun gibi durumlarda bir defaya

18 mahsus zaman ayırarak modül oluşturulursa bundan sonra yapılması gereken hesaplar çok kolay bir şekilde sonuçlandırılabilir. Çizelge 4.1 Kafes kiriş elemanları için elverişsiz tesirlerin seçilmesi Kar yükü Rüzgar Çubuk Zati H No Yük Sol Sağ Toplam Sol Sağ Yüklemesi Sol+Sağ

Zati + Kar Toplam

HZ Yüklemesi Zati + Kar Toplam + Maksimum Rüzgar

Minimum Çubuk Kuvveti

Modül hazırlanırken 99 elemana kadar hesap yapabilecek şekilde yapılmıştır. SAP2000 programıyla oluşturulmuş output dosyasından kesit tesirleri, Excel programının veri alma özelliği ile tüm bilgilerin alınıp Ek 1.de kodları verilen makronun çalıştırılması olarak hazırlanmıştır. Tüm veriler değerlendirilip ve tabloya uygun şekilde yerleştirilir. Program algoritmasında tablo yerleşimi çizelge 4.1’ de görülmektedir. Makronun doğru çalışabilmesi için bazı kısıtlamalar vardır. 1. Veriler, Excel’in A1 hücresine “FRAME LOAD” yazısı gelecek şekilde alınmalıdır. 2. SAP2000 programında yüklemeler “ZATI, KAR, KARSOL, KARSAG, RUZGAR, RUZGARSA, COMB1, COMB2” olarak isimlendirilmelidir. 4.4.2.Diğer programlardan veri alarak tasarım Çözüm yöntemi olarak sonlu elemanlar metodunu kullanarak hesap yapan ve kendini dünyaya ispatlamış SAP2000 programından bilgi alışverişi yaparak da çözümlerimizi hızlı ve güvenilir bir biçimde yapabiliriz. Bunun için de Excel ile hesapları kolaylaştıran bir modül yazıldı. Modül, SAP2000 V7.42 programıyla çözülmüş bir modelden kesit bilgilerini alarak Excel programına yerleştirmektedir. Daha sonra bu bilgilerle istenilen hesapları yapmak için ayrı ayrı modüller eklenebilir. Eleman kısıtlaması olarak Excel hücre satır sayısı olan 65536 kullanılmıştır. SAP2000 V7.42 programıyla “c:\tezoutputdata.txt” yerinde FRAME ELEMENT FORCES output txt dosyası oluşturulduktan sonra, kodları Ek.2.de verilen Excel

19 makrosu bu dosyayı açarak kendi hücrelerine yerleştirir. Bu aşamadan sonra kesit tesirlerini kullanarak istenilen hesaplar yapılabilir. 4.4.3.Hesap kolaylığı sağlayacak küçük yazılımlar yazarak tasarım Hesap yöntemi olarak aynı hesapları tekrarlayan çözüm yöntemlerinde işimizi hızlandıracak programlar da yazabiliriz. Bunun için herhangi bir programlama dili bilmemiz gerekmektedir. Bu sayede aynı hesapları yapmak yerine harcanacak vakit başka hesapları yapmak için kullanılabilir. Örnek olarak, kodları Ek.3.de, programın kullandığı Excel tabloları Ek.4.de,

programın hazırladığı rapor Ek.5.de verilen

Microsoft Visual Basic 2005 Express Edition ile gezer vinç hesabı yapan program tasarlanmıştır. Hesap yöntemi olarak Prof. A. Zafer Öztürk ‘ ün [5] kitabındaki adımlar ve tablolar kullanılmıştır. Programa çerçeve özellikleri, gezer vincin boyutları, çalışma süresi, taşıdığı yükün cinsi, hareket özellikleri, kumanda ve ray eki tipi, kapasitesi, yürüme hızı ve mesnet açıklığı verildikten sonra tekerlek özellikleri ve fren kuvvetleri Excel tablosundan otomatik olarak seçilir. Program Şekil 4.1 ile ekrana gelir. Programın çalışabilmesi için bilgisayarda Excel programı kurulu olmalıdır. Bazı gerekli dosyalar ise kurulum sırasında kendiliğinden gerekli yerlere kopyalanacaktır.

20

Şekil 4.1 Gezer vinç ana menü

Mesnet açıklığının seçilmesiyle Excel tablosundan maksimum ve minimum tekerlek etkileri okunur ve ekrana bu değerler bilgi vermek amacıyla yazılır. (Şekil 4.2)

21

Şekil 4.2 Tekerlek etkileri menüsü

Bilgilerin girilmesinden sonra gezer vinç hesabına başlanılabilir. Kren kiriş hesabı düğmesine basılarak hesaba başlanır. Ekrana Şekil 4.3 gelir.

Şekil 4.3 Gezer vinç hesapları

22

Ekrana gelen menü, gerekli hesaplar yapılarak tablolar doldurulmuş olarak ekrana gelir. Kesit seç düğmesiyle ekrana gelen Şekil 4.4 ile ya da kendi kesitim düğmesiyle gezer vinç kiriş kesiti seçilir (Şekil 4.5). Seçilen kesite göre kesit özellikleri otomatik olarak hesaplanır.

Şekil 4.4 Gezer vinç kirişi I profili ve takviye levhası seçimi

23

Şekil 4.5 Gezer vinç kirişi üretilen kesit seçimi Kiriş kesitini de seçtikten sonra kesit ve sehim tahkikleri düğmesine basılarak kontroller yaptırılır. Gerilme ya da sehimden dolayı emniyet gerilmelerini aşan kesit varsa sesli ve yazılı mesajla uyarı verir (Şekil 4.6). Hesap ekranında da kurtarmayan kısımlar kırmızı renkle uyarı verir (Şekil 4.7). Bu durumda geri gidilerek kesitler büyütülür. Hesaplar tamamlandığında rapor hazırlamak istenirse örneğinin Ek 5’te verilen Excel dosyası program tarafından otomatik olarak doldurulur. hazırlandıktan sonra hesap bitirilir.

Şekil 4.6 Uyarı mesajı

Rapor

24

Şekil 4.7 Gerilme ve sehim tahkikleri

Bu programla küçük kesitlerle hesaplara başlanılır ve kurtarmadıkça yapılması gereken tekrarlı hesapların yapılmasına gerek kalmaz. Hesaplar daha doğrudur ve rapor da otomatik olarak hazırlanmış olur.

4.4.4 Paket program kullanılarak tasarım Tüm hesapların yapıldığı ve çizimlerin ve raporların hazırlandığı paket program da kullanılarak tasarım yapılabilir.

25 Burada örnek olarak ÇelikPro2006 kullanılmıştır. Paket programların çoğunda hazır şablonlar bulunur ve bunların dışındaki hesaplar ya da çizimler yapılamazlar. Çelikpro2006 programı ile çözülebilen yapı şekilleri şekil 4.8’ de görülmektedir.

Şekil 4.8. ÇelikPro2006 ile çözülebilen çatı şekilleri Çatı şeklinin seçilmesiyle bilgi girişine başlanıldıktan sonra gerekli yapı özellikleri, malzeme ve kesit özellikleri programa tanıtılır ve hesaplar yapılır. Emniyet gerilmesini aşan kesitler emniyet gerilmesini geçmeyecek şekilde büyütüldükten sonra örneğinin Ek.6. de verildiği raporlar ve çizimler otomatik olarak program ile hazırlanır. Program görsel olarak bilgi girişini hızlandırmış, hataları bilgi girişini önleyerek en aza indirmiş ve hesap adımlarının sırasıyla yapılmasını sağlamıştır. Adım adım hesaplar takip edilerek hızlı bir şekilde modellenen sistem çözüldükten sonra, güvensiz kesit varsa değiştirilerek yeniden hesap yapılması sağlanmıştır. Tüm kesitler kurtardıktan sonra çizimler ve raporlar program tarafından otomatik olarak oluşturulmaktadır.

26 Paket programların avantajları dezavantajlarından fazla olmasına rağmen yine de eksiklikleri vardır. Bunlar versiyon yenilemeleriyle giderilmektedir. Her versiyon değişiminde programa yenilikler katılarak, daha doğru sonuçlara, daha hızlı bir şekilde ulaşılması sağlanmaktadır.

Paket programlar kullanırken yazılımı alır almaz

kullanmaya başlamak yerine kullanım kılavuzu ile örnekler çözerek ve bunların hesaplarını kontrol ederek kullanılmaya başlanılmadır. Bu sayede programın hesap yöntemlerine adapte olunur ve ilerde model oluştururken ve sonuca ulaşırken nasıl bir durumla karşılaşacağımızı önceden tahmin edilebilir.

Paket programlar işleri

hızlandırmak ve daha hatasız hesap yapmak konusunda başarılı olabilirler ancak unutulmaması gereke konu doğru sonuçlara doğru modelleme ile ulaşılabilinmektedir. Paket programların her hesabı yaptığı da düşünmek yanlış olur. Programlandığının dışında hesapları yapamazlar.

Bu sebeple bir yazılım almadan önce hangi türden

hesapları yapabildiği araştırılmalıdır. Ayrıca eski yönetmeliklere göre hesap yapan versiyonlar mutlaka yenileriyle değiştirilmelidir. Hesap sonuçlarının çıktısını aldıktan sonra, hesap yöntemlerinden işlem sonuçlarına kadar kontroller yapılmalıdır. ÇelikPro programı sanayi tipi yapıların tasarlanmasında, çözülmesinde, çizim ve metrajlarının hazırlanmasında kullanıcıya hız ve doğruluk sağlamaktadır. Bu tür yapılar tip olarak birbirine benzese de, uygulanan yüklerde çok farklılık olacağı için hesaplarda da farklılık olacaktır. Bunun yanında çözüme daha kısa yoldan alternatif yollarla ulaşmak istenirse, program sayesinde sonuçlara daha hızlı ulaşılabilinir. malzeme

imalatında kesim optimizasyon

modülüyle, ekonomiklik

Program, sağlamaya

çalışmaktadır. Program tarafından hazır olarak sunulan sistemlerden biri seçilerek, düğüm noktaları oluşturulur. Sisteme düğüm noktalarından kolonlar atandıktan sonra kesitler kullanıcı tarafından seçilir. Kesitler piyasada kullanılan hazır profiller olabildiği gibi kullanıcı tarafından da kesit tanımlamaya izin verilmektedir. Sistemde ara kat ya da gezer vinç varsa programa bunlar, yerleriyle tanıtıldıktan sonra sistem ölçüleri programa tanıtılır. Çatı ve Duvar aşıkları dolu aşık veya uzaysal aşık olarak tanımlanmaktadır. Aşık seçilmesiyle beraber gergisiz, tek veya çift gergili olarak hesaplanan sonuçlar ekrana getirilerek seçim kullanıcıya bırakılır.

Program farklı mesafeli makasları

27 çözebilmektedir. Gezer vinç hesabı da farklı kapasiteli gezer vinçlere göre hesabı otomatik olarak hazırlayarak raporlandırabilmektedir.

Gezer vincin oturacağı yol

betonarme guse ise, program hesapları TS500-2000’e göre yapmaktadır.

Program

yükleri seçilen aşık ve kaplamaya göre otomatik olarak hesaplamaktadır. Kar yükünü TS498’ e göre kullanıcının belirlemesi gerekmektedir [10]. Seçilen kesitlere göre öz ağırlıklar program tarafından otomatik hesaplanmaktadır.

Hesap yöntemi Deprem

bölgelerinde yapılacak binalar hakkında esaslarda geçen Eşdeğer deprem yükü yöntemine göre yapılmaktadır [11]. Düğüm nokta koordinatlarına göre rüzgar yükünü hesapladıktan sonra gezer vinç varsa, vinç hesabında hesaplanan fren ve reaksiyon yüklerine göre sisteme etki ettirilmektedir. Program statik hesapları matris deplasman yöntemine göre hesaplamaktadır. Program hesapları her menü de kullanıcıya kolaylık sağlamak için ekrana şematik olarak getirilmektedir.

Kesit kontrolleri menüsünde

renklere bakarak en çok gerilmenin olduğu kesitler fark edilerek buralara önlem alınabilinmesi sağlanmıştır. Program sadece çelik kolonları değil betonarme kolon donatı hesabını da yapabilmektedir. Kesitlerin yeterliliği kontrol edilip sağlandıktan sonra, taban levhası boyutları, bulon özellikleri ve sayısı verilen sistemin yeterlilik kontrolü yapılır. Seçilen sistem anında ekrana getirildiği için çakışma ya da yerinde yapamama gibi hatalar anında görülerek sistem değişikliğiyle sorunu çözmek sağlanmıştır.

Program kolon makas birleşimlerindeki kaynak, bulon ve ankraj

tahkiklerini hesaplayabilmektedir.

Statik hesabın son

aşaması olan temel

boyutlandırması da program tarafından yapılarak rapor ve çizimlerin hazırlanması sağlanmıştır.

Temel tipi olarak sadece tekil temel hesabı yapılabilinmektedir.

Hesapların tamamlanmasıyla proje metrajı da program tarafından kısa bir süre de tamamlanmaktadır. Yapılan değişiklikler metraja anında yansıtılarak kullanıcının en doğru çözüme en ekonomik yoldan ulaşılması sağlanmıştır. Sistem istendiği anda üç boyutlu olarak ekrana getirilebilinmektedir. Bu sayede sistem hakkında bir fikir sahibi olarak bir problem olup olmadığına karar verilmesi sağlanmıştır.

Hesap kısmı

tamamlandıktan sonra, imalat aşamasında şantiyede bir problemle karşılaşmamak için, eksiksiz ve hatasız bilgilerle teknik resimlerin oluşturulması gerekmektedir. Hesapları yapılmış kesitlerle ve bunların ayrıntılarıyla birlikte ölçüler vererek çizimler programla birlikte saniyeler içinde hatasız ve eksiksiz oluşturulur.

28 5. BİLGİSAYAR DESTEKLİ ÇERÇEVE HESABI PROGRAMI Bu

program

çerçeve

hesaplarında,

bulunması

gereken



tesirlerin

hesaplanmasını hızlandırmak, en kısa zamanda en az hatayla sonuca ulaşıp raporları kısa bir sürede hazırlamak amacıyla yazılmıştır. Hesap yapılacak sistem, üstten yayılı yükler uygulanmış çerçeve sistemdir. Çerçeve eleman uç kuvvetleri bulunurken matris yöntemiyle hesaplar yapılmış ve sonuca ulaşılmıştır.

Bu sistemin çözümünde açı

yöntemi de kullanılabilinirdi fakat başka sistemler de göz önüne alınsaydı açı yöntem hesap yöntemi, sistemin özelliklerine göre farklılık göstereceğinden çözüm daha karmaşık bir hal alırdı. Daha genel bir hesap yöntemi olduğu için matris yöntemi, hesap yöntemi olarak seçilmiştir.

Bu yöntemde, bilgisayar desteği göz ardı edildiğinde

hesaplar daha uzun ve karmaşıktır. Ancak günümüz bilgisayar şartları düşünüldüğünde bu süre çok az bir zaman alır. Bu yöntemle eksenel yükten oluşan şekil değiştirmeler de hesaba katılmıştır. Matris yöntemiyle çerçeve hesabı yapılırken, çerçeve analizi bilinen çubuk elemanlara dönüştürerek ayrı ayrı hesap yapılmıştır ve her çubuk, sistemin özelliğini bozmadan hesaba katıldığı için sonuçlar kesin sonuçlardır. Çerçeve hesabının yapılması için hazırlanan programda, programlama dili olarak Microsoft Visual Basic 2005 Express Edition kullanılmıştır.

Ek.7.’de görülen

algoritmalar kurulurken döngüler oluşturulmuş, bazı hesaplar algoritmalar arasında yapılırken hesap kolaylığı ve zaman kazanımı açısından bazı hesaplar ise Microsoft Excel 2003 programına yaptırılmıştır.

Hesap sonuçları bir rapor oluşturması için

Microsoft Word 2003 programına gönderilmiştir. Bunun için programın çalıştırılacağı bilgisayarda Microsoft Office 2003 ile beraber gelen Microsoft Office 11.0 Object library, Microsoft Excel 11.0 Object library, Microsoft Word 11.0 Object library veya alt sürümlerine ait dosyalar kurulmuş olmalıdır. Çizimlerin ekrana getirilip, dxf çizim formatında hazırlanması için Kadmos DxfReader ActiveX Control dosyasının 1.51.0.0 sürümü kullanılmıştır. Bu dosyanın olmadığı Microsoft Windows XP işletim sistemli bilgisayarlarda bu dosya \Windows\System32 klasörünün içine kopyalanmalı ve “regsvr32 /v DXFReader.ocx” komutunun çalıştırılmasıyla Windows registry ayarlarına kayıt yapılmalıdır. Dosyanın kullanılması için bilgisayarın kapatılıp tekrar açılmasına ihtiyaç vardır. Microsoft Visual Basic 2005 Express Edition .Net tabanlı programlama

29 dili olduğu için sistemde .Net Framework kurulu olmalıdır. Bu programda Microsoft Visual Basic 2005 Express Edition ile beraber gelebildiği gibi, Microsoft un internet sitesinden indirilebilinir. Program oluşturulurken birçok yönden düşünülerek, program tarafından ve kullanıcı tarafından yapılması muhtemel hatalardan kaçınılmış. Programın aktif ve hızlı bir şekilde kullanılarak sonuca kesin ve hızlı bir şekilde ulaşılması sağlanmıştır. Program kodlarının yanına açıklamalar yazılarak, ileride yapılacak eklemelerin önü açılmıştır.

Kodlar içinde bir hata varsa hataya ulaşmak kolaylaştırılmıştır.

Bir

bilgisayar programında olması gereken özellikler düşünülerek hazırlanmıştır. İstenilen birimde çalışabilmek yerine kodların daha hızlı bir şekilde sonuçlanabilmesi için metrik birim sistemiyle çalışılmıştır. Yükler ton, uzunluklar bilgi girişini hızlandıracak şekilde metre veya santimetre olarak yapılmıştır. Hangi birimle giriş yapıldığı ise bilginin yazıldığı kutuların yanına yazılmıştır. Sonuçların yazıldığı raporlarda da sonuçların birimleri raporlara dahil edilmiştir. Programda kullanılan veri tipleri kodların başında tanımlanarak hafıza daha verimli kullanılmış ve olası hatalar önlenmeye çalışılmıştır. Hesaplarda daha hassas sonuçlar elde edilebilinmesi amacıyla single veri tipi kullanılmıştır. Bu veri tipi ±1.401298x10-45 ile ±3.4028235x1038 değer sınırlarıyla hafızada 4 byte yer kaplar. Ekrana gelen bilgiler yedi rakamdan oluşur. Daha fazla rakamlı bilgiler olduğunda bilimsel kullanım şekline dönüşür. Bazı sonuçların ekrana bu kadar ayrıntılı olarak gelmesine gerek görülmediği durumlarda sonuçlara müdahale edilip tolerans bizim belirlediğimiz şekilde dışarı aktarılır. Hesaplarda bir değişiklik olmadan eski hassasiyetle çalışılmaya devam edilir.

Program veri girdileri ve

çıktılarında değişken isimleri kolay anlaşılabilir olarak seçilerek aynı bilgilerin farklı yerlerde iki kere yer alması engellenmeye çalışılmıştır. Böyle durumlarda gereksiz hafıza kullanılır ve sonuca daha geç ulaşılır. Ayrıca kod satırlarının ilerleyen yerlerinde hatalara neden olarak sonuçların hatalı çıkmasına neden olur. Bilgi girişi her ne kadar farklı birimlerde olsa da hesaplarda kullanılması gereken birimlere otomatik olarak kodlarla çevrilir. Bilgi girişi sırasında rakamsal olarak bilgi girilmesi gereken yerlere kullanıcı tarafından yanlışlıkla harf girilmesi durumunda hesaplar hatalı olacaktır. Hatta bu hata program tarafından daha ileri hatalara neden olup programın kendini kapatmasıyla bile sonuçlanabilir.

Bazı durumlarda da bilgi girişi sıfır olarak

30 yapıldığında paydada sıfır olması durumunda program hata vererek kendini kapatır. Bu gibi hataların önlenmesi için, bilgi girişi bitip hesap yapılmaya başlandığında önce bilgi girişleri kontrol edilir. Yukarıda bahsi geçen durumlar varsa tespit edilip bu durumun olduğu kutular kırmızı renge çevrilerek kullanıcı bu durumun düzeltilmesi için uyarılır ve hesap yapılmadan işlemler kesilir. Düzeltildikten sonra kutular eski rengine geri çevrilir. Hesaplar yapılırken daha kesin sonuçlara ulaşmak için doğru hesap yöntemi seçilmiştir. Matris işlemleri yapılırken daha uzun kodlu hataya açık kodlar oluşturmak yerine Microsoft Excel programının matris işlemlerini otomatik yapması sağlanmıştır. Bilgi girişinde sistemin yanlış tanıtılabileceği düşünülerek oluşabilecek hatalar, bazı bilgilerin otomatik olarak gerekli yerlere yazılmasıyla önlenmeye çalışılmıştır. Program veri tabanı olarak daha karışık veri tabanları yerine Microsoft Excel programı kullanılmıştır.

Hesaplar yapılırken programı yavaşlatsa da bazı işlemleri otomatik

yaparak programın hızlanmasına yardımcı olacağı için bu program seçilmiştir. Hesaplar yapılırken tüm değişkenler temizlenerek yeniden hesap yapılması sağlanmıştır. Program yazılırken tamamlandıktan sonra kontrol yerine her aşama ayrı ayrı defalarca kontrolden geçirilerek olası hatalar en aza indirilmiştir.

Program hakkında bilgi

verilerek hangi hallerde çalışmayacağı veya hatalı çalışacağı önceden tespit edilerek kullanıcıya bildirilmiştir.

Bazı hazır profiller programa dahil edilerek ve kullanıcı

tarafından girilmesi gereken yükler program tarafından hesaplanmasıyla programa bilgi girişi hızlandırılmış ve yapılabilinecek hata ihtimali en aza indirilmiştir. Programa grafik çizimleri dahil edilerek kullanıcın alıştığı biçimde sonuçların görüntülenmesi sağlanmıştır. Programda hesaplar yapıldıkça hesabın yapılıp ilerlediğini gösteren bir araç konulmuştur.

Statik hesaplar yapılırken de hangi hesapların yapıldığı sırayla

ekrana getirilmiştir. Bu sayede kullanıcının hesapla komutundan sonra bekliyorum düşüncesinden çok hesapların yapıldığını da görmesi sağlanmıştır.

5.1. Programın Kullanılması Ve Hesap Yöntemleri Program çalıştırıldıktan sonra sistem bilgilerinin programa tanıtılacağı ana menü ekrana gelir. (Şekil 5.1) Bu formla dört ayrı çerçeve elemanının atalet momentini, kesit

31 alanını, mukavemet momentini, atalet yarıçapını, elastisite modülünü, sistem şeklini ve etki ettirilecek yükleri programa tanıtırız. Y4 mesafesini program Y1, Y2 ve Y3 e göre kendisi hesaplamaktadır. Bu nedenle bilgi girişine gerek kalmadığı için kutu pasif olarak ekrana gelmektedir.

Bu menüde, I ve IPE profillerinin kesit özelliklerinin

otomatik olarak seçilerek gerekli kutulara yazılabilineceği kesit seç düğmesi vardır. Çatıya gelen yayılı yüklerin aşıklar tarafından geliyorsa kaplama cinsine, kar yüküne, aşık ağırlıklarına ve rüzgar ve rijitilik bağlantılarının otomatik olarak hesaplandığı ve gerekli kutulara yazdırılabilineceği aşık yükü düğmesi vardır. Kesit kontrolü yap veya kesit önererek hesap tercihlerinin seçilebilineceği kutular yine bu menüde mevcuttur. Kesit mukavemet momenti ve atalet yarıçapı bilgileri bu iki tercih işaretli değilse pasif olarak ekrana gelmektedir. Çünkü bu iki değer sadece kesit kontrolü ve kesit önerilmesi sırasında işlemlere dahil olmaktadır.

Hesap düğmesiyle statik hesaplar yapılmaya

başlanır. Çizilen kesit diyagramları grafikler düğmesiyle ekrana getirilir. Sistemin kesit tesirlerini SAP2000 programıyla kıyaslamak için, SAP2000 programının modeli tanıyabileceği dosya biçimi SAP2000 düğmesi ile oluşturulur.

Rapor düğmesi ile

hesaplanan kesit tesirlerinin hesap sonuçları Word dosyası olarak oluşturularak ekrana getirilir.

Şekil 5.1 Çerçeve program girdileri menüsü

32

İstenirse Kesit Seç düğmesine basılarak hazır çelik profil tablolarından seçim yapılabilinir. Menü Şekil 5.2’ deki gibi ekrana gelir.

Şekil 5.2 Çerçeve program profil seçim menüsü Bu sayede program girdileri daha hızlı hale getirilmeye çalışılmıştır. Şekil 5.2’ de görüldüğü gibi hazır olarak I ve IPE profilleri vardır. Çerçevedeki yerleşimlerine göre atalet momentlerinin seçilebilinmesi için zayıf doğrultuda mı yoksa kuvvetli doğrultuda mı olduğu seçilmelidir. Bu iki seçenekten biri işaretlendikten sonra profil seçimi yapıldığında seçilen kesitin atalet momenti, kesit alanı, mukavemet momenti ve atalet yarıçapı değerleri otomatik olarak ekrana gelir. Hangi çerçeve elemanında bu değerler kullanılacaksa işaretlenir ve tamam düğmesine basılır.

Eğer

çözülecek

çerçeveye hazır aşık yüklerini etki ettirmek istersek aşık yükü düğmesine basılarak Şekil 5.3’deki menü ekrana getirilir.

33

Şekil 5.3 Çerçeve program aşık yükü hesabı menüsü Aktif kutular doldurularak hesapla b düğmesiyle b çubuğuna yük bilgilerinin gönderileceği, hesapla c düğmesiyle c elemanına yük bilgilerinin gönderileceği bilgisi programa bildirilir.

Çatı kaplaması yatay düzlem yükü, program tarafından çatı

düzlemindeki yükün, eleman açısının kosinüsüne bölümüyle otomatik olarak hesaplanmaktadır.

Çerçeve b elemanına oturan aşık sayısı ve aşığın uzunluğu

girildiğinde, aşıklar arası mesafe, eleman uzunluğunun aşık sayısına bölümünün bir eksiği olarak bulunur.

Aşığın 1m.’sine gelen yükün aşık uzunluğu çarpımıyla bir

aşıktan çerçeveye aktarılan yük hesaplanmış olur. Burada Çerçeve en dış aks çerçevesi ise bu yükün yarısı alınmalıdır. Bu menüde, program son olarak aşıklara gelen yükü çerçeve elemanının 1m.’sine gelen yüke çevirmekte. Bir aşığa gelen toplam yük aşık sayısıyla çarpılıp çerçeve elamanının uzunluğuna bölünerek hesaplanmaktadır. Yük hesapları yapılarak tamam tuşuyla program girdileri menüsüne dönülür.

34

Sistem bilgileri programa tanıtıldıktan sonra hesap bölümüne geçilebilinir. Hesaba başlamadan önce kesit kontrolü ve kesit önerisi yapılıp yapılmayacağına karar verilir. Kesit kontrolü yapılarak program tarafından kurtarılmış kesit önerisi istiyorsak ana menü üzerinde bu iki seçeneği işaretlemek gerekmektedir.

Bu iki seçenek

işaretlendikten sonra hesapla düğmesine basılır. Bu komutla birlikte program hesap yapmaya başlayacaktır. Yaptığı hesaplar ayrı bir formda hesap başlangıç ve bitiş tarih ve saati ekrana getirilmektedir. (Şekil 5.4)

Şekil 5.4 Çerçeve programı yapılan statik hesaplar listesi

35 Hesaplamaya başlamadan önce program girdilerinde bir hata olup olmadığı program tarafından kontrol edilir. Bilgi girişinde rakam yerine harf kullanılmış mı veya bölü sıfır hatası meydana getirebilecek bir durum var mı kontrol edilir. Böyle bir duruma neden olacak kutu renk değiştirerek kullanıcı bu konuda uyarılır ve hatalı değerin değiştirilmesi istenir.

Böyle bir durum söz konusu değil ise ana menüde

girilmiş bilgiler program tarafından kendi değişkenlerine atanır. Hesaplanması gereken çubuk boyları sistem bilgilerine göre hesaplanır. Bu hesaplar esnasında dikkat edilmesi gereken nokta Microsoft Visual Basic 2005 Express Edition programlama dili, verilerin trigonometrik değerlerini radyan cinsinden hesaplamaktadır. Hesaplar yapılmadan önce derece cinsinden girilmiş veriler program tarafından radyana dönüştürülür ve daha sonra hesaplara dahil edilirler. Bilgi girişinin hızlanması için ana menü üstünde bazı kutular da santimetre cinsinden girilmesi istenmiştir. Yine hesaplara başlamadan bu değerler de hesaplarda kullanılması gerektiği birime dönüştürülmüştür.

Hesaplara elemanların

sistem eksen takımlarındaki rijitlik matrislerinin oluşturulmasıyla başlanmıştır.

Şekil 5.5 Birim yüklemeden oluşan uç kuvvetler [6]

36 Şekil 5.5’te görülen çerçeve elemanının şekil değiştirmelerden dolayı oluşan kesit tesiriyle denklem 5.1, denklem 5.2, denklem 5.3 ve denklem 5.4 elde edilmiştir. 4 EI 6 EI + 2 l l

(5.1)

Pu12 = −

12 EI 6 EI 2 EI 6 EI EA Pv12 = − 3 − 2 Mϕ12 = + 2 l l l l l

(5.2)

Pu 21 = −

12 EI 6 EI 2 EI 6 EI EA Pv 21 = − 3 + 2 Mϕ 21 = − 2 l l l l l

(5.3)

Pu11 =

Pu 22 =

EA l

EA l

Pv11 =

Pv 22 =

12 EI 6 EI + 2 l3 l

12 EI 6 EI − 2 l3 l

Mϕ11 =

Mϕ 22 =

4 EI 6 EI − 2 l l

(5.4)

Bu denklemlerin matris formu Çizelge 5.1’de oluşturulmuştur. Çizelge 5.1 Eleman rijitlik matrisinin oluşturulması [6]

37

Şekil 5.6 Çubuk elemanındaki kuvvetler [6] Şekil 5.6’da görülen çubuktaki kuvvet denge denklemleri de denklem 5.5, denklem 5.6, denklem 5.7, denklem 5.8, denklem 5.9, denklem 5.10’da gösterilmiştir. Bu denklemlerle çubuk kuvvetleri ve yer değiştirmelerin dönüşümü için Çizelge 5.3’deki transformasyon matrisi oluşturulmuştur. P1 = P1cos φ + P 2 sin φ

(5.5)

P 2 = − P1sin φ + P 2 cos φ

(5.6)

P3 = P3

(5.7)

P 4 = P4 cos φ + P5 sin φ

(5.8)

P5 = − P 4 sin φ + P5 cos φ

(5.9)

P6 = P6

(5.10)

[K ] = [T ][. K ][. T ]

T

(5.11)

Denklem 5.11 ile elemanların rijitlik matrisleri oluşturulmuştur. Bu basamaklar program tarafından yapılmayarak sistemde aynı denklemler oluşturulduğu için elde edilen denklem 5.12 ile işlemler yapılmaktadır.

38 c= cos φ

s= sin φ

[K ]

c 2 EA s 2 12 EI + l l3 EA 12 EI − 3 ) = sc ( l l s 6 EI − 2 l

[K ]

c 2 EA s 2 12 EI − l l3 EA 12 EI = sc (− + 3 ) l l s 6 EI l2

[K ]

c 2 EA s 2 12 EI + l l3 EA 12 EI = sc ( − 3 ) l l s 6 EI l2

11



12

22

[K ] = [K ]

T

21

12

EA 12 EI − 3 ) l l s 2 EA c 2 12 EI + l l3 c6 EI l2 sc (

s 6 EI l2 c6 EI l2 4 EI l



EA 12 EI + 3 ) l l 2 2 s EA c 12 EI − − l l3 c6 EI − 2 l sc (−

EA 12 EI − 3 ) l l s 2 EA c 2 12 EI + l l3 c6 EI − 2 l sc (

s 6 EI l2 c6 EI l2 2 EI l



s 6 EI l2 c 6 EI − 2 l 4 EI l +

(5.12)

Denklem 5.12’deki işlemler program tarafından çok kısa sürede hesaplanarak değişkenlerine sonuçlar atanır. Bu sürecin bitmesiyle yük matrisleri Denklem 5.13’e göre oluşturulmaya başlanır. a ve d elemanlarında yük olmadığı için matrisleri sıfır matris olarak hesap yapılmadan yazılır. b ve c elemanının yük matrisi hesaplanarak program değişkenlerine sonuçları kaydeder.

39

{P0 }a

0 0   0 =  0 0   0

{P0 }b

{P0 }d

0 0   0 =  0 0   0

{P0 }c

 q1lb   2 sin α   ql   − 1 b cos α   2  2   q1lb  −  12 =   q1lb sin α    2   q1l b  − 2 cos α    2  q1l b    12  q2lc   2 sin β   q l  − 2 c cos β    2 2   q2lc  −  12 =  (5.13)  q 2 l c sin β    2  q 2 lc  − 2 cos β    2  q2lc    12

Bu hesapların da yapılmasıyla önceden yeri belirlenmiş şablon halindeki Excel dosyası açılır ve değişkenlere atanmış veriler dosyanın belirlenmiş hücrelerine yerleştirilir. Eleman bazındaki rijitlik matrisi Çizelge 5.2’deki gibi işleme sokularak, sistem rijitlik matrisine dönüştürülerek Excel dosyasındaki önceden belirlenmiş hücrelere program tarafından otomatik olarak yazılır.

40 Çizelge 5.2 Sistem rijitlik matrisinin oluşturulması

1. Blok 2. Blok 3. Blok 4. Blok 5. Blok

1. Blok Ka11 Ka21

2. Blok Ka12 Ka22 +Kb11 Kb21

3. Blok Kb12 Kb22 +Kc11 Kc21

4. Blok

5. Blok

Kc12 Kc22 +Kd11 Kd21

Kd12 Kd22

Sistem rijitliik matrisinin oluşturulup Excel dosyasına yazılmasından sonra Çizelge 5.3’teki transformasyon matrisi program tarafından oluşturularak Excel programının şablon dosyasında gerekli hücrelerine yazılır. Çizelge 5.3 Transformasyon matrisi

T=

c s 0 0 0 0

-s c 0 0 0 0

0 0 1 0 0 0

0 0 0 c s 0

0 0 0 -s c 0

0 0 0 0 0 1

Programın bu aşamasında dönüşüm matrisleriyle yük matrislerinin çarpılması gerekmektedir.

Bunu uzun algoritmalar oluşturarak yapabileceğimiz gibi Excel

programının kendi çarpım özelliğini kullanmak daha hızlı ve güvenli sonuçlar almamızı sağladığı için bu özellik kullanılmıştır. Önceden hazırladığımız şablonda, program tarafından hücreler dolduruldukça matris işlemleri Excel tarafından otomatik olarak yapılacaktır. Kodlarımızın bu kısmına matris çarpımı ile ilgili kodlar yerine Excel hücrelerinde matris çarpımı için yazması gereken kodlar atanmış mı kontrol kodları yazılmıştır. Herhangi bir nedenle bu kodlar bozulmuşsa ya da silinmişse program bu değişikliği fark edecek ve kullanıcıyı orijinal Excel dosyasının tekrar yüklenmesi için uyaracaktır. Bu kontrolün ardından yine Excel programı tarafından düğüm noktalarına etki eden dış kuvvetler matrisi oluşturulur. Bunu oluşturacak Excel hücre kodları program

41 tarafından ilgili hücrelere gönderilir. Noktalara gelen yükler, eleman bazındaki yüklerin aynı noktalardaki yüklerin toplanmasıyla bulunur. F = K . u olduğuna göre K-1 . F = u ifadesiyle sistem noktalarının deplasman matrisi elde edilir. Bunun için zamandan kazanıp daha kesin sonuçlar elde etmek için K matrisinin tersi Excel programına aldırıldı. Kodların bu kısmında ise ilgili hücreler kontrol ettirilerek işlemin yapılıp yapılmadığı kontrol edilir. Kontrol tamamlandıktan sonra u matrisinin doğru olarak elde edilmesi için Excel hücre kodlarının doğru kontrol edilip edilmediği kontrolü yapılır.

İşlem gereği dönüşüm matrislerinin devrik

dönüşümü de Excel programı tarafından yapılan işlemler arasında yer almaktadır. Bu kontrolü de programımıza yaptırarak hücre kodlarının silinmesine ya da bozulmasından dolayı oluşacak hesap hatalarına karşı önlemimizi almış olduk.

{ f } = [T ]T .[K ][. u ] + {P0 }

(5.14)

Denklem 5.14 ile kesit tesirleri hesaplanabilecek durumdadır. Bunun için önceki adımlarda hesapladığımız sistem bazındaki deplasman matrisi eleman bazına çevrilmektedir. Üç matris aynı anda çarptırılamadığı için Excel programında gerekli hücrelere program öncelikle TT.K matris çarpım kodlarını gönderdi. Daha sonra elde edilen matrisle u matrisi çarpım kodları gönderildi. Elde edilen ikinci matrisle P matrisi toplanarak kesit tesirleri sonucuna ulaşıldı. Bu sonuçlar ileride başka sebeplerden kullanılabilineceği için değişkenlerde saklanmak üzere kaydedildi.

İşlemler

yaptırdığımız Excel şablonu, program tarafından kapatılarak dosyanın zarar görmesi engellenmiş oldu.

Bu adımlar gerçekleşirken Excel programı görünmez olarak

çalışmaya programlanmıştır. Aksi halde kullanıcı müdahale ederek programın hata vererek kapanmasına, hatta şablon Excel dosyasının bozulmasına bile neden olabilir. Programın bu kısmındaki hesap yöntemleri Prof. M. Ruhi Aydın’ın [7] kitabındaki adımlar takip edilerek oluşturulmuştur. Daha sonraki hesap adımı maksimum kesit tesirlerinin bulunmasıdır. Program kodları maksimum kesit tesirlerinin ve bu tesirlerin elemanın hangi noktasında

42 olduğunu bulmaya programlanmıştır. Kesitlerdeki maksimum momentler ve noktası seçildikten sonra kesitte normal kuvvetin çekme olması halinde denklem Denklem 5.15’ e göre hesap yaptırıldı. Başka bir kontrol uygulanmamıştır.

σ= σ=

N M (Denklem 5.15) + A W

Nω M (Denklem 5.16) + 0.9. A W

Normal kuvvetin basınç olması halinde DIN 4114 (Temmuz 1952)’ ye göre burkulma tahkiklerinin yapılabilinmesi için dizaynda kullanılacak moment değerleri hesaplanmaktadır. [5] Moment seçimi Şekil 5.7’ye göre program tarafından otomatik olarak yapılmaktadır. Bu momentler hesaplandıktan sonra Denklem 5.16’ya göre kesit kontrolleri yapılır.

Şekil 5.7 Dizaynda kullanılacak moment hesabı

Kesit kontrollerinde kullanılmak üzere eleman burkulma katsayılarının bulunması için eleman burkulma boyları eleman boyunun yarısı alınarak program tarafından değişkenlerinde saklanır. Burkulma boyunun 0.8 katı ana menüde girilen bilgiler arasında olan atalet yarıçapına bölünerek elde edilen katsayı önceden hazırlanmış Microsoft Excel program dosyasındaki tablonun açılarak içinden o sayıya karşılık gelen burkulma katsayısı seçilmesiyle değişkenlerine kaydedilir.

Eğer λ

katsayısı 20’den küçük olursa burkulma katsayısı tablodan seçmeden 1 olarak alınır. λ katsayısı süneklik düzeyi yüksek sistemlerde 250’den büyük olamaz. Bu durumun

43 kontrolü yapılıp 250’den büyükse program tarafından uyarı verilmesi sağlanmıştır. (TS 648 1980) [9]. Burkulma katsayısının seçildiği Excel dosyası da katsayı seçildikten sonra, çalışması program tarafından sonlandırılmaktadır. Normal kuvvet durumuna göre Denklem 5.15 veya 5.16’ya göre her bir kesitteki gerilmeler hesaplanarak program değişkenlerine kaydedilmektedir. Eğer kesit kontrolü yapılsın seçeneği işaretli olarak hesap yapıldıysa kesit kontrolü hesapları yapılmaya başlanır. Kesit kontrolü menüsü ekrana gelerek işlemler başlar. Kesit öner seçeneği işaretli olmasaydı en ekonomik kesitleri seç, önerilen kesitlerle tekrar hesap ve kurtaran kesit öner düğmeleri ekrana gelmeyecekti. Kesit kontrolü menüsünde kesitlerdeki iç tesirlerin listelendiği bir bölüm, gerilme değeri ve bu değer 16000 ton/m2 den küçükse kırmızı renkte yetersiz yazan kutular ekrana getirilir.

Gerilmenin yeterli olduğu

durumlarda bu kutularda yeşil renkte tamam yazmaktadır. Kullanıcı bu kısımla kesitleri kolayca kontrol edebilmektedir. Bu bölümün yanında ise hesaplarda kullanılan diğer değerlerin kullanıcı tarafından kontrol edilebilinmesi için kesit özelliklerinin yazılı olduğu başka bir bölüm vardır. Kesit öner seçeneği seçtiğimiz için yazılım gerilme hesabını tersten yaparak kurtarması muhtemel kesitler seçmektedir ancak seçilen bu kesitlerin tekrar statik hesabı yapılmasıyla moment değerleri ve kesit alanı değişeceği için hesap sonuçları yetersiz olarak çıkabilir. Kesit önerisi hesapları I ve IPE profil kesit bilgilerinin bulunduğu Excel dosyalarının açılmasıyla başlar.

W =

W =

0.9.M (5.17) N .w 16000 − A M N 16000 − A

(5.18)

Her kesit için ayrı ayrı Denklem 5.17 veya Denklem 5.18’e göre yeterli olması muhtemel mukavemet momenti değerleri seçilir. Bu değer açılmış Excel tablolarının ilgili sütunundan tek tek aranır ve bu değerden büyük değer yakalandığı zaman tercih yapılmış olur. Yukarıdaki denklemde normal kuvvetten kaynaklanan gerilme hesabı

44 16000 değerinden büyükse sonuç negatif çıkmakta ve bu nedenle yazılım öneriyi hatalı seçmektedir. Bu hatanın düzeltilmesi için, normal kuvvetten kaynaklanan gerilmeyi tek başına 16000’i geçirecek kesit alanını veren bir kesit seçilmesiyle hesaba başlanıldı. Bu kesit seçildikten sonra normal işlemlere geri dönüldü. Bu sayede program gerilmeyi sağlayacak mukavemet momenti değerini, alanı hesaplanan alandan büyük olan kesitlerden seçerek sonuca ulaşıldı. Program I profilini X yönünde ve Y yönünde yerleşmiş durumuna göre her kesit için iki öneri sunar. Kuvvetli ve zayıf eksen olarak adlandırılan bu iki öneri her kesit için ekrana getirilir. Aynı işlemler IPE profilleri için de yapılır. Kesiti yeterli olan öneri bulunamazsa ilgili kutular boş bırakılır. Seçim yapıldıktan sonra açılan Excel dosyaları kapatılmıştır. Öneriler listelendikten sonra bu kesitlerin seçilebilinmesi için her kesit için ayrı seçim listeleri doldurulur.

Bu

listelerden programın önerdiği kesitlerden istersek I, istersek IPE profili olarak kuvvetli zayıf yönüne göre tercihler yapılabilinir.

Şekil 5.8 Kesit kontrolü menüsü Kesit kontrolü menüsünde (Şekil 5.8) yine kullanıcının hızını artıracak ek özellikler eklenmiştir. Programın listelediği kesitler arasından ekonomik olanları tek

45 tuşla seçmek için en ekonomik kesitleri seç düğmesi eklenmiştir.

Ekonomiklik

karşılaştırılması kesit alanı temel alınarak yapılmıştır. Bu komut verildikten sonra program listelerindeki kesitlerin alanlarını kontrol ederek, kesit alanı en küçük olan kesiti otomatik olarak seçerek seçilen kesit bölümüne yazmaktadır. Yapılan sayısız deneme sonucunda en ekonomik kesitler genel olarak IPE kuvvetli eksen olarak seçildiği görülmüştür. Bu komutla yeni seçilen kesitlerin yeterli olup olmadığının kontrolü yapılmamaktadır. En ekonomik kesitleri seçtirdikten sonra önerilen kesitle tekrar hesap düğmesiyle, seçilen kesit özellikleri otomatik olarak tanınarak statik hesaplar ve kesit kontrolü hesapları tekrar yapılmaktadır. Yeni kesit özellikleri ile moment değerleri değiştiği için ve kesit alanı değiştiği için, kesitlerden bazıları yetersiz olarak gözükmeye devam edebilir. tekrarlanabilir.

Bu aşamada kesitler tekrar seçilerek hesaplar

Program kullanıcısına hız kazandırmak amacıyla bu işlemleri kesit

güvenli olana dek tekrarlı olarak yapacak kurtaran kesit öner özelliği eklenmiştir. Bu özellik için ayrıca kod yazılmamış, öncelikle ekonomik kesitlerin seçildiği düğmeye bas komutu verilip ardından seçilen kesitlerle tekrar hesap komutu verilmiştir. Yetersiz kesitler kontrol edilerek, böyle bir durumun olması halinde adımları tekrar uygula komutu verilmiştir. Bu özellik eklendikten sonra ekonomik kesitleri seç ve tekrar hesap yap özellikleri gereksiz gibi görülse de kullanıcı kendi seçtiği profille hesap yapabilmesi için bu özellikler programdan çıkarılmamıştır. Hesaplar tamamlandıktan sonra yapılan hesapların kontrolünün otomatik olarak program tarafından hazırlanması sağlanmıştır. Rapor düğmesine basılarak yapılan işlemler ve sonuçları Microsoft Word açılarak yazdırılır. Örnek rapor Ek 8’de görülmektedir. Yapılan hesaplar sonucunda elde edilen sonuçlar inşaat mühendisliğinde sık kullanılan bir metot olan grafik olarak ekrana getirilmek istenmiştir (Şekil 5.9). Elde edilen kesit tesirlerinin ayrı ayrı ekrana grafik olarak gelebilmesi için ana menü üzerinden grafikler düğmesine basılması gerekmektedir. Bu komut verildikten sonra ekrana çerçevenin ölçekli olarak çizildiği menü gelmektedir. Buradaki çizim yöntemi program girdilerinden alınan bilgilerle, bilgisayarın belirlenen bir bölgesinde dxf uzantılı dosyalar oluşturulmaktadır. Oluşturulan bu dosyalar daha sonra form üzerinde çağrılarak ekrana getirilmektedir. Burada çerçeveye etki ettirilmiş yük sembolik olarak gösterilmiştir çizim orantılı olarak ekrana getirilmiştir. Aşırı ya da az yüklerin çizim

46 görünüşünü bozmaması için, programa büyütme katsayısı özelliği de eklenerek çizimi bozmadan yüklerin belli oranda büyüyüp küçülebilen bir şekilde çizilmesi sağlanmıştır. Çizimde görünmeyen kısımların olması halinde + düğmesiyle çizime yaklaşılıp – düğmesiyle çizimden uzaklaşılabilinir. Tam ekran olarak ekrana gelmesi için alttaki düğmeye basılabilinir.

Yön düğmeleri ile de çizim üzerinde hareket edilebilinir.

Kullanıcıya sistem hakkında bilgi vermesi için çubuk boyları da grafik üzerinde yazdırılmıştır. Yük girişinde yapılması muhtemel bir hatayı önlemek için ise yük yönünün sembolik olarak gösterildiği ok yönleri çizime dahil edilmiştir. Büyütme katsayısı değiştirildikten sonra çizimin yeniden yapılması için F düğmesine basılması gerekmektedir.

Şekil 5.9 Sistem bilgileri menüsü

47

Hesaplar sonucu elde edilen moment değerlerinin diyagramının çizilmesi için M düğmesine basılır. Program algoritmasının karmaşık süreçlerinden bir tanesi burada başlamaktadır. Moment diyagramı komutu verilmesiyle program ilk olarak, hesaplar sonucunda önceden kaydedilmiş Excel dosyasını açarak sistem bilgilerini ve hesap sonuçlarını okumaya başlar. Okuma işlemi tamamlandıktan sonra verilerin okunduğu dosya kapatılır. Bu süreçten sonra dxf dosyasının oluşturulma süreci başlamaktadır. dxf dosyalarının yapısı gereği dosya başları ve sonlarında aynı kodlar bulunmaktadır. Bu kodları her çizimde tekrar tekrar yazdırmak yerine, bu kodları oluşturacak alt yordamlar oluşturulmuş, gerektiği zaman kullanılmak üzere program tarafından çağırılmaktadır. Çizimlerin yapıldığı orta bölümler için ise her eleman ve her iç tesir için ayrı kodlar yazılmıştır. Bu kısımda çizgi komutu, çizginin çizileceği katman, çizgi ilk noktasının koordinatları, ve son noktasının koordinatları yazılmalıdır. İlk olarak sistem çizilmeye başlanır. Sistem oluşturulduktan sonra moment grafiği çizilmeye başlanır.

Yayılı yük olmayan a ve d çubuklarında çubukların başlangıcındaki ve

bitişindeki moment değerleri sistem üzerinde koordinatları girilerek noktalar konulur ve bu iki nokta birleştirilerek grafik oluşturulmuş olur. Ancak üzerinde yayılı yükün olabileceği b ve c kesitleri için üzerinde yük olup olmamasına göre ayrı ayrı kodlar yazılmıştır.

Üzerinde yük olmadığı durumda a ve d çubuğundaki yöntemle çizim

yapılmaktadır. Üzerinde yük varsa kesme kuvvetinin yön değiştirdiği bir nokta olup olmadığı program tarafından kontrol edilir. Böyle bir durumun olması durumunda maksimum momentin olduğu nokta hesaplanmaktadır (Şekil 5.10).

Şekil 5.10 Maksimum momentin oluştuğu nokta

48 Kesme değerlerine göre mesafeler hesaplandıktan sonra, yukarıdaki beş noktanın altında kalan alanlarla, bu noktalarda meydana gelen momentler hesaplanarak moment grafiği oluşturulur.

Bu noktaların artırılmasıyla grafik daha hassas bir biçimde

çizdirilebilinirdi ancak grafik çizimi, sadece görsel açıdan bize bir fikir vermesi için çizdirileceği için ayrıntıya gerek görülmemiştir.

Şekil 5.11 Moment diyagramının hesaplanması Kesme kuvvetinin yön değiştirmemesi durumunda Şekil 5.11’de görülen noktalar ve bunlarının altında kalan alanlara göre moment değerleri hesaplanarak bu noktaların birleştirilmesiyle moment grafiğine ulaşılmaktadır. Grafikler dxf dosyası oluşturulduktan sonra form üzerine çağrılarak görsel olarak kullanıcıya sunulmaktadır (Şekil 5.12).

49

Şekil 5.12 Moment diyagramının ekrana getirilmesi Normal kuvvet diyagramlarının çizilmesi için N düğmesine basılması gerekmektedir. Bu komutun verilmesiyle program tarafından hesaplanarak kaydedilmiş Excel dosyası açılarak sistem bilgileri ve hesap sonuçları okunur. Öncelikle sistem oluşturulur. Bu aşamadan sonra normal kuvvet değerleri grafiğe işlenmeye başlanır. Bu grafiklerin çizilme süreci momentin çizilmesi kadar zor değildir. Moment grafiği çiziminde ikinci derece fonksiyonlar olduğu için parabolik çizimi oluşturmak işlemleri uzatmaktadır. Normal kuvvet diyagramında ise çubukların başı ve sonundaki değerler alınarak koordinatları çizime işlenir. Bu iki nokta arası düz bir çizgiyle birleştirilerek grafik çizimi tamamlanmaktadır (Şekil 5.13).

50

Şekil 5.13 Normal kuvvet diyagramının ekrana getirilmesi Kesme kuvveti diyagramlarının ekranda görüntülenmesi için V düğmesine basılır. Bu grafiğin çizilme yöntemi de normal kuvvete benzemektedir. Program kesme kuvveti çizilsin komutunu almasıyla normal kuvvet çizilme yönteminden farklı olarak çubuk uçlarından normal kuvvet değerleri yerine kesme kuvveti değerlerini almaktadır (Şekil 5.14).

51

Şekil 5.14 Kesme kuvveti diyagramının ekrana getirilmesi Son olarak kullanıcıya deplasmanlar hakkında bir izlenim kazandırmak için deplasmanların çizildiği özellik eklenmiştir. Bu özelliğin kullanılması için u düğmesine basılmalıdır. Bu komutla program tekrar sistem bilgilerini ve hesap sonuçlarını almak için Excel dosyasına bağlanmaktadır. Bilgileri aldıktan sonra dosyayı kapatıp çizim işlemine başlamaktadır. Çizim yöntemi olarak sistem oluşturularak okunan deplasman değerleri koordinat olarak çizime işlenmektedir. Bu noktalar birleştirilerek sistem şekli ekrana getirilmektedir. Bu noktada çizilen şekil gerçekte sistemin alacağı şekil değildir, sadece deplasman noktalarının grafik olarak gösterilmesi için ekrana getirilmektedir (Şekil 5.15).

52

Şekil 5.15 Deplasman şemasının ekrana getirilmesi Grafik çizimlerinin ekrana getirilmesinden sonra bu menüye çerçeve köşe hesaplarının eklenmesi düşünülmüştür. Kullanıcıya yapması gereken hesaplarda zaman ve güvenilirlik kazandırmak amacıyla eklenmiştir.

Düğüm hesabı düğmesine

basılmasıyla bu hesabın yapılması için gerekli bilgilerin programa girileceği menü ekrana getirilir. Hesap, köşe birleşiminde Şekil 5.14 deki gibi oluşturulmuş birleşim için yapılmıştır

53

Şekil 5.16 Birleşim hesabı menüsü Bu menüde kaynak boylarının programa yazıldığı kutular ve kaynak boylarının şematik olarak ölçeksiz olarak gösterildiği şekil, ikinci birleşimden iç kuvvetlerin alınarak gerekli kutulara yazan bir komut düğmesi, üçüncü birleşimden iç kuvvetlerin alınarak gerekli kutulara yazan diğer bir komut düğmesi, bilgiler girildikten sonra hesapları başlatarak raporu oluşturan hesapla düğmesi ve hesaplar bittikten sonra ana menüye dönüşü sağlayan ana menü düğmesi form üzerinde yer almaktadır. Bu menüyle bizim çözdüğümüz sistem dışında herhangi bir düğüm de hesaplanabilinmektedir. Bu düğümdeki bilgiler girildikten sonra hesapla düğmesiyle hesaplara başlanılabilinir. Eğer çözdüğümüz sistemde 2. düğüm noktasının çözümünü yapmak istersek 2.Birleşim düğmesine basılarak iç tesirler gerekli kutulara yazılır.

Program, kaynak boyları

hakkında herhangi bir öneri yapmadan, sadece girilen büyüklüklere göre kontrol yapmaktadır. İlk olarak menü ekrana geldiğinde kullanıcıya bir fikir vermesi amacıyla boş olarak değil de bazı bilgilerle ekrana gelmesi düşünülmüştür. Hesapla düğmesine basılarak köşe düğüm noktası kaynak kontrolleri hesabına başlanılmış olur. Hesaplar

54 esnasında yetersiz bir kaynak boyu tespit edildiğinde program anında kullanıcıya bir uyarı mesajıyla bilgi vermektedir. Hesapların tamamlanmasıyla herhangi bir düğmeye basmaya gerek kalmadan hesap sonuçları raporu program tarafından oluşturulmaktadır. Bilgisayar programlarıyla hesapta hızlanmayı sağlayan en önemli özellikte bu hesap sonuçlarının da çok kısa bir sürede rapor haline getirebilmesidir. Hesap esnasında tespit edilen yetersiz kaynak boyu bu raporda kırmızı olarak yazılmaktadır.

Kaynak

kontrollerinde emniyet gerilmesine eşit bir durum çıkması halinde kullanıcıyı uyarmak amacıyla yine kırmızı olarak ekrana getirilmiştir. (Şekil 5.17)

Şekil 5.17 Birleşim hesabı raporu Yapılan hesaplar ve sonuçları açık ve net olarak raporda gösterilmektedir. Örnek rapor Ek 9’da görülmektedir. Bu sayede kullanıcı hesap esnasında nelerin yapıldığı konusunda tam olarak bilgilendirilmektedir.

Programın bu aşaması kodları

oluşturulurken Prof. A. Zafer Öztürk ve Prof. Dr. Hilmi Deren’ in [5], [8]hesap

55 yöntemleri takip edilmiştir. Hesapla komutunun verilmesiyle kesit bilgileri girişinde bir hata olup olmadığı program tarafından kontrol edilir. Eğer bir hata tespit edilirse hangi hücrede hata varsa, o hücre kullanıcının dikkatini çekmek amacıyla kırmızı renge çevrilir. Hata düzeltildiğinde renk tekrar normal rengine dönüşmektedir. Program hesap bilgilerini aldıktan sonra kaynak kesit özelliklerini hesaplar. Kaynak alanları, kaynak ağırlık merkezi, kaynak atalet momenti gibi değerler otomatik olarak kısa bir sürede hesaplanmaktadır. Bilgisayar programlarının en büyük özelliği aynı hesaplar tekrar tekrar yapılıyorsa, bu hesapları hızlı ve güvenli olarak yapabilmesidir. Aynı hesaplar tekrarlanırken, kullanıcı dikkati, belli bir süre sonra dağılabilmektedir. Hata yapma riski de buna bağlı olarak artmaktadır. Bu hesapları bilgisayara yaptırmakla kodlar ilk oluşturulurken zaman harcanılabilir ancak daha sonra hesaplarda kullanılmaya başlandığında zamandan daha fazla kazanç sağlandığı görülecektir. Bu hesapların elle yapılması halinde yapılma ihtimali yüksek hesap hataları da en aza indirilmektedir. Kaynak özellikleri hesaplandıktan sonra köşede meydana gelen iç kuvvetler kendi düzlemine dik olacak şekilde hesaplanır. Öncelikle üst tarafa çekme laması konulmamış kesitte bir gerilme kontrolü yapılır ve çekme lamasına gerek olup olmadığı konusunda kullanıcıya fikir verilir. Yetersiz olduğu durumda birleşimin çekme lamalı durumdaki kesit özellikleri hesaplanır. Her bir kaynak için dış kenarda ve ortadaki gerilme kontrolleri yapılır.

Kaynakta çekme mi basınç kuvveti mi oluşturulduğu

belirlenir. Enine levha ve kaynaklarındaki gerilme kontrolleri de program tarafından yapılmaktadır. En sonunda mukayese gerilme kontrolü de yapılarak işleme son verilir. Yapılan hesaplar kullanıcının kontrolü için de bir rapor olarak ekrana getirilir. Hesapların tamamlanmasıyla ana menüye dönüş ana menü düğmeleriyle yapılır. Program statik hesaplarının kontrolü için, hesapları yapılan sistemin, SAP2000 programıyla kontrol edilmesi düşünülmüştür. Bunun için SAP2000 ile sistemin her defasında modellenmesi zaman alacağı düşünülmüştür.

Bu zaman kaybını en aza

indirmek için, sistem bilgilerini SAP2000 in anlayacağı bir dosya formatında program çıktısı hazırlayan kod yazılmasına karar verilmiştir.

SAP2000 programının import

özelliğiyle dışardan sistem model alabilmesi özelliği kullanılmıştır (Şekil 5.18).

56

Şekil 5.18 SAP2000 dışardan bilgi okunabilen dosya listesi Sistem bilgilerini S2K dosyası formatında oluşturarak SAP2000’e kolayca aktarılması sağlanmıştır. Bu özelliği kullanmak için S2K dosyasının yapısı bilinmesi gerekmektedir. Oluşturulan S2K dosyasının içinde ne yazdığı Ek12‘de görülmektedir. Sistem oluşturulmadan önce, yanlışlık yapılmaması için sistem bilgileri kontrol edilmektedir.

Kontrol aşamasından sonra dosya formatına uygun sırada bilgiler

yazılarak dosya S2K formatına kayıt edilerek komut sonuna gelinir. Oluşturulan dosya bilgisayarın c sürücüsünün içinde 10ur klasörünün içinde cerceve klasörünün içinde SAP klasörünün içinde oluşturulmaktadır. Bu dosyayı açmak için SAP2000 programı açılarak File, import, SAP2000 .S2K dosyası seçilerek burada oluşturduğumuz dosya seçilerek aç düğmesine bastığımızda program bizim oluşturduğumuz dosyayı okumaya başlayacaktır (Şekil 5.19).

57

Şekil 5.19 SAP2000 dışardan bilgi okunması tamamlandı Bilgi okunması tamamlandıktan sonra OK düğmesine bastıktan sonra oluşturduğumuz sistem oluşturduğumuz kesit özellikleriyle ekrana gelir (Şekil 5.20). Kısa bir kodla bundan sonraki sistem modellemelerimizde çok fazla zaman kazanmış durumda oldundu. Bu program için eleman sayımız ve sistem özellikleri az olduğu için kazandığımız zaman gözükmüyor olabilir fakat daha karışık sistemlerde daha karışık mesnet şartları ve daha fazla yük olan sistem oluşturmak istediğimizde bu kısa kodlarla kazanılacak zaman daha iyi gözükmektedir. Bu yöntemle SAP2000 bilgi girişinde zaman kazanmak amaçlanmıştır. Gözümüzden kaçacak bir bilgi girişinin de önüne geçilmiş olunmuştur.

Şekil 5.20 SAP2000 ile sistem oluşturuldu

58 Ana menü üzerinde yer alan rapor düğmesiyle program tarafından yapılan statik hesaplar ve hesap sonuçları, hesap adımlarıyla rapor haline getirilir. Böylece kullanıcı yapılan işlemleri, hesap yöntemlerini adım adım takip ederek sonuçları kontrol edebilir. Rapor hazırlanırken boş bir Word sayfası açılır. Program tarafından hazırlanmış Excel dosyası açılarak sistem bilgileri, hesap sonuçları okunarak boş belgeye yazdırılmaya başlanır. Rapor tamamlandıktan sonra, istenirse kayıt edilerek bilgisayar ortamında, istenirse de yazdır komutuyla kağıda yazdırılarak saklanılabilinir. Örnek rapor dosyası Ek 10’da görülmektedir. Hakkında düğmesiyle ekrana, program hakkında bilgilerin bulunduğu menü çağrılır (Şekil 5.21). Bu menü de programın hangi amaçla, kim tarafından yazıldığı, hangi şartlarda çalışabileceği, hangi hesap yöntemi kullanıldığı yazmaktadır.

Şekil 5.21 Program hakkında menüsü

59 5.2. Örnekler 5.2.1 Örnek 1 Her elemanı I120 seçilmiş bir sistemin çatısında yayılı yük olarak 0.2 ton/m2 olarak yükleme yapılmıştır.X1, X2, Y1, Y2, Y3, Y4 mesafeleri 4m’dir. Bu sistemin iç kuvvet diyagramları çizilerek SAP2000 programıyla karşılaştırılacaktır. (E = 2.1 x 106 ton/m2) alınacaktır. 5.2.2 Çözüm 1 Sistem bilgileri Şekil 5.22’deki gibi olarak programa girilerek hesap düğmesine basılmıştır. Kesit seçimi, kesit seç düğmesi kuvvetli yön olarak seçilerek her elemana atanmıştır.

Şekil 5.22 Örnek1 bilgi girişi Hesaplar tamamlandıktan sonra rapor düğmesi ile hesap sonuçları rapor haline getirilmiştir. Bu örneğin raporu Ek 10’da görülmektedir. SAP2000 programıyla kıyas yapabilmemiz için SAP2000 düğmesine basarak SAP2000 modelini oluşturduktan

60 sonra SAP2000 programı ile analiz yapıldı. getirilmiştir.

Grafikler düğmesiyle sonuçlar ekrana

Karşılaştırmalı sonuçlar Şekil 5.24, Şekil 5.25 ve Şekil 5.26’da

görülmektedir.

Şekil 5.23 Örnek1 sistem bilgisi

(a)

(b)

Şekil 5.24 Örnek1 normal kuvvet karşılaştırması a)SAP2000 b)Çerçeve programı

61

(a)

(b)

Şekil 5.25 Örnek1 kesme kuvvet karşılaştırması a)SAP2000 b)Çerçeve programı

(a)

(b)

Şekil 5.26 Örnek1 moment karşılaştırması a)SAP2000 b)Çerçeve programı

62

Çizelge 5.4 Örnek1 sonuçlarının SAP2000 ile karşılaştırılması

Noktalar 12 21 23 32 34 43 45 54

N 0.8000 0.8000 0.7483 0.1827 0.1827 0.7483 0.8000 0.8000

SAP2000 V 0.2583 0.2583 0.3830 0.1827 0.1827 0.3830 0.2583 0.2583

M 0.4970 0.5362 0.5362 0.0306 0.0306 0.5362 0.5362 0.4970

N 0.8000 0.8000 0.7483 0.1827 0.1827 0.7483 0.8000 0.8000

CERCEVE V 0.2583 0.2583 0.3830 0.1827 0.1827 0.3830 0.2583 0.2583

M 0.4970 0.5362 0.5362 0.0306 0.0306 0.5362 0.5362 0.4970

Çizelge 5.4’te görüldüğü gibi program sonuçları SAP2000 ile karşılaştırıldığında virgülden sonra dört haneye kadar birebir aynısı çıkmaktadır. 5.2.3 Örnek 2 a ve d kesitleri IPE120, b ve c kesitleri IPE200 olarak seçilmiş bir sistemin sol çatısında yayılı yük olarak -0.1 ton/m2 yük bulunmaktadır. Sağ çatısında ise yük yoktur. X1, Y1, Y3 mesafeleri 4m, X2, Y2, Y4 mesafeleri ise 5m’dir. Bu sistemin iç kuvvet diyagramları çizilerek SAP2000 programıyla karşılaştırılacaktır. (E = 2 x 106 ton/m2) alınacaktır. 5.2.4 Çözüm 2 Sistem bilgileri Şekil 5.27’deki gibi olarak programa girilerek hesap düğmesine basılmıştır. Kesit seçimi, kesit seç düğmesine basılarak kuvvetli yön olarak seçilerek ilgili elemanlar için atanmıştır. Kesit kontrolü ve kesit önererek hesap seçenekleri gerek olmadığından seçilmemiştir.

63

Şekil 5.27 Örnek2 bilgi girişi SAP2000 programıyla kıyas yapabilmemiz için SAP2000 düğmesine basarak SAP2000 modelini oluşturduktan sonra SAP2000 programı ile analiz yapıldı. Grafikler düğmesiyle sonuçlar ekrana getirilmiştir. Karşılaştırmalı sonuçlar Şekil 5.29, Şekil 5.30, Şekil 5.31’de görülmektedir.

64

Şekil 5.28 Örnek2 sistem bilgisi

(a)

(b)

Şekil 5.29 Örnek2 normal kuvvet karşılaştırması a)SAP2000 b)Çerçeve programı

65

(a)

(b)

Şekil 5.30 Örnek2 kesme kuvvet karşılaştırması a)SAP2000 b)Çerçeve programı

(a)

(b)

Şekil 5.31 Örnek2 moment karşılaştırması a)SAP2000 b)Çerçeve programı

66 Çizelge 5.5 Örnek2 sonuçlarının SAP2000 ile karşılaştırılması

Noktalar 12 21 23 32 34 43 45 54

N 0.3132 0.3132 0.2772 0.0352 0.0983 0.0983 0.0868 0.0868

SAP2000 V 0.0522 0.0522 0.1549 0.0950 0.0245 0.0245 0.0522 0.0522

M 0.0843 0.1246 0.1246 0.0670 0.0670 0.1061 0.1061 0.1028

N 0.3132 0.3132 0.2772 0.0352 0.0983 0.0983 0.0868 0.0868

CERCEVE V 0.0522 0.0522 0.1549 0.0950 0.0245 0.0245 0.0522 0.0522

M 0.0843 0.1246 0.1246 0.0670 0.0670 0.1061 0.1061 0.1028

Çizelge 5.5’te görüldüğü gibi program sonuçları SAP2000 ile karşılaştırıldığında virgülden sonra dört haneye kadar birebir aynısı çıkmaktadır. 5.2.5 Örnek 3 X1ve X2 mesafeleri 3’er m, kolon boyunun 6m ve çatı yüksekliğinin 2m olduğu sistem verilmiştir. Sistemde sol ve sağ taraftaki çatıda yükler dörder aşıkla çerçeveye aktarılmaktadır. Aşık uzunluğu 6m için çatı kaplaması 8 kg/m2, kar yükü 75 kg/m2, aşık ağırlığı 7 kg/m 2, Rüzgar ve rijitlik bağlantısı ağırlıkları 1.4 kg/m2 yükleri uygulanan sistem için, kurtaran kesitler önerilerek, her kesitin aynı olduğu sistem seçilmesi istenmiştir.

Bu sistemin deplasman ve gerilme değerlerini hesaplayarak bir rapor

hazırlanacaktır. Bulunan deplasman değerleri SAP2000 ile karşılaştırılacaktır. (E = 2.1 x 106 ton/m2) alınacaktır. 5.2.6 Çözüm 3 Sistem bilgileri Şekil 5.32’deki gibi olarak programa girilmiştir. Kesit olarak I120 profili seçilerek her kesite atanmıştır. Örnek 3’te verilen veriler doğrultusunda aşık yüklerinin hesaplanması için aşık yükü düğmesine basılır. Ekrana gelen menü Şekil 5.33 gibi doldurulmuştur. Çatı düzlemindeki yük program tarafından otomatik olarak yatay düzleme dönüştürülerek ekrana gelmiştir. Çerçeveye gelen toplam yük

67 yayılı yüke çevrilerek sisteme otomatik olarak etki ettirilmiş olur. Kesit kontrolü ve kesit önererek hesap seçenekleri seçilerek hesap düğmesine basılır.

Şekil 5.32 Örnek3 bilgi girişi

Şekil 5.33 Örnek3 aşık yükü hesabı

68 Hesaplar tamamlandıktan sonra gerilme kontrolleriyle program tarafından önerilen kesitler ekrana getirilir (Şekil 5.34).

Şekil 5.34 Örnek3 yetersiz kesit kontrolü Bu aşamada programa kurtaran kesit öner komutu verilmiştir.

Bu komutla

birlikte program kurtarması muhtemel kesitleri seçerek hesabı tekrarlamaktadır. Bütün kesitler güvenli çıktıktan sonra hesaplar bitirilmektedir. Tekrarlı hesaplar sonucunda program kesitleri seçmiştir (Şekil 5.33).

Şekil 5.33 Örnek3 yeterli kesit kontrolü

69 Örnekte bütün kesitlerin aynı olması istendiği için tamam diyerek ana menüye dönülür ve kesit seç diyerek önerilen kesitlerden en büyük olanı bütün kesitler için seçilmiştir. Hesaplar tamamlandıktan sonra ana menü üzerindeki rapor düğmesi ile hesap sonuçları rapor haline getirilmiştir.

Bu örneğin raporu Ek 11’de görülmektedir.

SAP2000 programıyla kıyas yapabilmemiz için SAP2000 düğmesine basarak SAP2000 modelini oluşturduktan sonra SAP2000 programı ile analiz yapıldı.

Program ve

SAP2000 ile elde edilen deplasmanlar çizelge 5.6’da karşılaştırılmaktadır. Sonuçlar virgülden sonra dört haneye kadar aynı çıkmıştır. Çizelge 5.6 Deplasmanların SAP2000 ile karşılaştırılması

Nokta 1 Nokta 2 Nokta 3 Nokta 4 Nokta 5

U1 0.0000 -0.0878 0.0000 0.0878 0.0000

SAP2000 U3 0.0000 -0.0027 -0.1357 -0.0027 0.0000

Çerçeve Programı R2 U1 U3 R2 0.0000 0.0000 0.0000 0.0000 0.0426 -0.0878 -0.0027 0.0426 0.0000 0.0000 -0.1357 0.0000 -0.0426 0.0878 -0.0027 -0.0426 0.0000 0.0000 0.0000 0.0000

5.2.7 Örnek 4 Kaynak boylarının ve düğüm noktası iç kuvvet değerlerinin Şekil 5.36’da verildiği sistemin kaynak kontrollerini yaparak, kurtaran kaynak boylarını hesapladıktan sonra raporun hazırlanması.

70

Şekil 5.36 Örnek4 kaynak boyları hesabı 5.2.8 Çözüm 4 Ana menü üzerinde grafikler düğmesine basarak, daha sonrada düğüm hesabı düğmesine basarak köşe kaynak hesabı menüsü ekrana getirilir. Sistem bilgileri Şekil 5.36’daki gibi olarak programa girilmiştir.

Hesapla komutunu vererek işlemlere

başlanmıştır. Yetersiz bir kesit olmadığı için herhangi bir uyarıyla karşılaşılmamıştır. Word e aktar komutuyla hesaplanan değerler bir Word dosyası açılarak Ek 9’da görülen rapor haline otomatik olarak getirilmiştir.

71 6. SONUÇ VE ÖNERİLER Bilgisayar programlarının kullanılmaya başlanmasıyla, birçok karmaşık hesap ve denklem çözmek zorunda kalınan çelik yapı proje hesaplarında daha hatasız ve hızlı sonuçlara ulaşılması

sağlanmıştır. Bunlar hazır modüller kullanılarak, kendi

modüllerimizi kendimiz hazırlayarak, bazı program çıktılarının kullanılabilecek sonuçlarını kullanarak ya da projeyi baştan sona hazırlayan paket programlar kullanarak olabilir. Buradaki en önemli nokta ise, programlara doğru bilgiler verildiğinde doğru çözüme ulaşılır. Doğru çözüme ulaşmak programlar iyi tanınmalı, hesap yöntemlerini, hangi hesapları hangi yönetmeliğe göre yapıldığını, hangi hesapların yapılamadığının iyi bilinmesi gerekmektedir.

Programlardaki güncellemeler bazı hataları gidermek,

yenilikleri eklemek ve ek özellikler kazandırmak için yapılırlar. Bu programlara sonuna kadar güvenmemeyi gösterir. Doğru bilgi girişi ile kullanılarak çözülmüş bir projede çok fazla zaman kazanılacağı kesindir ve yapılan hesaplar daha doğrudur. Daha az hatayla, daha az zamanda daha güvenli projeler üretebilmek için bilgisayarlardan destek alınmalıdır. Kullanılan programlar son halleriyle kullanılmalıdırlar. Çelik proje çözümünde tekrarlı hesaplardan kaçınarak zaman kazanmak ve hata payını en aza indirmek için program yazmaya karar verilirse, algoritmaları kurmaya başlamadan konu hakkında araştırmalar yapılarak konuya hakim olunmalıdır. Yönetmeliklerde istenen son hesaplar düşünülmelidir. Hesaplar için kullanılacak bilgi girişlerini program tarafından doğru ve eksiksiz alınması için menüler düşünülmelidir. Menülerde bilgi girişi hızlı olacak şekilde düşünülmeli, kullanıcıyı birimler konusunda uyararak hata yapılması önlenilmelidir. Gereksiz bilgi girişleriyle kullanıcı dikkatini dağıtarak hatalara sebep olmaktan kaçınarak bilgi girişinin de daha hızlı olunmasını sağlayacak sade menüler oluşturulmalıdır. Hesaplar tamamlandıktan sonra alışılmış bir formatta, hesap aşamasının her adımı, hesap yöntemleriyle birlikte rapor haline getirilerek kontrol edilmesi sağlanılmalıdır.

Hesaplar sonucunda bir hata varsa

kullanıcının dikkatini çekerek bu eksikliklerden kullanıcı bilgilendirilmelidir. Program yazmak zaman alan ve dikkat isteyen bir iştir. Bu sebeple yazması düşünülen programa başlamadan önce kazandıracağı zaman gibi faktörleri göz önüne alınarak karar verilmelidir. Program kodları oluşturulurken kodlar arasına notlar alarak daha sonra

72 ekleme ya da düzeltme yapılmak istenirse, daha az hatayla daha az sürede ekleme şansı elde edilir. Program oluşturulduktan sonra deneme yapmak yerine, her aşamada farklı denemeler yaparak program test edilmelidir. Proje çözümlerinde bilgisayar desteği kullanılıyorsa, hesap sonuçları mutlaka kontrol edilmelidir. Çelik yapı proje aşamasında hızlı bir şekilde güvenli sonuçlara ulaşmak için yazılan programlarda, amaçlanan hız ve güvenlik sağlanmıştır. Gerek programlama aşamasında, gerekse kontrol için yapılan örneklerde doğru sonuçlara ulaşılmıştır, ancak tablolar kullanılarak yapılan işlemelerde tablo dışına çıkılmamıştır. Tablodaki değerler arasında bir sonuç çıkarsa, ara değer hesabı yapılarak işlemlere devam edilmiştir. Programdan daha hassas sonuçlar istenirse, tabloların kullanılması yerine bu tabloların hazırlandığı formüller kodlara eklenebilir. Ancak bu işlem programın tamamlanma sürecini çok uzatacaktır.

Ayrı ayrı yazılmış programlar tek bir program altında

toplanarak işlemlerin devamlılığı sağlanabilir. eklenerek program zenginleştirilebilir.

Yaygın kullanılan sistem çözümleri

Sadece düşey yük değil, yatay yükler de

eklenilebilir. Bunun yanında yayılı yüklere tekil yükler hatta momentler de eklenerek model oluşturma zenginleştirilebilir. hazırladığı kodlar eklenebilir.

Hesap sonuçlarına göre kesit çizimlerinin

Kaynak kontrolü menüsünde kaynak kalınlıklarının

önerildiği ek özellik eklenebilir. Her eklenen özellik ekleme aşamasında ve kontrol aşamasında zaman alacağı için ne kadar kullanılabilir olacağı mutlaka göz önüne alınmalıdır.

73 KAYNAKLAR DİZİNİ [1] Yardımcı, N., 2005, Türkiye’de çelik yapılar, Türkiye Mühendislik Haberleri [2] Çelik yapılar el kitabı, İMO İzmir Şubesi, 1985/1 [3] Karaduman, M., 1999, Çelik yapılar cilt I, Birsen Yayınevi [4] Erşen, N., Çelik yapılar ve çözümlenmiş problemler, Birsen Yayınevi [5] Öztürk, Z., 2002, Çelik yapılar, Birsen Yayınevi [6] Doğan, M., 2005, Yapı Statiği II ders notları [7] Aydın, R., 2003, Yapı statiği cilt II, Osmangazi Üniversitesi Basım Evi [8] Deren, H., Uzgider, E., Piroğlu, F., Kasım 2002, Çelik yapılar, Çağlayan Kitapevi [9] TS 648, Çelik Yapıların Hesap ve Yapım Kuralları, TSE, 1980 [10] TS 498, Yapı Elemanlarının Boyutlandırılmasında Alınacak Yüklerin Hesap Değerleri, TSE , 1987 [11] Deprem bölgelerinde yapılacak binalar hakkında esaslar, Mart 2007

EKLER

Bilgisayar Destekli Çelik Yapı Tasarımı Ek.1. TABLO.XLS Makrosu Private Sub CommandButton1_Click() satir = InputBox("Lütfen SAP çıktısındaki satır sayısını girin") For i = 1 To satir Cells(i, 1).Select A = Cells(i, 1).Value B = ActiveCell.Offset(0, 1).Value yuk = A & B yuksayi = Left(A, 2) yukad = LTrim(Mid(yuk, 3, Len(yuk))) If IsNumeric(yuksayi) Then k = yuksayi + 2 ElseIf yuksayi = "" Then k=k End If Select Case yukad Case "" j=j k=k Case "ZATI" j = "M" Case "KAR" j = "P" Case "RUZGAR" j = "Q" Case "KARSOL" j = "N" Case "KARSAG" j = "O" Case "COMB1" j = "S" Case "COMB3" j = "T" Case "RUZGARSA" j = "R" Case Else j = "AA" End Select isim = j & k If A = "" And B = "0" Then C = Cells(i, 3).Value Range(isim).Value = C End If Next i say = 1000 satirt = satir + 2 For z = satirt To 1 Step -1 Cells(z, 3).Select onur = Cells(z, 3).Value If onur = "" Then ActiveCell.Offset(-1, 0).Select

tuna = ActiveCell.Value If tuna = "" Then ActiveCell.Offset(-1, -1).Select uzunluk = ActiveCell.Value If uzunluk = "LOC" Then End End If ActiveCell.Offset(-2, 0).Select sıf = ActiveCell.Value If sıf = "0" Then ActiveCell.Offset(-1, -1).Select say = ActiveCell.Value say = Left(say, 2) say = say + 2 Else ActiveCell.Offset(-2, 0).Select sıf2 = ActiveCell.Value If sıf2 = "0" Then ActiveCell.Offset(-1, -1).Select say = ActiveCell.Value say = Left(say, 2) say = say + 2 End If End If End If End If Cells(z, 3).Select Ad = "L" & say Range(Ad).Value = uzunluk Next z End Sub Private Sub CommandButton2_Click() Load Hakkinda Hakkinda.Show End Sub Sub Makrom() Load Hakkinda Hakkinda.Show End Sub Private Sub CommandButton1_Click() Unload Me End Sub

Ek.2. SAPOUTPUTOKU.XLS Makrosu Dim deger(65536) As String Dim a(65536) As String Dim Loc(65536) As String Private Sub CommandButton1_Click() Open "c:\tezoutputdata.txt" For Input As #1 satir = 1 Do While Not EOF(1) Input #1, deger(satir) '65536 satıra kadar çalışıyor satir = satir + 1 Loop Close 'SAP 7.42 Çıktısı Formatında Olup Olmadığının Kontrolü If Left(deger(2), 19) = "SAP2000 v7.42 File:" Then tamam = "TAMAM" Else MsgBox ("Bilgi Almaya çalıştığınız dosya output formatında değil ve program doğru çalışmaybilir") End If 'Sadece FRAME ELEMENT FORCES Dosyası Olup Olmadığının Kontrolü If Left(deger(5), 40) = "F R A M E E L E M E N T F O R C E S" Then tamam = "TAMAM" Else MsgBox ("Bilgi Almaya çalıştığınız dosya SADECE değil ve program doğru çalışmayabilir") End If 'Bütün değerler okundu ve hafızaya kaydedildi. '=============================================== 'For i = 4 To satir 'Range("A" & i).Value = "" 'Range("B1").Value = "" 'Range("F1").Value = "" 'Next i 'Bütün Hücreler Temizlendi. '=============================================== birim = Right(deger(2), 20) birim = Left(birim, 6) For i = 0 To 6 kontrol = Left(Right(birim, i + 1), 1) If kontrol = " " Then birimharfsayisi = i Exit For Else birimharfsayisi = i End If Next i birim = Right(birim, birimharfsayisi) Range("A1").Value = "Birim =" Range("B1").Value = birim ' Birim Seçildi ve B1 hücresine yazıldı Range("A2").Value = deger(5) ' Kaç Yük Kombinasyonu Var Bulalım sayac1 = 0 For i = 9 To satir Step 4 a(i) = Mid(deger(i), 1, 3)

a(5) = a(9) sayac1 = sayac1 + 1 If a(i) a(i - 4) Then Exit For End If Next i Range("F1") = sayac1 - 1 ' Kaç Yük Kombinasyonunu Buladuk ' Kaç Eleman Var Bulalım elemansayisi = deger(satir - 5) hane = Len(elemansayisi) For i = 1 To hane kontrol = Left(elemansayisi, i) If Not IsNumeric(kontrol) Then elemansayisi = Left(elemansayisi, i - 1) Exit For End If Next i Range("I1").Value = elemansayisi 'Eleman Sayısı da bulundu 'Şimdi Tabloyu Dolduralım.(4. satırdan başilıyor) For i = 9 To satir If deger(i) = "" Then i=i+2 End If Loc(i) = deger(i) ' Mod4 = 1 için yapıldığında 2. elemana geçerken bırakılan boşlukta mod4=2 olması gerekiyor. Bu sebepten olmadı. Yük Kombinasyon Adının sonu Rakam olmamalı If Not IsNumeric(Right(Loc(i), 1)) Then frameveYuk = Loc(i) 'Frame Adının Alınması frameveYukuzunlugu = Len(Loc(i)) For t = 1 To frameveYukuzunlugu Frame = Mid(frameveYuk, t, 1) If Frame = " " Then Exit For End If Next t frameuzunlugu = t - 1 Yukuzunlugu = frameveYukuzunlugu - frameuzunlugu Frame = Left(frameveYuk, frameuzunlugu) Yuk = Right(frameveYuk, Yukuzunlugu) GoTo gel1: End If uzunluk = Len(Loc(i)) For x = 1 To uzunluk kontrol = Mid(Loc(i), x, 1) If kontrol = " " Then Exit For End If Next x Loc(i) = Left(Loc(i), x - 1) Range("C" & i - 6) = Loc(i) 'C sütunu dolduruldu 'I sütunu doldurulalım Range("I" & i - 6) = Right(deger(i), 12) 'I sütunu dolduruldu

'H sütunu doldurulalım uzunluk1 = uzunluk - 12 M2 = Left(deger(i), uzunluk1) Range("H" & i - 6) = Right(M2, 12) 'H sütunu dolduruldu 'G sütunu doldurulalım uzunluk2 = uzunluk1 - 12 t = Left(deger(i), uzunluk2) Range("G" & i - 6) = Right(t, 12) 'G sütunu dolduruldu 'F sütunu doldurulalım uzunluk3 = uzunluk2 - 12 V3 = Left(deger(i), uzunluk3) Range("F" & i - 6) = Right(V3, 12) 'F sütunu dolduruldu 'E sütunu doldurulalım uzunluk4 = uzunluk3 - 12 V2 = Left(deger(i), uzunluk4) Range("E" & i - 6) = Right(V2, 12) 'E sütunu dolduruldu 'D sütunu doldurulalım uzunluk5 = uzunluk4 - 12 P = Left(deger(i), uzunluk5) Range("D" & i - 6) = Right(P, 12) 'D sütunu dolduruldu 'Eleman ve Yuk Bilgilerini Yazalım Range("A" & i - 6) = Frame Range("B" & i - 6) = Yuk 'Eleman ve Yuk Bilgilerini Yazdık gel1: Next i End Sub

Ek.3. Gezer Vinç Program Kodları Public Class Form1 Dim appXL As New Excel.Application Dim rif, ry, v As String Dim guncelle, G, excelle As Long Dim aciklik As Object Dim topla, topla1, topla2, labli As Object Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged rif = TextBox2.Text guncelle = Val(guncel.Text) guncelle = guncelle + 1 guncel.Text = guncelle End Sub Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged ry = TextBox3.Text guncelle = Val(guncel.Text) guncelle = guncelle + 1 guncel.Text = guncelle End Sub Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged v = TextBox4.Text guncelle = Val(guncel.Text) guncelle = guncelle + 1 guncel.Text = guncelle End Sub Private Sub TextBox5_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles guncel.TextChanged 'Vinç Grubu Başı Kontrol Edilmesi lazım If rif = "Küçük" And ry = "Küçük" And v = "Normal" Then TextBox1.Text = "1" ElseIf rif = "Küçük" And ry = "Küçük" And v = "Kuvvetli" Then TextBox1.Text = "2" ElseIf rif = "Küçük" And ry = "Büyük" And v = "Normal" Then TextBox1.Text = "2" ElseIf rif = "Büyük" And ry = "Küçük" And v = "Normal" Then TextBox1.Text = "2" ElseIf rif = "Küçük" And ry = "Büyük" And v = "Kuvvetli" Then TextBox1.Text = "3" ElseIf rif = "Büyük" And ry = "Küçük" And v = "Kuvvetli" Then TextBox1.Text = "3" ElseIf rif = "Büyük" And ry = "Büyük" And v = "Normal" Then TextBox1.Text = "3" ElseIf rif = "Büyük" And ry = "Büyük" And v = "Kuvvetli" Then TextBox1.Text = "4" End If 'Vinç Grubu Sonu 'Vurma Katsayısı Tayini If TextBox6.Text 1 And RadioButton9.Checked = True Then TextBox12.Text = 1.2 ElseIf TextBox6.Text 1.5 And RadioButton9.Checked = False Then TextBox12.Text = 1.2 End If End Sub Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged ' Y katsayısı Başı G = TextBox1.Text If G = "1" Then TextBox5.Text = "1.2" ElseIf G = "2" Then TextBox5.Text = "1.4" ElseIf G = "3" Then TextBox5.Text = "1.6" ElseIf G = "4" Then TextBox5.Text = "1.9" End If ' Y Katsayısı Sonu End Sub Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged TextBox2.Text = "Küçük" End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged TextBox2.Text = "Büyük" End Sub Private Sub RadioButton4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged TextBox3.Text = "Küçük" End Sub Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton4.CheckedChanged TextBox3.Text = "Büyük" End Sub Private Sub RadioButton6_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton5.CheckedChanged TextBox4.Text = "Normal" End Sub Private Sub RadioButton5_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton6.CheckedChanged TextBox4.Text = "Kuvvetli" End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load RadioButton1.Checked = True RadioButton3.Checked = True RadioButton5.Checked = True RadioButton7.Checked = True RadioButton9.Checked = True End Sub Private Sub RadioButton9_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton9.CheckedChanged guncelle = Val(guncel.Text) guncelle = guncelle + 1 guncel.Text = guncelle

End Sub Private Sub RadioButton10_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton10.CheckedChanged guncelle = Val(guncel.Text) guncelle = guncelle + 1 guncel.Text = guncelle End Sub Private Sub TextBox6_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox6.TextChanged guncelle = Val(guncel.Text) guncelle = guncelle + 1 guncel.Text = guncelle End Sub Private Sub excel_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles excel.TextChanged Dim A As Object Dim hucre, sutun, satır, deneme As Object Dim KTC, TLH, XXX, BXX, KYX, KTA, BR1, BR2, KR1, KR2, KRG As Object satır = Val(satir.Text) KTC = "D" & satır TLH = "E" & satır XXX = "F" & satır BXX = "G" & satır KYX = "H" & satır KTA = "I" & satır BR1 = "J" & satır BR2 = "K" & satır KR1 = "L" & satır KR2 = "M" & satır KRG = "N" & satır '1- Projet - Preferences içerisinden : "Microsoft Excel 11.0 Object Library" seçilir Ok. tusuna basilir. '2- profilGleri.xls c:\ ye kopyalanmalı On Error Resume Next Dim path As Object path = "c:\10ur\Kren\" appXL.Workbooks.Open(path & "kapasitetablosu.xls") KTC = (appXL.Range(KTC).Value) TLH = (appXL.Range(TLH).Value) XXX = (appXL.Range(XXX).Value) BXX = (appXL.Range(BXX).Value) KYX = (appXL.Range(KYX).Value) KTA = (appXL.Range(KTA).Value) BR1 = (appXL.Range(BR1).Value) BR2 = (appXL.Range(BR2).Value) KR1 = (appXL.Range(KR1).Value) KR2 = (appXL.Range(KR2).Value) KRG = (appXL.Range(KRG).Value) TextBox13.Text = KTC TextBox14.Text = TLH TextBox15.Text = XXX TextBox16.Text = BXX TextBox17.Text = KYX TextBox18.Text = KTA TextBox19.Text = BR1 TextBox20.Text = BR2 TextBox21.Text = KR1 TextBox22.Text = KR2

TextBox23.Text = KRG appXL.Application.Quit() Form6.Show() Form6.TextBox19.Text = BR1 Form6.TextBox20.Text = BR2 Form6.TextBox21.Text = KR1 Form6.TextBox22.Text = KR2 End Sub Private Sub RadioButton8_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton8.CheckedChanged ComboBox2.Visible = True ComboBox3.Visible = False End Sub Private Sub RadioButton7_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton7.CheckedChanged ComboBox3.Visible = True ComboBox2.Visible = False End Sub Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox3.SelectedIndexChanged aciklik = (ComboBox3.Text) TextBox7.Text = aciklik / 1000 Select Case aciklik Case 8750 satir2.Text = 1 Case 11250 satir2.Text = 2 Case 13750 satir2.Text = 3 Case 16250 satir2.Text = 4 Case 18750 satir2.Text = 5 Case 21250 satir2.Text = 6 End Select excelle = Val(excel.Text) excelle = excelle + 1 excel.Text = excelle End Sub Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged aciklik = (ComboBox2.Text) TextBox7.Text = aciklik / 1000 Select Case aciklik Case 8350 satir2.Text = 1 Case 10850 satir2.Text = 2 Case 13350 satir2.Text = 3 Case 15850 satir2.Text = 4 Case 18350 satir2.Text = 5 Case 20850

satir2.Text = 6 Case 23350 satir2.Text = 7 Case 25850 satir2.Text = 8 Case 28350 satir2.Text = 9 End Select excelle = Val(excel.Text) excelle = excelle + 1 excel.Text = excelle End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged ComboBox3.Enabled = True ComboBox2.Enabled = True Select Case (ComboBox1.Text) Case 3 satir1.Text = 4 Case 5 satir1.Text = 13 Case 8 satir1.Text = 22 Case 10 satir1.Text = 31 Case 12.5 satir1.Text = 40 Case 16 satir1.Text = 49 Case 20 satir1.Text = 58 Case 32 satir1.Text = 67 Case 50 satir1.Text = 76 Case 80 satir1.Text = 85 Case 100 satir1.Text = 94 End Select End Sub Private Sub satir_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles satir1.TextChanged topla1 = Val(satir1.Text) topla2 = Val(satir2.Text) topla = topla1 + topla2 satir.Text = topla End Sub Private Sub satir2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles satir2.TextChanged topla1 = Val(satir1.Text) topla2 = Val(satir2.Text) topla = topla1 + topla2 satir.Text = topla End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click KrenKirisHesabi.Show() Me.Hide() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim cıkıs As Object cıkıs = MsgBox("Programdan çıkmak istediğinizden emin misiniz? ", 35, "Çıkış ") If cıkıs = 6 Then End End If End Sub Private Sub TextBox19_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox19.TextChanged Button1.Enabled = True End Sub Private Sub TextBox10_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox10.TextChanged labli = Val(TextBox10.Text) / Val(TextBox25.Text) TextBox26.Text = VB6.Format(labli, "0.00") End Sub Private Sub TextBox25_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox25.TextChanged labli = Val(TextBox10.Text) / Val(TextBox25.Text) TextBox26.Text = VB6.Format(labli, "0.00") End Sub End Class Public Class KrenKirisHesabi Dim appXL As New Excel.Application Dim R1x, r2x, r1n, r2n, lk, h, kkb, l, abl, ustu, altı, Y, cs, vk As Object Dim path, X1, M1, X2, M2, X3, M3, X4, M4, T0, T1 As Object Dim Abla, AblE, BX1, BM1, BX2, BM2, BX3, BM3, BX4, BM4, BT0, BT1, labli As Object Dim fX1, fM1, fX2, fM2, fX3, fM3, fX4, fM4, fT0, fT1 As Object Dim SM1X, SM2X, SM3X, SM4X, SM1Y, SM2Y, SM3Y, SM4Y, ST0X, ST1X, ST0Y, ST1Y, YMI, YMII, YM1, YM2, sutun, SYMI, SYMII, SYM1, SYM2 As Object Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form1.Show() Me.Close() End Sub Private Sub KrenKirisHesabi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Y = Form1.TextBox5.Text R1x = Form1.TextBox19.Text r2x = Form1.TextBox20.Text r1n = Form1.TextBox21.Text r2n = Form1.TextBox22.Text lk = Form1.TextBox7.Text h = Form1.TextBox14.Text kkb = Form1.TextBox24.Text kkb = (kkb - lk) / 2 l = Form1.TextBox10.Text cs = Form1.TextBox9.Text vk = Form1.TextBox12.Text labli = Val(Form1.TextBox26.Text) TextBox1.Text = lk

TextBox2.Text = h / 1000 TextBox3.Text = kkb TextBox4.Text = R1x TextBox5.Text = r2x TextBox6.Text = r1n TextBox7.Text = r2n TextBox8.Text = l TextBox21.Text = Y TextBox37.Text = cs TextBox35.Text = vk TextBox52.Text = labli Select Case cs Case 3 sutun = "B" Case 4 sutun = "C" Case 5 sutun = "D" Case 6 sutun = "E" Case 7 sutun = "F" Case 8 sutun = "G" Case 9 sutun = "H" End Select 'Excele Git ve Değerleri Al YMI = sutun & "8" YMII = sutun & "9" YM1 = sutun & "12" YM2 = sutun & "13"

'1- Projet - Preferences içerisinden : "Microsoft Excel 11.0 Object Library" seçilir Ok. tusuna basilir. '2- yayiliyukmomentleri.xls c:\10ur\Kren\ na kopyalanmalı On Error Resume Next Dim path As Object path = "c:\10ur\Kren\" appXL.Workbooks.Open(path & "yayiliyukmomentleri.xls") YMI = (appXL.Range(YMI).Value) YMII = (appXL.Range(YMII).Value) YM1 = (appXL.Range(YM1).Value) YM2 = (appXL.Range(YM2).Value) TextBox36.Text = YMI TextBox38.Text = YMII TextBox39.Text = YM1 TextBox40.Text = YM2 appXL.Application.Quit() 'Aldık ve Exceli Kapattık End Sub Private Sub TextBox8_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox8.TextChanged abl = h / (l * 1000) abltext.Text = abl

TextBox49.Text = vk * Val(TextBox22.Text) * l * l End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged abl = h / (l * 1000) abltext.Text = abl End Sub Private Sub abltext_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles abltext.TextChanged Dim ablf As Object ablf = Val(abltext.Text) If abltext.Text >= 0 And abltext.Text < 0.05 Then ustu = 6 altı = 7 ElseIf abltext.Text >= 0.05 And abltext.Text < 0.1 Then ustu = 7 altı = 8 ElseIf abltext.Text >= 0.1 And abltext.Text < 0.15 Then ustu = 8 altı = 9 ElseIf abltext.Text >= 0.15 And abltext.Text < 0.2 Then ustu = 9 altı = 10 ElseIf abltext.Text >= 0.2 And abltext.Text < 0.25 Then ustu = 10 altı = 11 ElseIf abltext.Text >= 0.25 And abltext.Text < 0.3 Then ustu = 11 altı = 12 ElseIf abltext.Text >= 0.3 And abltext.Text < 0.35 Then ustu = 12 altı = 13 ElseIf abltext.Text >= 0.35 And abltext.Text < 0.4 Then ustu = 13 altı = 14 ElseIf abltext.Text >= 0.4 And abltext.Text < 0.45 Then ustu = 14 altı = 15 ElseIf abltext.Text >= 0.45 And abltext.Text < 0.5 Then ustu = 15 altı = 16 ElseIf abltext.Text >= 0.5 And abltext.Text < 0.55 Then ustu = 16 altı = 17 ElseIf abltext.Text >= 0.55 And abltext.Text < 0.6 Then ustu = 17 altı = 18 ElseIf abltext.Text >= 0.6 And abltext.Text < 0.65 Then ustu = 18 altı = 19 ElseIf abltext.Text >= 0.65 And abltext.Text < 0.7 Then ustu = 19 altı = 20 ElseIf abltext.Text >= 0.7 And abltext.Text < 0.75 Then ustu = 20 altı = 21 ElseIf abltext.Text >= 0.75 And abltext.Text < 0.8 Then

ustu = 21 altı = 22 ElseIf abltext.Text >= 0.8 And abltext.Text < 0.85 Then ustu = 22 altı = 23 ElseIf abltext.Text >= 0.85 And abltext.Text < 0.9 Then ustu = 23 altı = 24 ElseIf abltext.Text >= 0.9 And abltext.Text < 0.95 Then ustu = 24 altı = 25 ElseIf abltext.Text >= 0.95 And abltext.Text < 0.1 Then ustu = 25 altı = 26 End If 'Excelden Bilgileri Alıyoruz On Error Resume Next path = "c:\10ur\Kren\" appXL.Workbooks.Open(path & "momenttablosu.xls") X1 = (appXL.Range("B" & altı).Value) M1 = (appXL.Range("C" & altı).Value) X2 = (appXL.Range("D" & altı).Value) M2 = (appXL.Range("E" & altı).Value) X3 = (appXL.Range("F" & altı).Value) M3 = (appXL.Range("G" & altı).Value) X4 = (appXL.Range("H" & altı).Value) M4 = (appXL.Range("I" & altı).Value) T0 = (appXL.Range("J" & altı).Value) T1 = (appXL.Range("K" & altı).Value) AblE = (appXL.Range("A" & ustu).Value) BX1 = (appXL.Range("B" & ustu).Value) BM1 = (appXL.Range("C" & ustu).Value) BX2 = (appXL.Range("D" & ustu).Value) BM2 = (appXL.Range("E" & ustu).Value) BX3 = (appXL.Range("F" & ustu).Value) BM3 = (appXL.Range("G" & ustu).Value) BX4 = (appXL.Range("H" & ustu).Value) BM4 = (appXL.Range("I" & ustu).Value) BT0 = (appXL.Range("J" & ustu).Value) BT1 = (appXL.Range("K" & ustu).Value) appXL.Application.Quit() ' Aldık fX1 = BX1 - X1 fM1 = BM1 - M1 fX2 = BX2 - X1 fM2 = BM2 - M2 fX3 = BX3 - X3 fM3 = BM3 - M3 fX4 = BX4 - X4 fM4 = BM4 - M4 fT0 = BT0 - T0 fT1 = BT1 - T1 Abla = ablf - AblE X1 = BX1 - (Abla * fX1 / 0.05) M1 = -(BM1 - (Abla * fM1 / 0.05)) X2 = BX2 - (Abla * fX2 / 0.05)

M2 = -(BM2 - (Abla * fM2 / 0.05)) X3 = BX3 - (Abla * fX3 / 0.05) M3 = BM3 - (Abla * fM3 / 0.05) X4 = BX4 - (Abla * fX4 / 0.05) M4 = BM4 - (Abla * fM4 / 0.05) T0 = BT0 - (Abla * fT0 / 0.05) T1 = BT1 - (Abla * fT1 / 0.05) x1text.Text = VB6.Format(X1, "0.0000") m1text.Text = VB6.Format(M1, "0.0000") x2text.Text = VB6.Format(X2, "0.0000") m2text.Text = VB6.Format(M2, "0.0000") x3text.Text = VB6.Format(X3, "0.0000") m3text.Text = VB6.Format(M3, "0.0000") x4text.Text = VB6.Format(X4, "0.0000") m4text.Text = VB6.Format(M4, "0.0000") t0text.Text = VB6.Format(T0, "0.0000") t1text.Text = VB6.Format(T1, "0.0000") End Sub Private Sub m1text_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m1text.TextChanged SM1X = M1 * Y * R1x * l TextBox9.Text = VB6.Format(SM1X, "0.000") End Sub Private Sub m2text_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m2text.TextChanged SM2X = M2 * Y * R1x * l TextBox10.Text = VB6.Format(SM2X, "0.000") End Sub Private Sub m3text_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m3text.TextChanged SM3X = M3 * Y * R1x * l TextBox11.Text = VB6.Format(SM3X, "0.000") End Sub Private Sub m4text_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m4text.TextChanged SM4X = M4 * Y * R1x * l TextBox12.Text = VB6.Format(SM4X, "0.000") End Sub Private Sub t0text_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles t0text.TextChanged ST0X = T0 * Y * R1x TextBox13.Text = VB6.Format(ST0X, "0.000") End Sub Private Sub t1text_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles t1text.TextChanged ST1X = T1 * Y * R1x TextBox14.Text = VB6.Format(ST1X, "0.000") End Sub Private Sub TextBox9_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox9.TextChanged SM1Y = SM1X / (Y * 10) TextBox15.Text = VB6.Format(SM1Y, "0.000") TextBox41.Text = Val(TextBox9.Text) + Val(TextBox31.Text) End Sub Private Sub TextBox10_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox10.TextChanged SM2Y = SM2X / (Y * 10)

TextBox16.Text = VB6.Format(SM2Y, "0.000") TextBox42.Text = Val(TextBox10.Text) + Val(TextBox32.Text) End Sub Private Sub TextBox11_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox11.TextChanged SM3Y = SM3X / (Y * 10) TextBox17.Text = VB6.Format(SM3Y, "0.000") TextBox43.Text = Val(TextBox11.Text) + Val(TextBox33.Text) End Sub Private Sub TextBox12_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox12.TextChanged SM4Y = SM4X / (Y * 10) TextBox18.Text = VB6.Format(SM4Y, "0.000") TextBox44.Text = Val(TextBox12.Text) + Val(TextBox34.Text) End Sub Private Sub TextBox13_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox13.TextChanged ST0Y = ST0X / (Y * 10) TextBox19.Text = VB6.Format(ST0Y, "0.000") End Sub Private Sub TextBox14_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox14.TextChanged ST1Y = ST1X / (Y * 10) TextBox20.Text = VB6.Format(ST1Y, "0.000") End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click TextBox57.Text = "1" kesit.Show() Me.Hide() End Sub Private Sub TextBox23_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox23.TextChanged TextBox22.Text = Val(TextBox23.Text) * 78.5 / 100000 TextBox22.Text = VB6.Format(TextBox22.Text, "0.000") TextBox49.Text = vk * Val(TextBox22.Text) * l * l 'MxIg TextBox31.Text = Val(TextBox36.Text) * Val(TextBox49.Text) SYMI = Val(TextBox31.Text) / (-1) TextBox31.Text = VB6.Format(SYMI, "0.000") 'MxIIg TextBox32.Text = Val(TextBox38.Text) * Val(TextBox49.Text) SYMII = Val(TextBox32.Text) / (-1) TextBox32.Text = VB6.Format(SYMII, "0.000") 'Mx1g TextBox33.Text = Val(TextBox39.Text) * Val(TextBox49.Text) SYM1 = Val(TextBox33.Text) TextBox33.Text = VB6.Format(SYM1, "0.000") 'Mx2g TextBox34.Text = Val(TextBox40.Text) * Val(TextBox49.Text) SYM2 = Val(TextBox34.Text) TextBox34.Text = VB6.Format(SYM2, "0.000") End Sub Private Sub TextBox35_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox35.TextChanged TextBox49.Text = vk * Val(TextBox22.Text) * l * l End Sub

Private Sub TextBox36_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox36.TextChanged TextBox31.Text = Val(TextBox36.Text) * Val(TextBox49.Text) SYMI = Val(TextBox31.Text) / (-1) TextBox31.Text = VB6.Format(SYMI, "0.000") End Sub Private Sub TextBox38_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox38.TextChanged TextBox32.Text = Val(TextBox38.Text) * Val(TextBox49.Text) SYMII = Val(TextBox32.Text) / (-1) TextBox32.Text = VB6.Format(SYMII, "0.000") End Sub Private Sub TextBox39_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox39.TextChanged TextBox33.Text = Val(TextBox39.Text) * Val(TextBox49.Text) SYM1 = Val(TextBox33.Text) TextBox33.Text = VB6.Format(SYM1, "0.000") End Sub Private Sub TextBox40_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox40.TextChanged TextBox34.Text = Val(TextBox40.Text) * Val(TextBox49.Text) SYM2 = Val(TextBox34.Text) TextBox34.Text = VB6.Format(SYM2, "0.000") End Sub Private Sub TextBox15_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox15.TextChanged TextBox45.Text = TextBox15.Text End Sub Private Sub TextBox16_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox16.TextChanged TextBox46.Text = TextBox16.Text End Sub Private Sub TextBox17_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox17.TextChanged TextBox47.Text = TextBox17.Text End Sub Private Sub TextBox18_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox18.TextChanged TextBox48.Text = TextBox18.Text End Sub Private Sub TextBox31_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox31.TextChanged TextBox41.Text = Val(TextBox9.Text) + Val(TextBox31.Text) End Sub Private Sub TextBox33_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox33.TextChanged TextBox43.Text = Val(TextBox11.Text) + Val(TextBox33.Text) End Sub Private Sub TextBox32_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox32.TextChanged TextBox42.Text = Val(TextBox10.Text) + Val(TextBox32.Text) End Sub Private Sub TextBox34_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox34.TextChanged TextBox44.Text = Val(TextBox12.Text) + Val(TextBox34.Text) End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Form4.Show() Me.Hide() End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged If ComboBox1.Text = "ST37" Then TextBox50.Text = 1.4 TextBox51.Text = 1.6 ElseIf ComboBox1.Text = "ST52" Then TextBox50.Text = 2.1 TextBox51.Text = 2.4 End If End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Form5.Show() Me.Hide() End Sub End Class Public Class kesit Dim appXL As New Excel.Application Dim grup, satir As Object Dim Kax, Ke1, Ke2, Kjx, Wxu, Wxa, Jyx, Sxx, b, s As Object Private Sub kesit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load RadioButton1.Checked = True RadioButton3.Checked = True grup = 1 ComboBox1.Items.Add(260) ComboBox1.Items.Add(280) ComboBox1.Items.Add(300) ComboBox1.Items.Add(320) ComboBox1.Items.Add(340) ComboBox1.Items.Add(360) ComboBox1.Items.Add(380) ComboBox1.Items.Add(400) ComboBox1.Items.Add(425) ComboBox1.Items.Add(450) ComboBox1.Items.Add(475) ComboBox1.Items.Add(500) ComboBox1.Items.Add(550) ComboBox1.Items.Add(600) TextBox4.Text = grup End Sub Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged TextBox1.Text = "I" End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged TextBox1.Text = "IPE" End Sub Private Sub RadioButton4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton4.CheckedChanged TextBox2.Text = "A 55"

End Sub Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged TextBox2.Text = "A 45" End Sub Private Sub RadioButton5_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton5.CheckedChanged TextBox2.Text = "A 65" End Sub Private Sub RadioButton6_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton6.CheckedChanged TextBox2.Text = "A 75" End Sub Private Sub RadioButton7_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton7.CheckedChanged TextBox2.Text = "A 100" End Sub Private Sub RadioButton8_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton8.CheckedChanged TextBox2.Text = "A 120" End Sub Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged TextBox3.Text = TextBox1.Text & " + " & TextBox2.Text End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged TextBox3.Text = TextBox1.Text & " + " & TextBox2.Text End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click KrenKirisHesabi.Show() KrenKirisHesabi.TextBox23.Text = TextBox23.Text KrenKirisHesabi.TextBox24.Text = TextBox24.Text KrenKirisHesabi.TextBox25.Text = TextBox25.Text KrenKirisHesabi.TextBox26.Text = TextBox26.Text KrenKirisHesabi.TextBox27.Text = TextBox27.Text KrenKirisHesabi.TextBox28.Text = TextBox28.Text KrenKirisHesabi.TextBox29.Text = TextBox29.Text KrenKirisHesabi.TextBox30.Text = TextBox30.Text KrenKirisHesabi.TextBox53.Text = TextBox5.Text KrenKirisHesabi.TextBox54.Text = TextBox7.Text KrenKirisHesabi.TextBox55.Text = TextBox8.Text KrenKirisHesabi.TextBox56.Text = TextBox1.Text & ComboBox1.Text & " + " & TextBox2.Text Me.Close() End Sub Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged ComboBox1.Items.Clear() If RadioButton1.Checked = True And RadioButton3.Checked = True Then grup = 1 ComboBox1.Items.Add(260) ComboBox1.Items.Add(280) ComboBox1.Items.Add(300) ComboBox1.Items.Add(320) ComboBox1.Items.Add(340)

ComboBox1.Items.Add(360) ComboBox1.Items.Add(380) ComboBox1.Items.Add(400) ComboBox1.Items.Add(425) ComboBox1.Items.Add(450) ComboBox1.Items.Add(475) ComboBox1.Items.Add(500) ComboBox1.Items.Add(550) ComboBox1.Items.Add(600) ElseIf RadioButton1.Checked = True And RadioButton4.Checked = True Then grup = 2 ComboBox1.Items.Add(340) ComboBox1.Items.Add(360) ComboBox1.Items.Add(380) ComboBox1.Items.Add(400) ComboBox1.Items.Add(425) ComboBox1.Items.Add(450) ComboBox1.Items.Add(475) ComboBox1.Items.Add(500) ComboBox1.Items.Add(550) ComboBox1.Items.Add(600) ElseIf RadioButton1.Checked = True And RadioButton5.Checked = True Then grup = 3 ComboBox1.Items.Add(400) ComboBox1.Items.Add(425) ComboBox1.Items.Add(450) ComboBox1.Items.Add(475) ComboBox1.Items.Add(500) ComboBox1.Items.Add(550) ComboBox1.Items.Add(600) ElseIf RadioButton1.Checked = True And RadioButton6.Checked = True Then grup = 4 ComboBox1.Items.Add(475) ComboBox1.Items.Add(500) ComboBox1.Items.Add(550) ComboBox1.Items.Add(600) ElseIf RadioButton1.Checked = True And RadioButton7.Checked = True Then grup = 5 ComboBox1.Items.Add(475) ComboBox1.Items.Add(500) ComboBox1.Items.Add(550) ComboBox1.Items.Add(600) ElseIf RadioButton1.Checked = True And RadioButton8.Checked = True Then grup = 6 ComboBox1.Items.Add(550) ComboBox1.Items.Add(600) ElseIf RadioButton2.Checked = True And RadioButton3.Checked = True Then grup = 7 ComboBox1.Items.Add(220) ComboBox1.Items.Add(240) ComboBox1.Items.Add(270) ComboBox1.Items.Add(300) ComboBox1.Items.Add(330) ComboBox1.Items.Add(360) ComboBox1.Items.Add(400) ComboBox1.Items.Add(450) ComboBox1.Items.Add(500)

ComboBox1.Items.Add(550) ComboBox1.Items.Add(600) ElseIf RadioButton2.Checked = True And RadioButton4.Checked = True Then grup = 8 ComboBox1.Items.Add(270) ComboBox1.Items.Add(300) ComboBox1.Items.Add(330) ComboBox1.Items.Add(360) ComboBox1.Items.Add(400) ComboBox1.Items.Add(450) ComboBox1.Items.Add(500) ComboBox1.Items.Add(550) ComboBox1.Items.Add(600) ElseIf RadioButton2.Checked = True And RadioButton5.Checked = True Then grup = 9 ComboBox1.Items.Add(330) ComboBox1.Items.Add(360) ComboBox1.Items.Add(400) ComboBox1.Items.Add(450) ComboBox1.Items.Add(500) ComboBox1.Items.Add(550) ComboBox1.Items.Add(600) ElseIf RadioButton2.Checked = True And RadioButton6.Checked = True Then grup = 10 ComboBox1.Items.Add(400) ComboBox1.Items.Add(450) ComboBox1.Items.Add(500) ComboBox1.Items.Add(550) ComboBox1.Items.Add(600) ElseIf RadioButton2.Checked = True And RadioButton7.Checked = True Then grup = 11 ComboBox1.Items.Add(400) ComboBox1.Items.Add(450) ComboBox1.Items.Add(500) ComboBox1.Items.Add(550) ComboBox1.Items.Add(600) ElseIf RadioButton2.Checked = True And RadioButton8.Checked = True Then grup = 12 ComboBox1.Items.Add(500) ComboBox1.Items.Add(550) ComboBox1.Items.Add(600) End If TextBox4.Text = grup End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged TextBox5.Text = ComboBox1.Text End Sub Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged TextBox6.Text = TextBox4.Text + TextBox5.Text End Sub Private Sub TextBox5_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox5.TextChanged TextBox6.Text = TextBox4.Text + TextBox5.Text End Sub

Private Sub TextBox6_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox6.TextChanged Select Case TextBox6.Text ' IA45 Case 1260 satir = 4 Case 1280 satir = 5 Case 1300 satir = 6 Case 1320 satir = 7 Case 1340 satir = 8 Case 1360 satir = 9 Case 1380 satir = 10 Case 1400 satir = 11 Case 1425 satir = 12 Case 1450 satir = 13 Case 1475 satir = 14 Case 1500 satir = 15 Case 1550 satir = 16 Case 1600 satir = 17 'IA55 Case 2340 satir = 19 Case 2360 satir = 20 Case 2380 satir = 21 Case 2400 satir = 22 Case 2425 satir = 23 Case 2450 satir = 24 Case 2475 satir = 25 Case 2500 satir = 26 Case 2550 satir = 27 Case 2600 satir = 28 'IA65 Case 3400 satir = 30 Case 3425

satir = 31 Case 3450 satir = 32 Case 3475 satir = 33 Case 3500 satir = 34 Case 3550 satir = 35 Case 3600 satir = 36 'IA75 Case 4475 satir = 38 Case 4500 satir = 39 Case 4550 satir = 40 Case 4600 satir = 41 'IA100 Case 5475 satir = 43 Case 5500 satir = 44 Case 5550 satir = 45 Case 5600 satir = 46 'IA120 Case 6550 satir = 48 Case 6600 satir = 49 'IPEA45 Case 7220 satir = 54 Case 7240 satir = 55 Case 7270 satir = 56 Case 7300 satir = 57 Case 7330 satir = 58 Case 7360 satir = 59 Case 7400 satir = 60 Case 7450 satir = 61 Case 7500 satir = 62 Case 7550 satir = 63 Case 7600 satir = 64

'IPEA55 Case 8270 satir = 66 Case 8300 satir = 67 Case 8330 satir = 68 Case 8360 satir = 69 Case 8400 satir = 70 Case 8450 satir = 71 Case 8500 satir = 72 Case 8550 satir = 73 Case 8600 satir = 74 'IPEA65 Case 9330 satir = 76 Case 9360 satir = 77 Case 9400 satir = 78 Case 9450 satir = 79 Case 9500 satir = 80 Case 9550 satir = 81 Case 9600 satir = 82 'IPEA75 Case 10400 satir = 84 Case 10450 satir = 85 Case 10500 satir = 86 Case 10550 satir = 87 Case 10600 satir = 88 'IPEA100 Case 11400 satir = 90 Case 11450 satir = 91 Case 11500 satir = 92 Case 11550 satir = 93 Case 11600 satir = 94 'IPEA120

Case 12500 satir = 96 Case 12550 satir = 97 Case 12600 satir = 98 End Select 'Excele Git ve Değerleri Al Kax = "B" & satir Ke1 = "C" & satir Ke2 = "D" & satir Kjx = "E" & satir Wxu = "F" & satir Wxa = "G" & satir Jyx = "H" & satir Sxx = "I" & satir '1- Projet - Preferences içerisinden : "Microsoft Excel 11.0 Object Library" seçilir Ok. tusuna basilir. '2- kiriskesiti.xls c:\10ur\Kren\ na kopyalanmalı On Error Resume Next Dim path As Object path = "c:\10ur\Kren\" appXL.Workbooks.Open(path & "kiriskesiti.xls") KAx = (appXL.Range(KAx).Value) Ke1 = (appXL.Range(Ke1).Value) Ke2 = (appXL.Range(Ke2).Value) Kjx = (appXL.Range(Kjx).Value) Wxu = (appXL.Range(Wxu).Value) Wxa = (appXL.Range(Wxa).Value) Jyx = (appXL.Range(Jyx).Value) Sxx = (appXL.Range(Sxx).Value) TextBox23.Text = Kax TextBox24.Text = Ke1 TextBox25.Text = Ke2 TextBox26.Text = Kjx TextBox28.Text = Wxu TextBox29.Text = Wxa TextBox27.Text = Jyx TextBox30.Text = Sxx appXL.Application.Quit() 'Aldık ve Exceli Kapattık 'Excele Git ve Değerleri Al If TextBox1.Text = "I" Then Select Case (TextBox5.Text) Case 260 satir = 26 Case 280 satir = 27 Case 300 satir = 29 Case 320 satir = 30 Case 340 satir = 31 Case 360 satir = 32 Case 380 satir = 33

Case 400 satir = 35 Case 425 satir = 34 Case 450 satir = 36 Case 475 satir = 37 Case 500 satir = 38 Case 550 satir = 39 Case 600 satir = 40 End Select b = "D" & satir s = "E" & satir '1- Projet - Preferences içerisinden : "Microsoft Excel 11.0 Object Library" seçilir Ok. tusuna basilir. '2- IProfili.xls c:\10ur\Kren\ na kopyalanmalı On Error Resume Next Dim path2 As Object path2 = "c:\10ur\Kren\" appXL.Workbooks.Open(path2 & "IProfili.xls") b = (appXL.Range(b).Value) s = (appXL.Range(s).Value) TextBox7.Text = b / 10 TextBox8.Text = s / 10 appXL.Application.Quit() ElseIf TextBox1.Text = "IPE" Then Select Case (TextBox5.Text) Case 220 satir = 38 Case 240 satir = 42 Case 270 satir = 46 Case 300 satir = 50 Case 330 satir = 54 Case 360 satir = 58 Case 400 satir = 62 Case 450 satir = 66 Case 500 satir = 70 Case 550 satir = 74 Case 600 satir = 78 End Select b = "D" & satir s = "E" & satir

'1- Projet - Preferences içerisinden : "Microsoft Excel 11.0 Object Library" seçilir Ok. tusuna basilir. '2- IpeProfili.xls c:\10ur\Kren\ na kopyalanmalı On Error Resume Next Dim path3 As Object path3 = "c:\10ur\Kren\" appXL.Workbooks.Open(path3 & "IpeProfili.xls") b = (appXL.Range(b).Value) s = (appXL.Range(s).Value) TextBox7.Text = b / 10 TextBox8.Text = s / 10 appXL.Application.Quit() End If End Sub End Class Public Class Form4 Dim appXL As New Excel.Application Dim moment, Wa, GG, Gerilme, k1, R1max, Y, l, lkenar, Jx, k, g, Sehim, sehimkontrol, sehimkontrol2, aralik, bulucazsutun, bulucazsatir, bulucaz, labli As Object Dim gerilme2, ıh, e1, maxMIy, b, jy, Gk2, s, hb2 As Object Dim AU, JxU, JyU, eyU, satirU As Object Dim AI, e1U, JxIU, JyUUssu As Object Dim terim1, terim2, terim3, terim4, terim5, terim6, terim7, terim8 As Object Dim gerilmeson, MaxM1x, MaxM1y As Object Dim bulucazkenar, bulucazsutunkenar, kkenar, k1kenar, sehimkenar As Object Dim atla As Object Dim raporaliyimmi As Object Dim decimalyap As Decimal Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '1 Yuk1Gerilme moment = Val(KrenKirisHesabi.TextBox41.Text) moment = moment * (-100) Wa = Val(KrenKirisHesabi.TextBox28.Text) GG = Val(KrenKirisHesabi.TextBox50.Text) TextBox1.Text = moment TextBox2.Text = Wa Gerilme = moment / Wa TextBox3.Text = VB6.Format(Gerilme, "#,##0.0") If Gerilme = GG Then Label4.BackColor = Color.Red Label4.Text = "(ton/cm2)=" & GG & "(ton/cm2) Kesit BÜYÜTÜN" MsgBox("Yükleme1'e göre Gerilme ve Emniyet Gerilmesi EŞİT.Kesit Büyütülmesi Önerilir") ElseIf Gerilme < GG Then Label4.Text = "(ton/cm2)" & GG & "(ton/cm2) Kesit BÜYÜTÜN" MsgBox("Yükleme1'e göre Gerilme Emniyet Gerilmesinden BÜYÜK. Kesit Büyütülmesi Gerekir") End If '2 Yuk1Sehim labli = Val(KrenKirisHesabi.TextBox52.Text) k1 = 0.874 TextBox4.Text = k1 R1max = Val(KrenKirisHesabi.TextBox4.Text) * 10 TextBox5.Text = R1max

Y = Val(KrenKirisHesabi.TextBox21.Text) TextBox6.Text = Y l = Val(KrenKirisHesabi.TextBox8.Text) TextBox7.Text = l TextBox11.Text = l Jx = Val(KrenKirisHesabi.TextBox26.Text) TextBox8.Text = Jx TextBox14.Text = Jx TextBox19.Text = Jx lkenar = Val(Form1.TextBox10.Text) 'Sehim Tablosu Başı bulucazsatir = (labli * 100) - 80 + 5 aralik = (Val(KrenKirisHesabi.TextBox37.Text) - 1) If aralik = 6 Then bulucazsutun = "L" bulucazsutunkenar = "F" End If 'Excele Git ve Değerleri Al bulucaz = bulucazsutun & bulucazsatir bulucazkenar = bulucazsutunkenar & bulucazsatir '1- Projet - Preferences içerisinden : "Microsoft Excel 11.0 Object Library" seçilir Ok. tusuna basilir. '2- sehim.xls c:\10ur\Kren\ na kopyalanmalı On Error Resume Next Dim path As Object path = "c:\10ur\Kren\" appXL.Workbooks.Open(path & "sehim.xls") k = (appXL.Range(bulucaz).Value) kkenar = (appXL.Range(bulucazkenar).Value) appXL.Application.Quit() 'Aldık ve Exceli Kapattık 'Sehim Tablosu Sonu TextBox9.Text = k g = Val(KrenKirisHesabi.TextBox22.Text) * 10 TextBox10.Text = g Sehim = (k1 * R1max * Y * l * l * l / Jx) + (k * g * l * l * l * l / Jx) TextBox12.Text = VB6.Format(Sehim, "0.00") sehimkontrol = Val(l) * 100 / 900 TextBox13.Text = VB6.Format(sehimkontrol, "0.00") If Sehim >= sehimkontrol Then Label15.Text = "cm >=" Label6.BackColor = Color.Red Label6.Text = "cm. Sehim Büyük. Kesit BÜTÜLMELİ" MsgBox("İç Açıklıklarda Sehim Büyük. Kesit Büyütülmesi Gerekir") ElseIf Sehim < sehimkontrol Then

Label15.Text = "cm =" Label74.BackColor = Color.Red Label74.Text = "cm. Sehim Büyük. Kesit BÜTÜLMELİ" MsgBox("Kenar Açıklıklarda Sehim Büyük. Kesit Büyütülmesi Gerekir") ElseIf sehimkenar
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF