Professional Documents
Culture Documents
Ilogic Kitabi
Ilogic Kitabi
Önsöz
Geçmişten günümüze birçok teknolojik gelişme yaşanmış ve bu teknoloji hayatımızın birçok
alanında yerini almıştır. Eskiden tasarımlarımızı başkalarıyla paylaşmak ve gerçeğe dönüştürmek için kâğıt
ve kalem başta olmak üzere birçok mekanik tasarım aracına ihtiyaç duyuyorken, bugün bu işlemlerin
neredeyse hepsini bilgisayar programlarını kullanarak yapabilmekteyiz. Öyle ki artık tasarımların ilk
aşamalarını oluşturan karalama işlemlerinde bile kâğıt ve kalem kullanmak yerine tablet bilgisayarlarda
çalışan taslak çizim yazılımları kullanılmaya başlanmıştır.
Teknolojinin gelişmesi ile birlikte insanların birbirlerine ve satın almak istedikleri ürünlere ulaşmaları
kolaylaşmıştır, buna bağlı olarak üretim yapan firmalar sadece kendi çevrelerindeki benzer firmalarla değil
aynı zamanda dünyanın önde gelen firmalarıyla da rekabet etmeye başlamışlardır. Bu rekabetin sonucu
olarak daha kaliteli, daha sağlam, tasarımı daha üstün ve maliyeti daha düşük ürünleri daha hızlı piyasaya
sürebilen firmalar ayakta kalmakta, diğer firmalar ise rekabet ortamına daha fazla dayanamamaktadırlar.
Tüm bu rekabet ortamında üretimin belkemiğini oluşturan mühendislerin ve tasarımcıların yükü ise
daha fazla artmakta ve tasarım ekiplerinin başarısı özgün üretim yapan firmaların kaderini tayin
etmektedir. Bir çizim ile başlayan tasarım sürecini en hızlı ve kesin biçimde gerçeğe dönüştüren ekipler
başarıyı yakalayabilmektedirler.
Tasarım araçları içerisinde ise üç boyutlu parametrik tasarım yazılımları zirvedeki yerlerini
korumaktadırlar, birçok hesaplamayı yapan, prototip maliyetlerini büyük ölçüde düşüren, ürünlerde
oluşabilecek hataları daha oluşmadan öngörmemizi ve düzeltmemizi sağlayan ve tasarım sürecinden üretim
sürecine kadar bilgiyi oluşturduğumuz ve işlediğimiz bu yazılımlar bize birçok alanda kolaylıklar
sağlamaktadırlar.
Sanayii devrimi ile birlikte kendini yineleyen birçok işlemde makineleşme ve otomasyona gidildiği
gibi aynı durum tasarım süreci için de geçerlidir. En küçük tasarımdan en büyük tasarıma kadar birbirine
benzeyen ve standart haline getirebileceğimiz bütün tasarım verileri tasarım yazılımları içerisinde yer alan
programlama araçları kullanılarak otomatik hale getirilmekte ve çok karmaşık tasarımların farklı
versiyonları bile bir form penceresi yardımı ile saniyeler içerisinde oluşturulabilmektedir.
Kitabın hazırlanmasında referans olarak Autodesk firmasının üretmiş olduğu Autodesk Inventor
2016 3D parametrik modelleme yazılımı (demo sürümü) ve bu yazılımın içerisinde standart olarak gelen
iLogic programlama modülü anlatılmıştır.
1 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Teşekkür
Kitabın hazırlanması aşamasında ve hayatımın tüm anlarında varlıkları ile beni destekleyen
sevgili aileme teşekkürü borç bilirim.
2 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
İÇİNDEKİLER
iLogic Uygulamaları - Tanımlar .......................................................................................................................................... 5
Parametrik Tasarım Nedir? ............................................................................................................................... 5
iLogic Nedir?...................................................................................................................................................... 5
iLogic Uygulamaları – Bölüm 1 .......................................................................................................................................... 6
iLogic Projesinin Temelleri ............................................................................................................................................ 6
Menü Anlatım Şekli - Şerit Menüdeki Komutların Yazılarak Gösterilmesi .................................................... 8
iLogic Uygulamaları – Bölüm 2 .......................................................................................................................................... 9
Parametrik Parça Tasarımı ............................................................................................................................................ 9
Uygulama 1: Autodesk Inventor ile Parametrik Parça Tasarlanması ve Basit iLogic Kurallarının
Tanımlanması ................................................................................................................................................ 9
iLogic Kullanıcı Ara Yüzü .............................................................................................................................................. 14
iLogic Browser ......................................................................................................................................................... 15
iLogic Kuralı Oluşturma ....................................................................................................................................... 15
iLogic Kuralı Düzenleme Penceresi ................................................................................................................. 16
iLogic Kod Yapısı: If…Then…End If ............................................................................................................... 17
3 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
iLogic Kod Yapısı: “Sub Main()… End Sub, Exit Sub, Return, Exit, End” ....................................................... 71
4 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Bilgisayar aracılığı ile oluşturduğunuz sayısal modelin rengini, yoğunluğunu, ölçülerini, kimlik
bilgilerini, malzeme bilgisini ve diğer birçok değeri tanımlayan değiştirilebilir bilgilere parametre, bu
parametreleri bir tablo veya program ara yüzü ile değiştirip hızlıca yeni sürümler üretmeye elverişli
tasarımlara ise parametrik tasarım denir.
Aşağıda basit bir parça modeli yer almaktadır. Autodesk Inventor içerisinde bu modeli tanımlayan
birçok parametre yer alır. Bu parametrelerden bazıları; renk, malzeme bilgisi, boyutsal ölçüler,
konum bilgisi, parçanın kimlik bilgileri… Vb. olarak sıralanabilir.
iLogic, Autodesk Inventor ile kural temelli tasarımlar yapmamızı sağlayan bir programlama aracıdır.
iLogic aracını kullanarak tasarımlarınızı otomatik hale getirebilir, belirli sınırlandırmalar ekleyebilir,
arka planda çalışan ve tasarımınızı kontrol eden kurallar oluşturabilir ve Inventor modelinizin
tüm parametrik unsurlarını kontrol edebilirsiniz. iLogic bir tür programlama aracı olduğu için bu aracı
kullanarak Autodesk Inventor içerisindeki hemen hemen her özelliği otomatik hale getirebilirsiniz.
iLogic programlama dilinin yapısı VB.NET programlama diline çok benzemektedir, eğer Visual Basic
programlama dilini biliyorsanız oluşturmak istediğiniz iLogic modelini Visual Basic kullanarak da
programlayabilirsiniz.
Bu belge içerisinde yer alan konular kullanıcının hiç programlama bilgisi olmadığı varsayılarak detaylı
olarak anlatılmıştır.
iLogic eğitiminin bundan sonraki kısmında önce teorik bilgi verilecek ve ardından bir veya daha fazla
örnek ile konular pekiştirilecektir, bu dokümandan en fazla faydayı sağlayabilmeniz için tüm
örnekleri uygulamalı olarak yapmanız önerilir.
5 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Bir iLogic projesine başlamadan önce oluşturulmak istenen modelin sınırlarının tespit edilmesi
gerekmektedir, proje kapsamındaki modelden beklenen tüm özellikler ve değişik sürümlerin sayısı
projenin en başında belirlenmelidir.
Bitmiş bir projeye sonradan eklemeye çalışılan yeni bir özellik ilk başta planlanıp eklenmesine kıyasla
çok daha fazla zaman alacaktır.
Tasarım dosyalarınızın farklı sürümleri şekil olarak birbirlerine benziyor fakat ölçüleri ve diğer
parametrik değerleri birbirlerinden farklı ise(ölçü, renk, malzeme, parça sayısı vs.) ve model dosyanız
bu parametreleri kontrol ederek yeni tasarımlar elde etmenize olanak sağlıyor ise bu projede iLogic
kullanmak verimi çok artıracaktır.
Eğer her seferinde farklı bir makine inşa ediliyorsa ve makineler arasında benzerlik gösteren parça
veya montaj grupları bulunmuyorsa bu tür projelerde iLogic kullanmak gereksiz zaman israfına
neden olur.
Autodesk Inventor, tasarımlarınızı modellediğiniz esnada parçaya verdiğiniz bütün ölçüleri ve diğer
parametreleri saklar, isimlendirir ve bir tablo halinde parçanın veri tabanına kaydeder. Siz farkında
6 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
olmadan parametrik bir tasarım yapmış olursunuz. Fakat parametre sayısı arttıkça tablodaki hangi
parametrenin model üzerindeki hangi değeri kontrol ettiğini takip etmek zorlaşır.
Örneğin;
“d2 = d1 + 50” işlemine göre “Boy = En + 50” işlemi kullanıcıya daha çok bilgi vermektedir.
iLogic Editörü ile yazılan kodlar ile sadece bir parça dosyası kontrol edilebileceği gibi içerisinde
binlerce parça ve alt montaj bulunan bir montaj dosyası da kontrol edilebilir. Montaj dosyalarını
oluştururken hangi parçalar arasında boyutsal ilişki kurulacağına dair notlar tutmak daha sonraki
işlemlerde size kolaylık sağlayacaktır.
Sayısal modelin oluşturulabilmesi için tüm parametrelerinin doğru değerleri almaları gereklidir, bu
nedenle parametrelerin alacakları değerleri kontrol altında tutmak ve hataların oluşmasını
engellemek için model içerisinde oluşabilecek tüm özel durumlar tespit edilir ve yazılan kuralların
7 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
içerisine hataları önleyebilecek satırlar eklenir. Örneğin; “En = Boy – 50” gibi bir denklemde “Boy”
isimli parametreye 50 mm veya daha küçük bir değer vermek “En” isimli parametrenin hatalı değer
almasına neden olur ve sayısal model oluşturulamaz, bu hatanın oluşmasını engellemek için “Boy”
isimli parametrenin 50 mm den büyük değer almasını sağlayacak kod satırlarının yazılması gereklidir.
Bu aşamada iLogic Editörü kullanılarak ön hazırlıkları biten modelin kodları yazılır. iLogic ile
programlama işlemi daha önce hiç program yazmamış birisinin bile kolaylıkla başarabileceği bir
işlemdir, bu eğitim rehberinde iLogic te program yazmanın ne kadar basit bir işlem olduğunu
örnekler üzerinde göreceksiniz.
iLogic ile modelin programlaması işlemi bittikten sonra veya devam ederken bir yandan da
kullanıcıların programdaki parametreleri kolayca değiştirip takip edebilecekleri bir kullanıcı ara yüzü
tasarlanır(Kullanıcı Form Penceresi). İyi tasarlanmış bir kullanıcı ara yüzü birçok işlemin daha hızlı
yapılabilmesini sağlar.
Bu aşamada iLogic kodlarının düzgün yazılıp yazılmadığı veya hatalı işlem yapılıp yapılmadığı kontrol
edilecektir. Hataların ayıklanması sırasında kolaylık sağlayan yöntemler ilgili konu başlığı altında
anlatılacaktır.
Belgemizin birçok bölümünde yerden tasarruf sağlamak amacıyla Autodesk Inventor yazılımının Şerit
Menüsünde (Ribbon) bulunan komutlar yazılı olarak ifade edilecektir,
Autodesk Inventor şerit menüsü üç farklı bölümden oluşmaktadır, bu bölümler aşağıdaki resim
üzerinde de gösterildiği gibi Sekme, Panel ve Buton (veya Komut) olmak üzere üç temel parçanın
birleşmesi ile oluşur.
Belge içerisinde bir komutun şerit menüdeki konumu “A > B > C” formatında
gösterilecektir.
Bu uygulamada Autodesk Inventor ile bir parça dosyasını parametrik olarak düzenleyip parametre
isimlerini değiştireceğiz.
Autodesk Inventor başlangıç sekmesini kullanarak yeni bir parça dosyası oluşturun.
Şerit menü üzerindeki ”Start 2D Sketch” butonuna tıklayın ve XY çalışma düzlemini seçin.
9 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Şerit menü üzerindeki “Sketch” sekmesi altında yer alan “Create” panelindeki “Rectangle”
butonuna tıklayın ve merkezden başlayarak bir dörtgen oluşturun, ölçüleri bir sonraki adımda
tanımlayacağız.
“Sketch > Constrain > Dimension” butonuna tıklayın ve oluşturduğunuz dikdörtgeni aşağıdaki gibi
ölçülendirin.
10 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Çizim ortamından çıkmak için şerit menü üzerindeki “Finish Sketch” butonuna tıklayın.
Key: Önemli parametrelerin işaretlenebileceği sütundur, buradaki işaret kutularını kullanarak daha
sonradan kullanılması düşünülen parametreler işaretlenebilir ve süzgeçleri kullanarak sadece
işaretlenmiş parametrelerin görüntülenmesi sağlanabilir.
Değiştirmek
istediğiniz ölçüye çift
tıkladığınız zaman açılan
diyalog penceresi
varsayılan olarak soldaki
resimde göründüğü gibidir. Açılan penceredeki girdi
kutusunda sadece değiştirilmek istenen ölçünün değeri
görüntülenmektedir. Kutuda yer alan değerin bağlı
bulunduğu parametrenin ismini değiştirmek için girdi
kutusunun içerisine “ yukseklik = 14 mm ” yazıp onay
kutusuna tıklayın.
Yukarıda anlatılan işlemleri yaparak istediğiniz ölçünün ismini değiştirebilirsiniz fakat program
ayarlarına giderek bu işlemleri biraz daha kolaylaştırmak mümkündür. Şerit menüdeki “Tools >
Options > Document Settings” butonuna tıklayın, Açılan diyalog penceresinin “Units” sekmesinde
yer alan “Default Parameter Input Display” ayarını “Display as expression” olacak şekilde değiştirin
ve ayarları uygulayarak ayar penceresini kapatın.
12 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
13 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
a) Eğer parçanın genişliği 300 mm’den fazla olursa parçanın kalınlığına verebileceğimiz en
küçük değer 20 mm olsun.
b) Genişlik değeri 300 mm’nin üzerine çıkarıldığı zaman kalınlık değeri eğer 20 mm den
küçük ise 20 mm değerine otomatik gelsin ve kullanıcıya bu işlemin yapıldığını belirten
bir mesaj kutusu gösterilsin.
d) Kullanıcı kalınlık, yükseklik ve genişlik parametrelerini bir form aracılığı ile kontrol
edebilsin.
Şimdilik bu kadar özellik yeterli, ileriki bölümlerde daha kapsamlı örnekler yapacağız.
Yukarıdaki tüm adımları tamamladıktan sonra iLogic ile programlama işlemine başlayabilirsiniz.
Çözüm işlemine geçmeden önce çözümde kullanacağımız bazı teknik bilgileri paylaşmak istiyorum.
(Bu uygulamada oluşturduğunuz parametrik parça modelini bilgisayarınıza kaydedin, sonraki
uygulamalarda da bu dosyaları kullanacağız.) (Çözüm için tıklayın (sayfa 13))
iLogic kullanıcı ara yüzüne ulaşmak için Autodesk Inventor içerisinde parça, montaj veya teknik resim
dosyalarından en az birisinin açık olması gerekmektedir.
iLogic ile ilgili araçlar şerit menü üzerindeki “Manage” sekmesinde bulunan “iLogic” panelinde yer
alır.
14 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
iLogic Browser
iLogic Browser penceresini açmak için şerit menü üzerindeki “Manage > iLogic > iLogic Browser”
butonuna tıklayın.
NOT: Buradaki Form’un kontrol ettiği parametre ile aynı isimde bir parametre aktif dosyada
bulunmuyorsa Form penceresinin o parametre ile ilgili kısmı pasif olarak görüntülenir.
15 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
iLogic kuralının ismini belirledikten sonra diyalog penceresindeki “OK” butonuna tıkladığınızda iLogic
kurallarını oluşturabileceğiniz editör açılır.
Kural editörü genel olarak 3 bölümden oluşmaktadır, bu bölümler aşağıdaki resimde gösterilmiştir.
2 Numaralı Bölme: Bu bölme 4 ana başlıktan oluşur, bu bölümde model dosyalarının unsurlarına ve
parametrelerine doğrudan ulaşabilir ve iLogic kod editörünüzün ayarlarını yapabilirsiniz, burada yer
alan her bölüm uygulamalar içerisinde incelenecektir.
3 Numaralı Bölme: Bu bölme kodların yazıldığı bölümdür. Bu bölüme yazdığınız kurallar iLogic e özel
bir renklendirme ile renklendirilir ve kod takibi oldukça kolaylaşır.
ÇÖZÜM: a maddesinde “Eğer parçanın genişliği 300 mm’den fazla olursa parçanın kalınlığına
verebileceğimiz en küçük değer 20 mm olsun.” ifadesi yer alıyordu. Bu ifade içerisinde iki koşul söz
konusudur. Programlama dilinde koşullu ifadeleri belirtmek için “if… then…end if” yapısını kullanırız.
16 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
If Koşul Then
işlem
End If Koşul Sağlanıyor İşlem
Genişlik=g
Kalınlık=k
Sağlanmıyor
Sağlanıyor k=20 mm
Sağlanmıyor
Sonuç
Sonuç
Yukarıda verilen diyagramda birinci koşul ifadesinin içerisinde yer alan işlemin içinde başka bir koşul
ifadesi bulunmaktadır, iLogic ile programlama yaparken iç içe geçmiş birçok koşul deyimi
kullanabilirsiniz.
Yukarıdaki ifadede iki adet koşul bulunmaktadır, birinci koşul olan genişlik değerinin 300 mm den
büyük olması koşulu doğru ise bu sefer program kullanıcının girdiği kalınlık değerini kontrol edecek
ve bu değerin 20 mm den küçük olmamasını sağlayacaktır. Kalınlık değeri 20 mm den küçük ise
program bu değeri 20 mm olarak değiştirecektir.
Yukarıda gösterilen a maddesinin çözüm diyagramının kod karşılığı ise aşağıdaki gibidir.
If genislik > 300 mm Then Yandaki kod penceresinde kırmızı ile gösterilen yazılar
If kalinlik < 20 mm Then işlem deyimlerini, mavi ile gösterilenler parametre
kalinlik = 20 mm
End If isimlerini, siyah ve kalın olarak gösterilenler ise sayılar
End If ve matematiksel işlemleri temsil etmektedir.
17 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Çözüm (Uygulama 1 Madde 10-b) : b maddesinde “Genişlik değeri 300 mm’nin üzerine çıkarıldığı
zaman kalınlık değeri eğer 20 mm den küçük ise 20 mm değerine otomatik gelsin ve kullanıcıya bu
işlemin yapıldığını belirten bir mesaj kutusu gösterilsin.” İfadesi yer almaktaydı. a maddesine
verdiğimiz çözüm b maddesi içerisinde istenen çoğu özelliği sağlamaktadır fakat kullanıcıya bilgi
veren mesaj kutusunu oluşturamamaktadır, b maddesinde istenen özellikleri karşılamak için a
maddesi için yazdığımız kodu düzenleyerek uyarı mesajının görüntülenmesini sağlayalım.
MessageBox.Show("Mesaj", "Başlık")
Çözüm (Uygulama 1 Madde 10-b) (Devam): b maddesinde istenen mesaj kutusunun içeriği “Kalınlık
değeri 20 mm olarak atandı” olsun, mesaj kutusunun başlığı ise “Ölçü Düzeltmesi” olsun, bu mesaj
kutusu sadece genişlik parametresinin 300 mm’nin üzerinde olduğu durumlarda ve kalınlık
parametresi 20 mm den küçük iken görüntülenecektir.
b maddesinin çözümü için a maddesi üzerinde yapılması gereken değişiklik aşağıdaki gibidir.
18 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
“Tamam” Butonuna tıklayarak mesaj kutusunu kapatın ve en son yazdığımız kuralı düzenlemek
için “iLogic Browser” üzerinde yer alan “Rule0” isimli kurala çift tıklayarak iLogic editörünü açın.
Tıklama işleminden sonra fare imlecinin bulunduğu konuma aşağıdaki kod satırları yazılır.
Kod ekleme işlemine geçmeden önce 2 numaralı alan içerisindeki “Model” başlığı altında yer alan
araçları inceleyelim. (Devamı açıklamalardan sonradır.)
19 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
iLogic editörünü kullanarak model parametrelerine, unsur ağacı ve parça bilgilerine ulaşabilirsiniz.
iLogic editörünün model bilgilerine ulaşmak için kullanacağınız bölümü iki kısımdan oluşmaktadır.
Soldaki kısımda parça, montaj veya teknik resim içerisinde yer alan ürün ağacı yer alır, bu ürün ağacı
üzerinden seçtiğiniz unsur, teknik resim veya özelliğin parametreleri editörün sağ tarafındaki kısımda
gösterilir.
Sağdaki kısımda “Parameters” ve “Names” olmak üzere iki sekme yer alır. “Parameters” sekmesinde
seçtiğiniz unsurun içerdiği parametreler ve bu parametrelerin değerleri bulunur, “Names”
sekmesinde ise seçtiğiniz unsurların isimleri listelenir.
• Model içerisindeki tüm model parametrelerini listelemek için “Model” başlığı altındaki sol
kısımda yer alan “Model Parameters” özelliğine tıklayın.
• Seçtiğiniz unsurun parametrelerinden birisini iLogic kuralınıza eklemek için sağ taraftaki
kısımda yer alan “Parameters” sekmesi altındaki listeden istediğiniz parametrenin ismine çift
tıklayın.
• Bir unsurun ismini kurala eklemek için sağ taraftaki “Names” sekmesi altındaki listeden
eklemek istediğiniz isme çift tıklayın. Unsur ismi burada listelenmemişse sol taraftaki
kısımdan isminin listelenmesini istediğiniz elemanı seçin, seçtiğiniz isim listeye eklenir
20 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
= A=B B değişkeninin değerini A değişkenine atar. / A ve B değerlerini karşılaştırır. Sayısal & Boolean
Mod A=B Mod x A değeri B değerinin x değerine bölümünden kalana eşittir. Sayısal
And A And B A ve B ifadelerinden her ikisi doğru ise sonuç doğrudur. Boolean
AndAlso A AndAlso B Her iki ifade de doğru ise sonuç doğrudur (Detaylı Bilgi >>). Boolean
OrElse A OrElse B Her iki ifade de yanlış ise sonuç yanlıştır (Detaylı Bilgi>>). Boolean
Not A Not B A ifadesi B ifadesinin tersidir (B doğru ise A yanlış) (Detaylı Bilgi>>). Boolean
Is C=A Is B A ve B nesneleri aynı nesneyi referans gösteriyorsa C değeri doğrudur. Boolean & Nesne
IsNot A IsNot B A ve B nesneleri farklı nesneyi referans gösteriyorsa C değeri doğrudur. Boolean & Nesne
Parçanın genişlik, yükseklik ve kalınlık parametrelerinin 3 mm den küçük değer almamasını istiyoruz
“yukseklik” parametresinin ismini kod ekranına aktarmak için önce iLogic Editörü – Model Bilgilerine
Ulaşma bölümünde açıklandığı gibi “Extrusion1” isimli unsurun “yukseklik” isimli parametresine çift
tıklayarak kod ekranındaki koşul şablonunun “My_Expression” yazan kısmına kopyalayın.
“yukseklik” parametresi için yazdığımız kuralın üzerinde küçük değişiklikler yaparak “genislik”
ve “kalinlik” parametrelerini de sınırlandırabilen kuralları yazabiliriz, yukarıdaki kuralın diğer
parametreler için değiştirilmiş sürümleri aşağıda yer almaktadır.
21 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Yukarıdaki işlemler ile birlikte Uygulama 1 – 10-c bendinde istenen özellikleri tanımlamış olduk.
Belgenin bu kısmına kadar iLogic editörüne yazdığımız kodların hepsi aşağıda yer almaktadır,
yazdığınız kodları aşağıdaki liste ile karşılaştırabilirsiniz.
iLogic Uygulamamızın kod editörü ile ilgili bölümünü tamamladık, bu aşamadan sonra iLogic
editörünü “OK” butonuna tıklayarak kapatabilirsiniz.
Sıra geldi iLogic ile hazırladığımız dokümanımızın karşılamasını istediğimiz son özelliğine, Uygulama 1
madde 10 d bendinde “Kullanıcı kalınlık, yükseklik ve genişlik parametrelerini bir form aracılığı ile
kontrol edebilsin.” İbaresi yer almaktadır.
22 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Uygulamamıza form penceresi eklemeden önce Autodesk Inventor içerisindeki form penceresi
ekleme komutlarını inceleyelim.
Autodesk Inventor ile oluşturulan sayısal modele parametreleri kontrol etmeyi kolaylaştıran form
pencereleri eklenebilmektedir,
23 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Autodesk Inventor içerisindeki form oluşturma ve düzenleme diyalog penceresi aşağıdaki gibidir.
Form editörü yukarıdaki şekilde de belirtildiği gibi altı temel bölümden oluşmaktadır, bu bölümlerin
açıklaması aşağıdaki gibidir.
Buradaki araçları kullanmak için kullanılacak araç seçilerek 4 numaralı alana sürüklenip bırakılır.
24 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Form penceresine eklenmek istenilen nesneler sürükle bırak yöntemi ile buradaki alanın
içerisine taşınır. Bu bölümde form penceresi içerisinde yer alan tüm nesneler nesne ağacı formunda
gösterilir, formun nesne ağacı üzerinde yapılan düzenlemeler eş zamanlı olarak ön izleme
penceresinde görüntülenir.
Bu bölüm içerisindeki seçilen bir nesnenin özniteliklerini değiştirmek için 5 numaralı bölmedeki
tablolar kullanılır.
Form Penceresini oluşturmak için “iLogic Browser” penceresinde yer alan “Forms” sekmesine
tıklayın.
Sekme altındaki boşluğa fare imlecini getirip sağ tıklayın ve açılan menüden “Add Form”
komutunu çalıştırarak form editörüne ulaşın.
form editörü üzerindeki 1 numaralı bölmede yer alan parametre filtreleri aracına giderek tüm
parametrelerin listelenmesini sağlayın. Tüm parametrelerin listelenmesi için “All” seçeneğini seçin.
Form editörünün 2 numaralı bölmesinde yer alan parametre listesindeki “genislik”, “yukseklik”
ve “kalinlik” parametrelerini 4 numaralı bölmeye sürükleyip bırakın. Form penceresi ön izlemesinde
eklediğiniz parametreler listelenecektir.
form editörünün 2 numaralı bölmesindeki “Rules” sekmesine tıklayın, burada sayısal modele
eklediğimiz kuralların listesi yer alacaktır. “Rule0” isimli kuralı 4 numaralı bölmeye sürükleyip
bırakın. Form penceresine eklediğimiz kural ön izlemede bir buton şeklinde görüntülenecektir. (Eğer
kuralı yeniden adlandırdıysanız sizin belirlediğiniz ad ile burada görüntülenecektir.)
Uygulama 1 – Özet
Bu uygulamada;
Hazırladığımız parametrik sayısal modeli kontrol edebileceğimiz basit bir form penceresi
oluşturduk.
Montajı veya montaj içerisindeki parçaları iLogic ile programlayarak sayısal modellerin birbirlerinin
ölçülerini referans almalarını sağlayabilirsiniz.
Montajları parametrik olarak tasarlayıp kurallara bağlamak için birden fazla yöntem bulunmaktadır,
bu yöntemlerin her birinin farklı avantaj ve dezavantajları bulunmaktadır, tasarımınızın özelliklerine
göre bu yöndemlerden birisini seçebilir veya birden fazla yöntemi birleştirip kullanabilirsiniz.
Bu yöntemde montajda kullanılan parçaların içinde ayrıca iLogic kuralı tanımlanmaz, parçaların
birbirleri ile olan ölçüsel ilişkileri doğrudan ana montaj dosyasında yazılan iLogic kuralları ile kontrol
edilir.
Montaj dosyasında yer alan alt parçalar basit geometrik şekillere sahip iseler bu yöntem
kullanılabilir. Ayrıca; fazla parçası bulunmayan montaj dosyalarında ve iLogic kurallarının hızlı
çalışmasının önemli olduğu durumlarda bu yöntem kullanılabilir.
27 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Parça içerisinde hatalı parametre nedeni ile hata oluşması ihtimali yüksek
Montajda bulunan alt parçalar içerisinde sadece parçanın hata vermesine engel olan
iLogic kuralları eklenir, parçaya eklenen bu kurallar parametrelerin hatalı değerler almalarını
engelleyerek model dosyasının bozulmasını önlerler, parça ölçülerini değiştiren asıl kurallar ise
montaj dosyasına eklenir.
Örneğin; Alt parçanın içerisine sadece uzunluk ölçülerinin sıfır ve sıfırdan küçük değerler almasını
engelleyen iLogic kuralları eklenirken montaj dosyasına ise bir parçanın diğeri ile olan ölçüsel
ilişkilerini belirleyen iLogic kuralları eklenir.
Montajda bulunan parçaların her birine detaylı kontrolü sağlayan iLogic kuralları eklenir
ve alt parçalar daha az parametre ile kontrol edilebilecek şekilde düzenlenir, montaj dosyası içerisine
ise parçaların seçtiğimiz parametrelerini düzenleyen ve diğer işlemleri yapan iLogic kuralları eklenir.
Örneğin; Parça dosyasının içerisinde; parça dosyasının farklı sürümleri arasında geçiş yapılmasını
sağlayan bir iLogic kuralı tanımlanır ve bu kural kullanıcı tanımlı bir parametre ile ilişkilendirilir. Bu
parçanın kullanıldığı montaj dosyalarında ise parçanın farklı sürümlerini seçmek için oluşturulan
kullanıcı tanımlı parametreleri kontrol eden iLogic kuralları yazılır.
Kuralların bir kısmı parça dosyasının içerisine yazıldığı için sonraki kullanımlarda kolaylık sağlar.
28 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Kurallar parça ve montaj arasında paylaştırıldığı için tasarım üzerinde sonradan değişiklik
yapılması zorlaşır.
Bu yöntemde, ana montaj dosyası işlevsel alt montajlara bölünerek her bir alt montajın kendi
parçalarını kontrol edebilmesi sağlanır, ana montaj dosyası ise bir alt montaj dosyalarının birbirleri ile
olan ilişkilerini düzenler. Bu yöntemde parametre değişim emri en üst montajdan bir alt montaja
verilir ve alt montaj da eğer var ise kendi içerisindeki alt montajlara parametre değişim emirlerini
gönderir, bu işlem en altta yer alan parçalara kadar iletilir.
Bu yöntem birbiri içerisine geçmiş birçok alt montaj içeren çok geniş montaj dosyalarında kullanılır.
Her seferinde ilgilenilmesi gereken montaj grubu bir diğerinden bağımsız olduğu için büyük
projelerde hata tespitini kolaylaştırır ve sadece hatalı kısma odaklanarak zamandan tasarruf
yapılmasını sağlar.
İşlemler silsile yolunu takip ettiği için işlem süreleri diğer yöntemlere göre daha uzundur.
29 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
2.) Montajda kullanılan kapak parçasının kutuyu tam olarak kapatabilmesi istenmektedir.
3.) Kutu içerisinde yer alan kürenin kutu ve kapak ile çakışmadan mümkün olan en büyük hacmi
doldurması istenmektedir.
4.) Montaj içerisindeki parametreler bir form penceresi yardımı ile kontrol edilecektir.
30 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
İstenenler;
Çözümler;
Aşağıdaki denklemlerde kutunun ölçüleri kırmızı renkte, kapağın ölçüleri ise siyah renkte
gösterilmiştir.
Ana montaj üzerinden kutunun en, boy, yükseklik ve kalınlık değerlerinin değiştirilebilmesi istendiği
için kapak ve kutu arasındaki uyum parametrelerini yazarken kutunun parametrelerinin sabit
olduğunu varsayacağız. Bu nedenle kapağın ölçüleri kutunun ölçülerini referans alacaktır.
Kapağın kutuyu tam olarak kapatması isteniyor, bu nedenle kapağın kutunun içerisine geçen kısmı ile
kutunun iç ölçülerinin eşit olması gerekmektedir.
Kapak modelinin toplamda sekiz adet uzunluk parametresi bulunmaktaydı, yukarıdaki işlemler ile
birlikte kapak modelinin tüm parametrelerini kutu modelinin parametreleri ile ilişkilendirmiş olduk.
İstenenler;
a) Kapalı kutunun içerisindeki küre hiçbir zaman Kutu ve Kapak ile çakışmayacaktır.
Çözümler;
Küre modelinin “cap” isimli sadece bir adet parametresi bulunmaktadır, küre tamamen kapalı
kutunun içerisinde bulunacağı için kutunun içerisindeki boşluğun en küçük ölçüsü kürenin çapını
belirleyecektir.
A = en – 2 * kalinlik
B = boy – 2 * kalinlik
Bu adımda ana montaj dosyasına gerekli kullanıcı parametrelerini ekleyeceğiz ve parçaları kontrol
eden iLogic kuralını yazacağız.
Montaj dosyasını kullanarak bütün parçaları kontrol etmek istiyorsak öncelikle montaj dosyası
içerisinde kontrol etmek istediğimiz parametreleri simgeleyen kullanıcı tanımlı parametreler
olmalıdır.
Bu uygulamada montaj dosyası kullanılarak kutu montajının en, boy, yükseklik ve kalınlık
parametreleri kontrol edilmek istenmektedir ayrıca bu parametrelerin bir form penceresi aracılığı ile
değiştirilebilmesi istenmektedir. Tüm bu istekleri yerine getirebilmek için gerekli parametreleri
montaj dosyasına tanımlamalıyız.
Uzunluk, açı, sıcaklık, hacim gibi sayısal değer ile belirtilen birimli değerleri ve sadece
sayı içeren birimsiz değerleri alabilen kullanıcı tanımlı parametreler eklemek için kullanılır.
33 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Doğru ve yanlış olmak üzere sadece iki değer alabilen kullanıcı tanımlı parametreler
eklemek için kullanılır.
Kontrol etmek istediğimiz en, boy, yükseklik ve kalınlık parametreleri birer sayısal uzunluk değerini
ifade etmektedirler bu nedenle “Add Numeric” seçeneğini seçmeliyiz.
Parametre ismini yazarken özel karakter, boşluk ve sayı ile başlayan isimler kullanmamalısınız.
Eklediğimiz parametrenin birimini seçmek için isim sütununun hemen yanında yer alan birim
sütunundaki hücreye tıklayalım, aşağıdaki diyalog penceresi açılacaktır.
34 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Montaja eklediğimiz “kalinlik” parametresini daha sonradan kutunun ölçüleri ile ilişkilendireceğimiz
için ön hazırlık olarak parametrenin değerini değiştirmeliyiz.
iLogic Browser penceresini açmak için (eğer kapalıysa) Autodesk Inventor şerit
menüsünden butonuna tıklayın.
35 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Montaj ortamında açılan iLogic editörü ile parça ortamında açılan iLogic Editörü arasında bazı
farklılıklar bulunmaktadır. (Sayfa 14)
iLogic Editörünün 2 numaralı bölmesinde yer alan “Files” sekmesinde ise sadece parçaların dosya
isimleri listelenir, bu sekmede parametreler ile ilgili bir kısım bulunmaz.
36 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Ana montaj dosyasından kutu modelinin parametrelerini kontrol edeceğimiz için önce aşağıdaki
şekilde de gösterildiği gibi unsuruna tıklayıp kutu
modelinin parametrelerinin listelenmesini sağlayalım.
Kutu modelinin “en” parametresini kurala eklemek için “File Tree” sekmesinin sağ kısmındaki
listeden “en” parametresine çift tıklayın.
iLogic Editörünün 3 Numaralı kod bölmesine aşağıdaki gibi bir kod satırı eklenecektir.
Parameter("kutu:1", "en")
Parça dosyasının parametresine montaj üzerinden erişmeye çalıştığımız için iLogic editörü otomatik
olarak yukarıdaki gibi bir kod satırı oluşturur.
Bu kod satırında parçanın model ağacında görüntülenen ismi ve değiştirilmek veya okunmak istenen
parametrenin ismi yer alır. Bu nedenle farklı parça veya montaj dosyalarının aynı isimde
parametrelere sahip olmaları iLogic ile çalışırken herhangi bir hataya neden olmaz.
Kutu modelinin “en” parametresi ile ana montajın “en” parametresini ilişkilendirmek için iLogic
Editörünün kod bölümüne eklediğimiz yukarıdaki satırın sağ tarafına eşittir (=) sembolü koyup model
parametresini eklemeliyiz.
parametresine çift
tıklamalıyız, böylece “en” isimli parametreyi
kod satırına eklemiş oluruz. Parameter("kutu:1", "en")=en
37 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Ana montaj dosyasının “boy”, “yukseklik” ve “kalinlik” parametrelerini de yukarıdaki adımları takip
ederek kutu modelinin parametreleri ile ilişkilendirin.
iLogic ile “A”, “B” ve “C” isminde değişkenler oluşturalım ve bu değişkenlere yukarıdaki
kutucuklarda gösterildiği gibi değer atayalım.
NOT: iLogic programlama dilinde yeni bir değişken oluşturmak için tek yapmanız gereken sayı ile
başlamayan ve özel karakter içermeyen bir değişken ismi belirleyip bu değişkene değer atamaktır.
38 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Fonksiyonun ürettiği değer ile küre modelinin “cap” parametresini ilişkilendirelim. Aşağıda yer
alan kural sayesinde küre modelinin “cap” parametresi her zaman A, B ve C değerlerinden en
küçüğüne eşit olacaktır.
Parameter("kure:1", "cap")=MinOfMany(A, B, C)
Uygulama 2 de istenen tüm isteklerin yerine getirilmesi için montaj içerisine yazılan tüm kodlar
aşağıdaki gibidir.
Parameter("kutu:1", "en")=en
Parameter("kutu:1", "boy")=boy
Parameter("kutu:1", "yukseklik")=yukseklik
Parameter("kutu:1", "kalinlik")=kalinlik
Parameter("kure:1", "cap")=MinOfMany(A, B, C)
39 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Ana montaj dosyasındaki parametrelerin bir form penceresi yardımıyla kontrol edilmek
istenmektedir. ( " >\Bolum2\yontem_1\Montaj_2.iam")
Yukarıda belirtilen sürükle-bırak işlemlerini uygularken hata yapmanız çok önemli değildir, 4.bölme
içerisindeki herhangi bir nesnenin konumunu tekrar sürükle bırak yöntemi ile değiştirebilirsiniz.
Burada önemli olan form penceresinin yapısını anlamanız.
Form editörünün 3 numaralı bölmesinde yer alan “Group”, “Tab Group”, “Row” ve “Picture Folder”
öğeleri taşıyıcı nesnelerdir, bu nesnelerden birisini form penceresine ekledikten sonra başka
nesneleri bunların içerisine sürükleyip bırakabilirsiniz.
40 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Yukarıda anlatılan işlemleri tamamladıktan sonra form editörünü “OK” butonuna tıklayarak kapatın.
Yeni form penceresi yandaki şekildeki gibi görünecektir.
41 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Uygulama 2 – Sonuç
Yukarıdaki adımları tamamladıktan sonra ana montaj dosyasını test etmeye başlayabilirsiniz, form
penceresi üzerindeki parametreleri değiştirdiğinizde montaj dosyasının tüm parçaları uyum
içerisinde şekil değiştireceklerdir.
Uygulama 2 – Özet
Bu uygulamada;
Montaj ortamındaki iLogic editörü ile parça ortamındaki iLogic editörünün arasındaki farklılıkları
inceledik.
iLogic editöründeki kod parçacığı kütüphanesini kullanarak iLogic kuralımıza kod ekledik.
Bu montaj dosyasını oluşturan parçaların hiçbirisinde hatalı parametreleri engelleyen bir kural
kullanılmamıştır. Montaj parametreleri içinden parçayı etkileyen herhangi bir parametrenin değerini
yanlış verirsek parça dosyalarından bir veya birkaçı oluşturulamayacağı için model dosyamız
bozulacaktır.
Örnek;
Montaj dosyasında kullanılan parçaların hata vermeleri için tüm parametrelerin sıfır olması
gerekmez, bazen imkânsız geometrilere neden olan ölçüler de parçaların hata vermelerine neden
olabilir.
Bu gibi durumlarda montajda kullanılan tüm parçaların parametreleri için alt ve üst limitleri
belirleyen iLogic kodları yazabiliriz fakat bu işlem çok fazla zaman alır, parametre ve parça sayısının
çok fazla olduğu durumlarda sınırlandırılacak parametreleri belirlemek için eleme yapmalıyız.
Parçaların çökmesine neden olan hatalı parametreleri engelleyebilecek kodları ister montaj ortamına
isterseniz de parçanın kendisine ekleyebilirsiniz, aynı parça birden fazla montajda kullanılıyorsa
kodları parçaya eklemek daha verimli olacaktır.
Küçük montaj dosyalarında tüm parçalara hata önleyici kodlar ekleyebilirsiniz fakat daha büyük
montajlarda bir eleme işlemi yapmanız gerekir. Tüm parçalara kod yazılması programın çalışmasını
yavaşlatacağı için mümkün olan en az kodla işlemleri tamamlamanız gerekir.
iLogic kuralı eklenecek parça dosyalarını bulmak için aşağıdaki sorgulamalar yapılır.
Bir parçanın parametreleri diğer parçalar için referans değer oluyor mu?
43 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
ilişkilendirildiğini görmekteyiz.
Bir parçanın parametreleri diğer parçalar için referans değer oluyor mu?
Yukarıdaki cevapların hepsinde “kutu” modeli öne çıkmaktadır, bazı büyük montaj
dosyalarında tüm cevaplar aynı parçayı göstermeyebilir, böyle durumlarda puanlama yapılarak en
yüksek puan alan parça seçilir.
Parça içerisindeki kontrol edilecek parametreleri seçmek parça dosyasını seçmek kadar önemlidir.
Model içerisindeki bir parametrenin değeri diğer parametrenin değerini veya alt ve üst limitlerini
belirliyorsa bu parametreye birincil parametre diyebiliriz. Eğer iki veya daha fazla parametre
44 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
“en”, “boy” ve “yukseklik” parametrelerinin hepsinin alt sınırı doğrudan “kalinlik” parametresi ile
ilişkilidir, bu nedenle “kalinlik” parametresi birincil parametre olarak kabul edilecektir.
Parametrelerin alt ve üst sınırları belirlenirken daima birincil parametreler sabit kabul edilerek
işlemler yapılır. Birincil parametrelerin alabileceği en küçük değere ise kullanıcı karar verir.
45 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
boy>=2*kalinlik+2*ic_yuvarlatma+1 mm
yukseklik>=kalinlik+ic_yuvarlatma+1 mm
Bir parametrenin alt veya üst limitlerini belirlerken “if…then…end if” yapısını kullanabiliriz fakat tek
yöntem bu değildir, iLogic editörünün 1 numaralı bölmesinde yer alan kod parçacıkları kısmında
matematik fonksiyonları da yer almaktadır.
Matematik fonksiyonlarının içerisinde farklı değişkenler arasından en büyük veya en küçük olanı
bulmak için kullanabileceğimiz dört farklı fonksiyon bulunmaktadır. Bu fonksiyonların yazılışları ve
kullanımları aşağıda anlatılmıştır.
iLogic Kod Yapısı: “MaxOfMany(a,b,c …)”, “MinOfMany(a,b,c …)”, “Max(a, b)”, “Min(a, b)”
MaxOfMany(a, b, c, etc)
a, b, c gibi üç veya daha fazla değişken arasından en büyük olanı
seçen fonksiyon türüdür.
Min(a, b)
a ve b gibi iki değişken arasından en küçük olanı seçen fonksiyon
türüdür.
Yukarıdaki kod yapılarında belirtilen a, b ve c gibi değişkenlerin yerine sonucu sayısal bir değer
veren denklemler veya fonksiyonlar yazabiliriz.
“boy” parametresinin alabileceği en küçük değeri sınırlandırmak için “Max(a, b)” fonksiyonunu
kullanacağız. “boy” parametresi üst montaj tarafından kontrol edilmektedir ve alt limiti de
kendisinden bağımsız bir denklemin değeri kadar olacaktır(2*kalinlik+2*ic_yuvarlatma+1 mm).
46 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
“boy” parametresinin üst montajdan aldığı mevcut değer ile alt limiti belirlemek için kullanacağımız
denklemin değerini karşılaştırıp büyük olan değeri boy parametresine aktarırsak bu parametre için
alt limiti belirlemiş oluruz.
Programlamada kod satırlarının yazılış sırası çok önemlidir, ilk yazılan satır önce işlemden geçeceği
için diğer parametrelerin değerlerini etkileyebilecek işlemlerin diğer işlemlerden önce yazılmaları
gerekir. Birincil parametreler ile ilgili işlemler en üste yazılmalıdır.
boy=Max(2*kalinlik+2*ic_yuvarlatma+1, boy)
en=Max(2*kalinlik+2*ic_yuvarlatma+1, en)
“kalinlik” parametresi birincil parametre olduğu için ilk sıraya yazılmıştır, “kalinlik” parametresinin
değeri diğer parametrelerin alabilecekleri alt limitleri de belirlemektedir.
47 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Yukarıdaki kodları “kutu” modelinde oluşturduğumuz “sigorta” isimli iLogic kuralının içerisine
kopyaladıktan sonra “OK” butonuna tıklayarak iLogic editöründen çıkın ve parça dosyasını kaydedin.
Montajda yazılan iLogic kodları sadece parametre değerlerini parçaya gönderiyor, parçanın
parametrelerindeki değişimi okumuyor.
Sayısal model içerisinde bulunan iLogic kurallarının çalışma sırasının önemli olduğu durumlarda
kullanılırlar.
iLogicVb.RunRule("KuralAdi")
iLogicVb.RunRule("ParcaAdi", "KuralAdi")
Hedeflenen bir parça veya montaj içerisindeki belli bir kuralı çalıştırmak için kullanılır.
“ParcaAdi” yazan alana hedeflenen parça veya montaj dosyasının model ağacına görünen ismi
yazılır, “KuralAdi” yazan kısma ise hedeflenen parça veya model içindeki çalıştırılmak istenen
kuralın adı yazılır.
48 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Kutu içerisindeki “sigorta” isimli kuralı ana montaj içerisinden çalıştıran bir kural yazalım.
Kural dosyası bir başka parça içerisinde olduğu için “iLogicVb.RunRule("ParcaAdi", "KuralAdi")” kod
parçacığını kullanacağız.
Kural dosyası içerisindeki ilk dört satırda montaj parametrelerini kutu parametrelerine ileten kodlar
bulunmaktadır.
Kutu modelinin montaj model ağacındaki ismi “kutu:1” olarak görünmektedir, kod parçacığının
içerisindeki gerekli alanlara parçanın görünen ismini ve çalıştırmak istediğimiz kuralın adını yazalım.
iLogicVb.RunRule("kutu:1", "sigorta")
Yazdığınız kuralı, parametreleri parçaya aktaran satırların hemen altına yazdığınızdan emin
olun, “uyum” kuralının ilk beş satırı aşağıdaki gibi olmalıdır.
Parameter("kutu:1", "en")=en
Parameter("kutu:1", "boy")=boy
Parameter("kutu:1", "yukseklik")=yukseklik
Parameter("kutu:1", "kalinlik")=kalinlik
iLogicVb.RunRule("kutu:1", "sigorta")
Kutu modeli içerisindeki “sigorta” kuralı çalıştığında hatalı parametreler düzeltilecektir fakat montaj
üzerinde tanımladığımız kullanıcı parametreleri aynı kalacağı için ana montaj üzerindeki form
penceresi kullanıcıya yanlış parametre bilgilerini göstermeye devam eder. Bu hatayı engellemek için
kutu modelinin parametrelerinde yapılan değişikliğin ana montaj dosyasına bildirilmesi gereklidir.
Kutu modelindeki “sigorta” isimli iLogic kuralı çalıştıktan sonra parametrelerinde olan değişikliği
montaj dosyasına bildirmek için aşağıdaki satırları ana montajdaki “uyum” kuralına ekleyelim. Kod
sıralaması önemli olduğu için bu satırları “iLogicVb.RunRule("kutu:1", "sigorta")” satırının hemen
altına eklemeliyiz.
en=Parameter("kutu:1", "en")
boy=Parameter("kutu:1", "boy")
yukseklik=Parameter("kutu:1", "yukseklik")
kalinlik=Parameter("kutu:1", "kalinlik")
Kuralı test etmek için “OK” butonuna tıklayarak iLogic editörünü kapatın ve “Kutu Montajı” isimli
kullanıcı form penceresini açarak form üzerindeki tüm parametrelere sıfır değerini verin.
49 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Bu hatanın nedeni kapak modelinin kutunun içerisine giren bölümünün kalınlığını toplam kapak
kalınlığının yarısı olacak şekilde ayarladığımız içindir. (Sayfa 30)
Kapak modelinin “ic_kalinlik” isimli bu parametresini kontrol eden kuralı değiştirerek böyle bir
hatanın oluşumunu engelleyebiliriz.
Ana montaj içerisindeki “uyum” isimli iLogic kuralına çift tıklayarak iLogic editörünü açın, “ic_kalinlik
parametresini kontrol eden kural aşağıdaki gibidir.
Parameter("kapak:1", "ic_kalinlik")=Parameter("kutu:1", "kalinlik")/2
Yandaki şekle dikkat ettiğinizde kapak ile kutu arasında çok ince bir düzlük
alan olduğunu görürsünüz, buradaki düzlük alanın genişliği;
“ic_kalinlik KAPAK ” parametresi hem “kalinlik KUTU / 2” hemde “yukseklik KUTU - (kalinlik KUTU -
ic_yuvarlatma KUTU )” denklemlerinden küçük değer alanına eşit olmalıdır.
Yukarıda belirttiğimiz denklemi “uyum” isimli kural içerisinde yazınız, bu kural daha önceki
“ic_kalinlik KAPAK ” parametresini kontrol eden kuralın yerine yazılabileceği gibi bu kuraldan sonra da
yazılabilir.
50 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Yukarıda belirtilen tüm adımlar tamamlandıktan sonra ana montaj dosyasının içindeki “uyum”
kuralının içeriği aşağıdaki gibi olacaktır.
Parameter("kutu:1", "en")=en
Parameter("kutu:1", "boy")=boy
Parameter("kutu:1", "yukseklik")=yukseklik
Parameter("kutu:1", "kalinlik")=kalinlik
iLogicVb.RunRule("kutu:1", "sigorta")
en=Parameter("kutu:1", "en")
boy=Parameter("kutu:1", "boy")
yukseklik=Parameter("kutu:1", "yukseklik")
kalinlik=Parameter("kutu:1", "kalinlik")
Parameter("kure:1", "cap")=MinOfMany(A, B, C)
Uygulama 3 – Özet
Bu uygulamada;
Ana montaj üzerinden farklı parçaların içindeki iLogic kurallarını çalıştırma ile ilgili yöntemler
incelendi. “iLogicVB.RunRule(“kural”) - iLogicVB.RunRule(“parça”,”kural”)”
Alt parçalarda meydana gelen parametre değişimlerinin ana montaj dosyası tarafından okunması
sağlandı.
“MaxOfMany(a,b,c …)”, “MinOfMany(a,b,c …)”, “Max(a, b)”, “Min(a, b)” kod parçacıkları
incelendi.
Tamamlanmış örneklerdeki kod satırlarını değiştirerek veya farklı versiyonlar deneyerek pratik
yapmanız iLogic konusunda çok hızlı gelişmenizi sağlayacaktır.
51 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Bir değişkenin değerine veya bir denklemin sonucuna göre iki veya daha fazla seçenek arasından
seçim yapılmasını sağlayan kod yapısıdır.
“Select Case” yapısı ile iç içe geçmiş “if…Then…ElseIf…” yapısı birbirine benzemektedir fakat “Select
Case” yapısını kontrol etmek daha kolaydır.
“Select Case” yapısını kullanarak farklı durumlar için farklı özellikler sergileyen karmaşık ve çok
fonksiyonlu iLogic parçaları ve montajları oluşturabilirsiniz.
52 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Yukarıdaki kod yapısında “Yukseklik” parametresine bağlı bir “Select Case” yapısı oluşturulmuştur.
“Case 8 To 20” satırının anlamı; eğer “Yukseklik” parametresi 8 mm ile 20 mm arasında herhangi
bir değer alırsa (8 mm ve 20 mm dahil) “kabartma” unsurunun rengi maviye dönüşecek
ve “Genişlik” parametresinin değeri “Yukseklik” parametresinin değerinin beş katı olacak, “Uzunluk”
parametresinin alt sınırı ise “Yukseklik” parametresinin değeri kadar olacak. Son olarak da
ekranda “Mavi Form” yazan bir mesaj kutusu gösterilecek.
“Case Is > 20” satırının anlamı; eğer “Yukseklik” parametresinin değeri 20 mm den büyük
olursa “kabartma” unsurunun rengi sarıya dönüşecek ve “Genislik” parametresinin değeri 1
inç, “Uzunluk” parametresinin değeri ise 1 mm olacaktır. Ekranda “Sarı Form” yazan bir mesaj
kutusu gösterilecektir.
“Case Else” satırının anlamı ise; eğer “Yukseklik” parametresi yukarıda listelenen değerlerden
hiçbirisini almaz ise ekranda “Yukseklik” parametresinin değerini gösteren bir mesaj kutusu
açılacaktır.
53 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Aşağıdaki resimde Autodesk Inventor ile modellenmiş bir bilgisayar masası modeli görünmedir.
Bilgisayar masası içerisinde iki adet alt montaj dosyası daha yer almakta ve bu montaj dosyalarının
içerisinde kendi boyutlarını kontrol eden iLogic kuralları bulunmaktadır.
Bilgisayar masası montajının model ağacında yer alan “cekmece:1” isimli alt montaj dosyasını
inceleyelim.
54 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Yukarıdaki form penceresinin “Çekmece” başlıklı sekmesinde montaj dosyasının genel ölçülerini
kontrol eden parametreler bulunmaktadır.
Yukarıdaki form penceresinin “Süs Çıtası” başlıklı sekmesinde kapağın ön yüzüne dekoratif olması
için eklenmiş süs çıtalarının ölçülerini kontrol eden parametreler bulunmaktadır.
Bağımsız alt montaj gruplarının programlanması yönteminde her bir alt montajın içerisinde
montajın önemli parametrelerini kontrol eden bir form penceresinin eklenmesi, daha üst montaj
kademelerine geçildiğinde alt montajın kontrol edilmesini kolaylaştırır.
55 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Pasif kurallar parçadaki parametre değişimleri sonrasında otomatik olarak çalışmazlar, pasif
kuralları çalıştırmak için kural üzerine sağ tıklayarak “Run Rule” komutunu çalıştırabilir veya bir
başka kuralın içerisine yazılmış iLogic kodları ile çalıştırabilirsiniz.
Bilgisayar masası montajında çekmecenin parametrelerini kontrol eden “cekmeceler” isimli bir iLogic
kuralı oluşturulmuştur, “cekmeceler” kuralına çift tıklayarak iLogic editöründe açın. Kuralın içeriği
aşağıdaki gibidir.
Parameter("cekmece:1", "genislik")=Parameter("bilgisayar_altlik_e:1", "e_genislik")-20
Parameter("cekmece:1", "s_yan_pay")=Parameter("yan_plaka_c:1", "c_kalinlik")+10
Parameter("cekmece:1", "uzunluk")=Parameter("yan_plaka_b:1", "b_derinlik")-90
d43=Parameter("cekmece:1", "uzunluk")-100
Parameter("cekmece:1", "yukseklik")=cekmece_1_yukseklik
iLogicVb.RunRule("cekmece:1", "uyum")
Kural içeriğinden de anlaşılacağı gibi “cekmeceler” kuralı hem dosya çekmecesini kontrol hem de
klavyeyi üstüne koyacağımız kayar tablayı kontrol ediyor.
Bu kural içerisinde çekmece alt montajının tüm alt parçaları kontrol edilmiyor, bunun yerine
çekmece montajı üzerinde oluşturulmuş “genislik”, “s_yan_pay”, “uzunluk” ve “yukseklik”
parametreleri kontrol ediliyor ve alt montajı güncelleyen “uyum” kuralı çalıştırılıyor.
Birden fazla iLogic ile programlanmış model içeren bir montaj dosyasında tüm model
dosyalarının aynı anda güncellenmesi istenmez, bu nedenle montaj içerisinde bulunan alt
parçalardaki iLogic kuralları otomatik olarak çalışmaz, bu kuralları bizim tetiklememiz gerekir.
Montaj dosyası içerisinde birden çok iLogic kuralı tanımlanmışsa ve bu kurallardan birisinin
sonucu diğer kuralların sonuçlarını da etkiliyorsa o
zaman montaj içerisindeki tüm kurallar pasif hale
getirilir ve düzenleyici yeni bir kural oluşturularak bu
kuralların belli bir sıraya göre çalışmaları sağlanır.
Montaj dosyalarında çalıştırdığımız iLogic kuralları işlemleri tamamladıktan sonra ortaya çıkan
yeni modeli görebilmek için inventor modelini hızlı erişim menüsündeki “Update” butonuna
tıklayarak güncellememiz gerekebilir. Güncelleme işlemini özel bir iLogic kuralına da yaptırabiliriz.
56 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Bir önceki adımda açtığınız “cekmeceler” isimli kuralı kapatmak için iLogic editörünün “Cancel”
butonuna tıklayın.
iLogic kuralları listesindeki “guncelle” isimli kurala çift tıklayarak iLogic editörü ile açın.
“guncelle” isimli kural bilgisayar masası montaj dosyası içerisinde yer alan tek aktif kuraldır, bunun
nedeni ise montaj içerisinde tanımlı diğer bütün kuralların birbirlerinin sonuçlarını etkilemesidir.
“guncelle” kuralı oldukça basit bir yapıdan oluşmaktadır, bu kuralın kod yapısı aşağıdaki gibidir.
iLogicVb.RunRule("uyum")
iLogicVb.RunRule("kenarlik_g-01 Rule")
iLogicVb.RunRule("kenarlik_g-02 Rule")
iLogicVb.RunRule("kenarlik_g-03 Rule")
iLogicVb.RunRule("bilgisayar_altlik_kapak_h-01 Rule")
iLogicVb.RunRule("cekmeceler")
iLogicVb.UpdateWhenDone = True
Yukarıda yazılan kodların ifade ettiği işlem akışının şematik görünüşü aşağıdaki gibidir.
Uygulama 4 – Özet
Bu uygulamada;
İçerisinde birden fazla iLogic kuralı içeren model dosyalarında kural çalışma sırasının
düzenlenmesini inceledik.
Ana montaj dosyasındaki iLogic kurallarını kullanarak alt montajlarda yer alan kural dosyalarını
çalıştırmayı inceledik.
Bir montaj dosyasının içerisinde iLogic kuralı içeren parça veya montaj dosyaları kullanılmış ise
bu dosyalarda yer alan iLogic kuralları kendiliğinden çalışmaz. Alt montaj ve parçalarda yer alan
kurallar bir başka iLogic kuralı tarafından çalıştırılabilir veya tetikleyiciler kullanılabilir.
Ana montaj içerisine otomatik güncelleme kuralı eklenmemişse ana montaj tüm iLogic
kuralları çalıştırıldıktan sonra el ile güncellenmelidir.
57 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Şekil 1 deki gibi iki boyutlu bir montaj dosyasında hangi parçayı
referans alacağımızı montajın kullanım şekli belirler.
Şekil 1: İki boyutlu montaj dosyası
Merkezdeki “A” parçası birincil kabul ediliyorsa o zaman kural çalışma sırası “A” parçası ile başlar ve
dışa doğru devam eder.
iLogic kurallarının hangi sırayla çalışacağını ve hangi parçaların önce işlem göreceğini belirlemek
için aşağıda yer alan kıstasları kullanabilirsiniz.
Birbirlerini karşılıklı etkileyen model veya parametreler için döngü kuralları kullanılabilir.
58 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Uyarı: While döngüsü dikkatli kullanılmalıdır, döngünün referans aldığı ifade sürekli sağlanıyorsa while
döngüsü sürekli kendini tekrar ederek sonsuz döngü oluşturur ve program kilitlenir, while döngüsünde
sonsuz döngü oluşturmayacak ifadeler kullanılmalıdır.
Döngünün Kullanım Alanları: İstenilen sonucu elde etmek için bir işlem döngüsünün kaç defa
çalıştırılması gerektiği öngörülemiyorsa while döngüsü kullanılabilir.
Not: İşlem döngüsünün sonsuza gitme ihtimali var ise denklem içerisinde bir koşul tanımlanabilir ve bu
koşulun sonucu olarak “Exit While” komutunu çalıştırarak döngüden çıkılabilir.
Bu uygulamada bir parça modelinin belirli bir parametresi iLogic kuralı ile kontrol edilerek
parça kütlesinin istenilen bir değeri alması sağlanmıştır. Bu uygulamada kullanılan kodları kendi
modellerinize uygulayarak çok karmaşık modellerin kütle ayarlamalarını yapabilirsiniz.
2-) Form penceresi üzerinden parçanın en son kütlesinin ne olacağı ve hangi hassasiyette bu kütleye
ulaşılacağı belirtilebilmelidir.
3-) Parçanın belirlediğimiz bir parametresi iLogic kuralı ile kontrol edilmeli ve parça istenilen kütleye
istenilen hassasiyette ulaşıncaya kadar belirlediğimiz parametre değişmeye devam etmelidir.
4-) Parça parametresini değiştirecek olan iLogic kuralı kendiliğinden çalışmamalı, Form penceresi
üzerindeki bir buton yardımıyla çalıştırılabilmelidir.
59 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
5-) Hesaplama işleminin başlangıcında ve bitiminde bir mesaj kutusu açılmalı ve parçanın ilk ve son
kütlesi ile değişen parametrenin aldığı son değer kullanıcıya bildirilmelidir.
6-) Hesaplama içerisinde kullanılan while döngüsünün kaç defa çalıştığı mesaj kutusu ile kullanıcıya
bildirilmeli, döngünün sonsuz döngü oluşturmaması için döngüye koşul eklenmeli ve tekrar sayısı en
fazla 2000 tekrar olacak şekilde ayarlanmalıdır.
60 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
a Mesaj kutusundaki tekrar sayısı değeri while döngüsünün kaç defa tekrarlandığını
göstermektedir, bu mesaj kutusu program while döngüsüne girmeden önce gösterildiği için
birinci mesaj kutusundaki tekrar sayısı değeri sıfır olmaktadır.
c Form penceresini kullanarak seçtiğimiz malzemenin yoğunluğuna ve mevcut parçanın hacmine göre
hesaplanmış işlem öncesindeki parça kütlesini göstermektedir. (Hassasiyet sınırları içerisinde kalmak
kaydı ile sizin testlerinizde bu değer farklı çıkabilir.)
Bilgi Kutusunun üzerindeki “Tamam” butonuna tıklayarak iLogic işleminin devam etmesini sağlayın.
1 Ekrandaki parça modelinin iLogic ile kontrol edilen parametresi parça hedeflenen kütleye
ulaşıncaya kadar değişmeye devam eder, bu işlemin süresi bilgisayarınızın işlem
kapasitesine ve hedef kütleye ulaşmak için yapılan işlem tekrarı sayısına göre değişir.
Test değerlerine göre işlem süreleri değişebilir, uzun süren işlemlerde programı kapatmanıza
gerek yoktur, While döngüsünün tekrar limitini 2000 tekrar olacak şekilde ayarladığımız için program
sonsuz döngüye girmez.
Bilgi penceresinde yer alan “Tamam” butonuna Şekil 3: İşlem sonucunu gösteren bilgi penceresi
tıklayarak iLogic işlemlerinin tamamlanmasını sağlayın.
Hesapları yapan iLogic kurallarını incelemek için “iLogic Browser” üzerindeki “Rules” sekmesini açın.
61 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
B “hacim_ayari” kuralı hedeflenen parça kütlesine ulaşmak için gerekli işlemleri yapmaktadır. Bu
kuralın otomatik olarak çalışması istenmemektedir, bu nedenle kural pasif olarak ayarlanmıştır.
B “hacim_ayari” kuralı “Hacim Ayarlama” isimli form penceresinde bulunan “Hacim Ayarı” butonu
ile tetiklenmektedir.
“hacim_ayari” kuralını incelemek için kuralın üzerine çift tıklayın, iLogic kuralı düzenleme penceresi
açılacaktır. (“Edit Rule: <kural ismi>” isimli kural düzenleme penceresi)
“hacim_ayari” isimli iLogic kuralının içerisinde yer alan tüm kodlar aşağıda yer almaktadır.
tekrar_sayisi=0
'hedef_kutle 'form penceresinde tanımlanmıştır, min hassasiyet*10 için bu formül geçerlidir.
kutle = iProperties.Mass
'hassasiyet 'form penceresinde tanımlanmıştır.
artma_azalma_miktari= 1 mm
eski_kutle=0.0 g
oran=64.0
MessageBox.Show("Malzeme = " & malzeme & vbNewLine & _
"İlk Kütle = "& kutle*1000 & " gr." ,"Bilgi (Tekrar Sayısı = " & tekrar_sayisi & ")")
While Abs(kutle - hedef_kutle) > hassasiyet
dis_genislik=dis_genislik + artma_azalma_miktari
tekrar_sayisi=tekrar_sayisi+1
eski_kutle=kutle
RuleParametersOutput()
InventorVb.DocumentUpdate()
kutle = iProperties.Mass
kutle_degisimi=Abs(kutle-eski_kutle)
If tekrar_sayisi<2 Then:isaret=Sign(kutle-eski_kutle):End If
fark=hedef_kutle-kutle
Eğer hedeflediğimiz kütle ile parçanın en son kütlesi arasındaki fark hassasiyet değerinden büyük ise
işlemler tekrar edilir, eğer fark hassasiyetten küçük ise işlemler sonlandırılır.
Not: Belirlenen bazı koşullar sağlanırsa artma/azalma oranı küçültülerek işlemlere devam edilir.
(Kriterler “Select … Case … End Select” yapısının içerisinde yer almaktadır.)
Uyarı: İşlemlerin doğruluğu için parametrelerin birimlerine dikkat edilmelidir, iLogic içerisinde bir
değişken tanımlarken kütle, uzunluk, hacim … vb. birimleri kullanabilirsiniz, Autodesk Inventor
değişkenlere verdiğiniz birimleri dikkate alarak işlem yapar, eğer değişkenlere herhangi bir birim
atamaz iseniz iLogic varsayılan dosya birimleri üzerinden işlem yapar.
Örnekler:
iLogic içerisinde;
“a = 1 kg” eşitliği yerine “a = 1000 g” eşitliğini kullanırsanız aynı sonucu elde edersiniz.
Bir değişkene birim atamak için sayısal değerin ardından bir boşluk bırakıp birimi temsil eden harfleri
eklemelisiniz. ( “a = 25kg” ifadesi yanlış yazılmıştır, ifadenin doğrusu “a = 25 kg” dır. )
Aynı ölçü türüne ait farklı birimlerdeki değişkenleri aynı denklemde kullanabilirsiniz;
63 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
64 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
degisken = iProperties.Mass
RuleParametersOutput()
Önemli Not 2: iLogic kuralı içerisinde “iLogicVb.RunRule” fonksiyonları kullanılarak başka kurallar
çalıştırılacak ise çalıştırılmak istenen kuralın içerisinde değişen parametrelerin yeni değerlerinin
kullanılması için “iLogicVb.RunRule” fonksiyonundan önce “RuleParametersOutput()” kod parçacığı
kullanılmalıdır.
Sign(ifade_veya_degisken)
“Sign()” fonksiyonu parantez içindeki değişkenin değerine göre -1, 0 ve 1 olmak üzere üç farklı değer
alır, eğer parantez içerisindeki ifadenin değeri negatif ise -1, sıfır ise 0, pozitif ise 1 değerini alır.
“Sign()” fonksiyonu iLogic kuralı düzenleme penceresinin içerisindeki kod parçacıkları bölümünde,
Math düğümünün altında yer alır.
65 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
iLogicVb.UpdateWhenDone = True
InventorVb.DocumentUpdate(False)
ThisApplication.ActiveView.Update()
‘ Program içerisine yazdığımız yorumların başına kesme işareti konur, kural çalışırken yorumlar
hesaba katılmazlar.
& birden fazla değişken ve deyim bir araya getirilip string değer oluşturulmaya çalışıldığında
farklı değişkenleri birbirine bağlamak için kullanılır.
vbNewLine String değişkeni içerisine yeni bir satır eklemek için kullanılan bir deyimdir. Diğer
değişkenlere “ & “ karakteri ile bağlanır.
_ iLogic editöründe uzun kod satırlarını bölmek için satır sonlarında kullanılır. “ _ “ işaretini
kullandıktan sonra kodları bir alt satıra yazmaya devam edebilirsiniz.
: iLogic editöründe iki farklı satırda yazmamız gereken kodları tek bir satırda yazabilmemizi
sağlar, yeni bir satır oluşturmak yerine farklı satırlarda olması gereken kodların arasına “ : “
işareti konulabilir.
66 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
iLogic kuralı düzenleme penceresinin altında yer alan “Cancel” butonuna tıklayarak “hacim_ayari”
isimli kuralı kapatın.
“malzeme” isimli kural iki satırdan oluşmaktadır. İlk satır “malzeme” isimli kullanıcı tanımlı alfanümerik
parametreye Autodesk Inventor’un aktif malzeme kütüphanesinde yer alan malzemelerin isimlerini
yüklemektedir. İkinci kod satırı ise form penceresini kullanarak değiştirdiğimiz “malzeme” isimli
parametrenin değerini kullanarak parça modelinin malzemesini değiştirmektedir.
MultiValue.List("malzeme") = iProperties.Materials
iProperties.Material=malzeme
Uyarı: Parça modelinin parametreleri içerisinde “malzeme” isimli bir parametre yer almaktadır, aynı
zamanda parça malzemesini kontrol eden iLogic kuralının ismi de “malzeme” dir.
Not: Autodesk Inventor yazılımında bir parametre ve bir iLogic kuralı aynı ismi alabilir fakat iki farklı
parametre aynı ismi paylaşamaz veya iki farklı iLogic kuralı aynı ismi alamazlar.
67 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Multi-Value Parametre
Şerit menü
üzerinden butonuna
tıklayıp “Parameters” diyalog penceresi açılır.
68 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
MultiValue.List("param") = iProperties.Materials
MultiValue.List("malzeme") = iProperties.Materials
iProperties.Material=malzeme
MessageBox.Show( iProperties.Material ,"Malzeme")
Birinci kod satırında “malzeme” isimli kullanıcı tanımlı alfanümerik parametreye Autodesk Inventor
içerisinde o an aktif bulunan malzeme kütüphanesindeki malzemelerin listesi aktarılmaktadır.
İkinci satırda “malzeme” isimli parametrenin aldığı malzeme değeri model dosyasına uygulanarak
parça modelinin malzemesi değiştirilir.
Not: “malzeme” parametresi malzeme ismini yazı olarak taşır, “iProperties.Material” fonksiyonu ise
yazı ile yazılmış malzeme ismini kütüphanedeki malzemelerin isimleri ile karşılaştırır ve aynı isme
sahip olan malzemeyi parça modeline uygular.
69 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Üçüncü satırda ise “iProperties.Material” fonksiyonunun kendisi birer değişken olarak kullanılarak
mesaj kutusu ile parçanın mevcut malzemesinin ismi ekrana yazdırılmıştır.
Uygulama 5 – Özet
Bu Uygulamada;
i = Başlangıç
x = Başlangıç
i <= Bitiş Yanlış Bitir
y = Bitiş
Doğru
z = Artma Miktarı
İşlem
“For … Next” döngüsü bir başlangıç
değerinden başlayarak belirli bir bitiş
değerine kadar belirli miktarlarda artarak i = i + Artma Miktarı
Örnek :
1 ile 200 arasındaki tam sayıların toplamını veren bir For … Next döngüsü oluşturalım.
toplam = 0
For i=1 To 200 Step 1
toplam += i
Next
MessageBox.Show( toplam , "For ... Next")
70 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
iLogic Kod Yapısı: “Sub Main()… End Sub, Exit Sub, Return, Exit, End”
iLogic kuralı içerisindeki program kodlarını gruplar halinde toplayarak program akışının kontrol edilebilmesini
sağlayan yapılardır. Kural içerisinde bulunan kod gruplarının istenilen zamanda, istenildiği kadar ve isteğe bağlı
olarak çalıştırılabilmelerini sağlarlar. (Subroutine=Altyordam)
Sub grup1()
Sub Deyiminin kullanıldığı iLogic iLogic Kodları
kurallarında “Sub ???() … End Sub” yapısının End Sub
dışarısında kod satırının bulunmaması gerekir. Sub grup2(ByVal girdi As String)
Sub Main()
iLogic Kodları
kalinlik_1=kalinlik_2 grup1()
grup1() End Sub
End Sub
uzunluk_1=uzunluk_2 'buraya kod yazamazsınız !!! ...
Sub grup1()
genislik=120 mm
End Sub
Sub deyimlerini çalıştırmak için kullanılan “Deyim_İsmi()” kod parçacığı bir değişkenin yerine
kullanılamaz.
Dışarıdan değişken kabul edebilen sub deyimleri “Deyim_İsmi(ByVal degisken1 As Integer, Byval
degisken2 As String) ” formatında yazılırlar ve “Deyim_İsmi(degisken1, degisken2) ” formatında
çağrılırlar. (Değişken formatı olarak String, Object, Double, Integer, … vb. kullanılabilir.)
71 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
b iLogic kuralı içerisinde birisi Sub Main() deyimi olmak üzere toplamda üç adet Sub deyimi
kullanılmıştır.
5 Kod satırlarını tekrar genişletmek için 3 numaralı bölmeye sağ tıklanır ve açılan
menüden komutu çalıştırılır.
72 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
“kaplin_p1_uyum()” deyiminin karşılığı olan kodların hepsi çalıştırıldıktan sonra tekrar Sub Main()
deyimine geri dönülür bu deyim içerisindeki diğer işlemlerde tamamlandıktan sonra Sub Main()
deyiminden çıkılarak iLogic kuralının çalışması sonlandırılır.
b Aşağıda yer alan sol tarataki kutuda “uyum1” kuralının yapısı verilmiştir, sağ taraftaki kutuda
ise “uyum1” kuralı ile aynı işlevi gören fakat sub deyimi kullanılmamış kod satırları yer almaktadır.
b Az sayıdaki kod satırı içeren kurallarda Sub deyiminin kullanılmasına fazla gerek yoktur. Kod satırı
sayısı arttıkça (50 ve daha fazla kod satırı) Sub deyiminin kullanılması kural çalışmasını kontrol
edebilmek için gerekli hale gelir.
b iLogic kuralı içerisine 20 000 satırdan daha fazla kod satırı yazabilirsiniz.
Sub Main()
kaplin_p1_uyum()
kaplin_p2_uyum()
InventorVb.DocumentUpdate()
End Sub
Parameter("KAPLIN_P1:1", "kaplin_dis_cap")=kaplin_dis_cap
Sub kaplin_p1_uyum() Parameter("KAPLIN_P1:1", "kaplin_genislik")=kaplin_kalinligi
Parameter("KAPLIN_P1:1", "kaplin_dis_cap")=kaplin_dis_cap Parameter("kaplin_p1:1", "dis_ic_cap")=kaplin_ic_cap
Parameter("KAPLIN_P1:1", "kaplin_genislik")=kaplin_kalinligi Parameter("kaplin_p1:1", "kaplin_dis_genisligi")=kaplin_dis_kalinligi
Parameter("kaplin_p1:1", "dis_ic_cap")=kaplin_ic_cap Parameter("kaplin_p1:1", "kaplin_dis_sayisi")=kaplin_dis_sayisi
Parameter("kaplin_p1:1", "kaplin_dis_genisligi")=kaplin_dis_kalinligi Parameter("kaplin_p1:1", "dis_uzunlugu")=kaplin_kalinligi
Parameter("kaplin_p1:1", "kaplin_dis_sayisi")=kaplin_dis_sayisi
Parameter("kaplin_p1:1", "dis_uzunlugu")=kaplin_kalinligi iLogicVb.RunRule("KAPLIN_P1:1", "dis_ayari")
Önemli Not 2: Programlama yapmak bilgi birikimi ve yaratıcılık gerektirir, programlama öğrenmenin
en iyi yöntemi bol bol pratik yapmaktır, bu belge içerisinde anlatılan bilgileri pekiştirebilmeniz için
içerisinde birçok örnek model bulunduran “iLogic” isimli bir proje dosyası oluşturulmuştur. “iLogic”
isimli proje dosyası içerisinde bulunan birçok model bu belge içerisinde kısmen anlatılmıştır, diğer
modeller ise inceleme ve pratik yapabilmeniz için proje dosyasına eklenmiştir.
73 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Uygulama 6 – Özet
Bu Uygulamada;
Function deyiminin genel kullanımı Sub deyimine benzer fakat aradaki en önemli fark; Sub
deyimi bir değer alamazken Function deyimi sayısal, alfanümerik veya diğer formatlarda değer
alabilmektedir.
Sub Main() deyimi kural içerisindeki diğer fonksiyonların veya sub deyimlerinin hangi sıra ile
çalışacaklarının belirtildiği kısımdır. Eğer kural içerisinde sub deyimi veye function deyimi kullanılacak
ise mutlaka Sub Main() deyimi de kullanılmalıdır.
iLogic kuralı içerisinde aynı işlemi yapan kod satırlarını tekrar tekrar yazmak yerine bu satırları
Function deyimi ile bir araya getirerek çok daha az satır ile çok daha fazla görev yapabilen kurallar
yazabiliriz.
74 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
iLogic kuralı içerisine yazdığımız kod satırları model içindeki parametrelere bağlı olarak bazı
durumlarda hata verebilirler.
Hata verme ihtimali olan kodları Try deyimi içerisine alarak kod satırının hata vermesi
durumunda yapılacak alternatif işlemleri tanımlayabiliriz.
Try Deyimi içerisinde Sub deyimleri ve fonksiyonlar çağrılabilir, birden fazla Try deyimi iç içe
kullanılabilir.
Class yapılarına farklı iLogic kuralları içerisinden de ulaşılması isteniyorsa bu kodlar harici bir .dll
dosyasına kaydedilir ve bu kodlara diğer kurallar içerisinden gerekli kod satırları ile ulaşılabilir.
75 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Bir altyordamın(Sub Deyimi) veya fonksiyonun içerisinde tanımlanan bir değişken sadece o yapı
içerisinde geçerlidir.
Tüm Kural içerisinde geçerli olacak bir değişken oluşturabilmek için değişkeni Class yapısı
içerisinde fakat altyordam veya fonksiyonların dışında tanımlamalıyız.
76 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
iLogic içerisinde sık kullandığınız kod satırlarını farklı kurallarda tekrar tekrar yazmamak için
kendinize özel bir kod parçacığı kütüphanesi oluşturabilirsiniz.
İstediğiniz kod satırlarını aşağıdaki adımları uygulayarak iLogic kuralı düzenleme penceresinin 1
numaralı bölmesinde yer alan Custom sekmesinin altına kaydedebilirsiniz.
77 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
iLogic Kuralının kod yapısı VB.NET programlama dilinin kodlama yapısı ile oldukça benzerlik
göstermektedir, iLogic kod yapısını VB.NET programlama dilinin sadeleştirilmiş hali olarak
düşünebilirsiniz.
Eğer daha önceden VB.NET programlama dilini kullandıysanız sıfırdan iLogic öğrenmenize gerek
yoktur, iLogic kod editöründe küçük bir ayar değişikliği yaparak VB.NET kodlarını doğrudan iLogic
kuralı içerisinde kullanabilirsiniz.
VB.NET programlama dilinde yazılmış program kodlarını doğrudan iLogic kuralında kullanmak için
yapmanız gereken ayar değişikliği aşağıda anlatılmıştır.
Ayarlarda yaptığınız bu değişiklik sadece düzenlemek için açtığınız kural için geçerlidir.
78 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
iLogic Modülünün sağladığı tüm olanaklara rağmen program tam olarak ihtiyacınızı
karşılamıyorsa veya inventor ile çalışan harici .exe uygulamaları yazmak istiyorsanız aşağıdaki
adımları uyguladıktan sonra Microsoft Visual Studio kullanarak Autodesk Inventor üzerinde çalışan
uygulamalarınızı yazmaya başlayabilirsiniz.
79 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
Yukarıda anlatılan işlemleri tamamladıktan sonra Microsoft Visual Studio yazılımını kullanarak
Autodesk Inventor üzerinde çalışan programları yazabilirsiniz.
Ayrıntılı bilgi için Autodesk’in hazırladığı “My First Inventor Plugin” sayfasına buraya tıklayarak
ulaşabilirsiniz.
Bu belge ile iLogic modülü ile ilgili giriş seviyesindeki temel bilgiler anlatılmaya çalışılmıştır.
iLogic modülü ile yapabileceklerinizin sınırı bilgi birikiminiz ve hayal gücünüz ile sınırlıdır. Autodesk
Inventor API si son kullanıcıların kullanımına açık olduğı için iLogic ve VB.NET kullanarak çok ileri
düzey yazılımlar yazabilirsiniz.
\Bolum1\tekerlek.iam
\Bolum2\uygulama_4\bilgisayar_masasi.iam
80 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
\Bolum2\yontem_1\Montaj_3
\Bolum2\kaplin\kaplin.iam
\Multivalue_test.ipt
\while.ipt
\Class.ipt
81 www.ertugrulates.net
Autodesk Inventor iLogic Uygulamaları
“ http://www.autodesk.com/products/inventor/free-trial “
“ http://www.autodesk.com/products/showcase/free-trial “
“ http://www.microsoftstore.com/store/msmea/tr_TR/pdp/Office-365-Bireysel/productID.298296900 “
Microsoft Visual Studio Community 2015 (Kurumsal olmayan kullanım için ücretsiz.)
“https://www.visualstudio.com/products/visual-studio-community-vs “
“ https://acrobat.adobe.com/us/en/pricing/pricing.html?promoid=KSCVC “
“ http://getgreenshot.org/downloads/ “
“ http://www.gimp.org/ “
“ https://inkscape.org/en/ “
82 www.ertugrulates.net