Esri CityEngine’de Python’u Kullanarak İş Akışlarınızı Otomatikleştirin
Python ve Esri CityEngine
Python, nesne yönelimli, yorumlamalı, birimsel ve etkileşimli yüksek seviyeli bir programlama dili olduğu için CityEngine’in olanaklarını büyük ölçüde arttırmaktadır. Bu blog yazısında Python konsolunun ve editörün temel kullanımı ve CityEngine görevlerinin otomatikleştirilmesi konusunda çeşitli örnekler verilecektir. CityEngine’de Python’u kullanma amacımız modelleme işlemlerinden ziyade, otomasyondur. Python komut dosyaları Python konsolunda veya Python düzenleyicisinden çalıştırılabilmektedir.
Python Console
Python konsolunu kullanarak CityEngine projemizin klasörlerinde veya herhangi bir klasörde bulunan komut dizinleri çalıştırılabilmektedir. Örneğin scripts klasöründe bulunan bir komut dizini direkt olarak konsolda, içeri aktarılarak çalıştırılabilmektedir.
Python Konsolu
Python Editor
Python Editor, komut dosyalarını düzenlemek ve yürütmek için daha uygun bir yol sunar .Python modüllerini Dosya → Yeni … → Python Modülü yolu ile oluşturabilir. Yeni bir python modülü oluştururken kaynak klasör olarak mevcut projemizde bulunan scripts klasörünü seçebilir, hatta scripts klasörüne sağ tıklayarak yeni python modülü oluşturabilmekteyiz.
CityEngine yazılımında Python’u ne şekilde kullanabilmekteyiz ?
Python ile CityEngine de birçok şeyi otomatikleştirebilmekteyiz. Örneğin bir oyun projesinde çalışıyoruz ve tekrarlı olarak fbx formatında çıktılar elde etmek zorundayız. Python ile oluşturacağımız yönergeler ile, sadece tek tıkla komut dosyası içerisinde belirttiğimiz tüm parametreler ile birlikte modelimizi dışarı aktarabiliriz. CityEngine model dışarı aktarım seçeneklerinde bulunan tüm doku, geometri ve diğer parametreleri komut dosyası içerisinde belirtebilmekteyiz.
FBX dışa aktarım komut dosyasının çalıştırılması.
Python kullanarak CityEngine yazılımındaki iş akışlarımızı otomatik bir hale getirebiliriz. Yukarıdaki sahnede komut dosyasının çalıştırılmasının ardından sahnede bulunan modelin .fbx uzantılı çıktısı models klasörüne eklenmiştir.Komut satırı çalışırken yapılan tüm işlemler aynı zamanda ekranda görüntülebilmektedir.
Animasyon Oluşturma
Python komut dosyaları, üretim veya dışa aktarım işlemlerini otomatikleştirmek için kullanılabilir. Aşağıdaki örnekte ise cga kuralları ile oluşturulan bir bina özelinde yazılan bir komut dosyasının sonucu görüntülenmektedir. Cga kural dosyası, binanın pencere aralıklarını, boyutu ve kapı genişliği gibi özellikleri içermektedir. Bu değerleri elle ayarlamak yerine, değerleri değiştiren bir komut dosyası oluşturabiliriz. Sonuç görüntüsü aslında bir animasyon teknolojisinden ziyade bina içerisinde olan değerlerin otomatik olarak değiştirilmesidir.
CGA kuralı içerisinde bulunan parametrelerin, phyton komut dosyası ile otomatik bir şekilde yönetilmesi.
CityEngine kendi Jython kurulumunu kullanmaktadır. Başka kütüphaneleri CityEngine yazılımına entegre ederek etkileyici senaryolar oluşturabilirsiniz. Örneğin tweepy’i kütüphanesini kullanarak bir sahne oluşturabilirsiniz. Sahne kullanıcıların izin vermesi dahilinde gerçek zamanlı twitleri ve konumlarını içeren firehose’ları sunmaktadır. Bu şekilde twittlerin sıklığına göre binaların yukarı doğru büyüdüğü bir sahne oluşturabilirsiniz.
Esri Türkiye 2019