Egitim 2
Eğitim-2 içeriğine genel bakış:
→ Export objesi (bkz: Export Objesi)
→ Objeler arası iletişim (bkz: Objeler Arası Iletişim, bkz: Export Objesi, bkz: Private Objesi)
→ Özel obje ve fonksiyonlardan bazıları (bkz: toglobal(Obje), bkz: linel(line), bkz: online(line,Uzaklık), bkz: onliner(line,GöreceliUzaklık)
Bu eğitimde farklı kütüphane objeleri olarak oluşturulan, küp şeklindeki 3 adet "Volume" objesi ile aşağıdaki görüntünün elde edilme aşamaları anlatılmaktadır. Ayrıca bkz: Objeler Arası Iletişim
"cube1" objesinin oluşturulması:
- Objeler arası iletişim OpenBrIM platformunda tanımlanan parametrik köprü objeleri açısından neden önemlidir?
- Bir objenin uzaydaki konumu nasıl tanımlanır? (Örnekte tanımlanan StartingPoint parametresinin değeri, V= "[0,0,0]" listesi şeklinde, sırasıyla X, Y ve Z noktalarını temsil etmektedir.)
- Bir objenin renk ve şeffaflık ayarları nasıl yapılır? (bkz: 3D Geometrik Objeler)
- Bir listenin (Örn: V="[0,0,0]") bileşenlerine nasıl erişilir ve seslenilir? Ne zaman listelere ihtiyaç duyarız?
- Geometrik objelerin birbirinden veri okuyabilmesi için neye ihtiyaç duyulur? Referans çizgisi kavramı: "refline"
- Bir objenin global koordinatlarını hesaplama ve listeleme (bkz: toglobal(Obje))
- "Refline" objesinin orta nokta koordinatlarının hesaplanması, Metod 1 (bkz: onliner(line,GöreceliUzaklık))
- Bir objenin Role= "Input" olmayan, ancak App'te başka objeler tarafından tanınmasına ihtiyaç olan parametrelerini App'te başka objelerin kullanımına açmak (bkz: Export Objesi)
"cube2" objesinin oluşturulması:
- Bir objenin (cube2) başka bir obje (cube1) ile ilişkilendirilirken "cube2" objesi tarafından ihtiyaç duyulan "cube1" parametrelerini kullanıcıdan istemek yerine, bu parametreler "cube2" objesi içinde "cube1" ile ilişki kurulur (bkz: Private Objesi)
- TransAlignRule= "Right" parametresi ne işe yarar?
- Bir çizginin uzunluğu nasıl hesaplanır? (bkz: linel(line))
- "Refline" objesinin orta nokta koordinatlarının hesaplanması, Metod 2 (bkz: online(line,Uzaklık))
"cube3" objesinin oluşturulması:
- "cube2" objesi içinde "export"lanan parametreleri "Private" ile "cube3" objesinin içinde ilişkilendirmek yerine, bu parametreleri "cube3" içinde Role= "Input" olarak da tanımlayabilirdik. Ancak bu yaklaşımda, her yeni durum için bu input parametrelerin değiştirilmesi gerekirdi. Bu yaklaşımın, OpenBrIM'de kurgulanan parametrik akıllı köprü mantığına uygun olmadığını anlayalım.
- Bir objeyi başka bir obje içinde i) "Private" ile çağırmak yerine ii) objenin kendisini çağırmak arasında ne fark vardır? Her iki durumda App'te elde edilen davranış nedir?
- App'te bir objeyi oluşturmak için başka bir ön objenin gerekliliği kullanıcı arayüzünde nasıl belirtilir? (bkz: Paraminfo Objesi)
- App'te oluşturulmak için kendinden önce tanımlanması gereken bir objeye ihtiyaç duyan bir objeden App içinde birden fazla sayıda tanımlanırsa ne olur? Obje Library kodundaki kurgu nasıl olmalıdır?
- Bir obje, başka bir objenin içinde i) "Private" olarak ya da ii) objenin kendisi olarak doğrudan çağrılarak tanımlandıktan sonra değişikliğe uğrarsa, değişikliğe uğrayan objenin güncel hali, -çağrılma şekline bağlı olarak- i) "Private" ya da ii) objenin kendisi şeklinde tekrar çağrılmalıdır.