Arttırılmış Gerçeklik (AR) ve PLM

Merhabalar,

Bugünkü yazımda yakın gelecekte hayatımıza girecek olan arttırılmış gerçeklik kavramından ve birazda CAD sistemlerine nasıl entegre edilebileceği hakkında bahsedeceğim.

Amerika hava kuvvetleri için Amstrong labarotuarında 1992 yılında geliştirilen bu yapı, şimdilerde eğitim, sanayi, tıp, savunma gibi birçok alanda yakın gelecekte kendine yer edinecek. Birçok firma bu alanda şimdiden çalışmalara başlayarak teknolojide yerini ayırtmaya çoktan başladı. Mesela en çok bilinen uygulamalardan olan snapchat, bu özelliği kişilerin kamera önünde sky filter  kullarak, kullanıcıların fotoğraflarını değiştirmelerine olanak sağladı.

Farklı bir donanım kullanmadan mevcut cep telefonu ve bilgisayarlarımızın kameralarını kullanarak gördüklerimizi daha farklı deneyimleyebiliyoruz ve buna arttırılmış gerçeklik diyoruz. Peki ya gerçeği görmek istersek 😕 O zamanda AR gözlük kullanmanız gerekecektir.

Peki CAD ortamını nasıl etkileceyecek bir fikriniz var mı 😕

Tabiki çok işin içine girmeden, sosyal medyada gördüğünüz birşeyler var, ama artık durum biraz daha farklı çünkü 5 sene içerisinde artık görmeye başlıyacağımızı düşünüyorum. QualComm firmasının artırılmış gerçeklik ile ilgili firması olan Vuforia, 2014 yılında PTC (eski adıyla ProEngineer) tarafından 65 miyon dolara satın alındı…

Peki PTC bu firma ile neler yaptı buna bir bakalım. İlk başlarda genellikle eğlence sektöründe kendine yer edinen artırılmış gerçeklik ile, PTC PLM sistemini entegre eden ThingsWorx ile sektöre yeni can ve kan getirdi.

Hemen bakalım ne yapmışlar;

Elbetki izlerken sıkılabilirsiniz ancak sonlara doğru CAD sisteminde nasıl uygulanabileceğini sizlere gösteriyor. İşte dananın kuyruğunun koptuğu noktada tam burası 🙂

Kamera ile baktığınız yer, etiketi okuttuğunuzda önceden tanımlı bölgeler dijitalize oluyor. Sistem buluta bağlanıp CAD datayı indirdikten sonra cad datayı önceden tanımladığınız yere pozisyonlandırıyor ve sensör üzerindeki verileri de arayüz üzerinden kullanıcılara aktarıyor. Biraz büyülü değilmi 😕

Aslında bunların hepsini Vuforia isimli bu kütüphane sayesinde yapabiliyorsunuz. Bu kütüphane ile Unity üzerinde platform bağımsız olarak oyun geliştirir gibi yazılım yazabiliyorsunuz ancak oyun nesnelerine tanımlayacağınız scripleri C# ile yazmanız gerekiyor. Bu arada Android Studio ile Java desteğide var.

Eğer sizde biraz uğraşmak istiyorsanız, youtube üzerinde bir çok video bulabilirsiniz. Size güzel bir başlangıç yaptıracak faydalı bir video tavsiye edeceğim.

Umarım Faydalı olmuştur, sevgiyle kalın.
Gökhan

http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/google_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/myspace_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/facebook_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/yahoobuzz_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/twitter_48.png

PTC Creo ile ilk J-link Bağlantısının Kurulması “HelloWorld” Part-1

creo-homepage-banner[1]

Merhabalar,

Geçen yazımda son yazacağım konunun PTC Creo’nun J-link özelleştirme katmanının nasıl kurulacağına dair bir yazı paylaşacağımı belirtmiştim. Peki nedir J-link bunlar hakkında kısa bir bilgilendirme yaptıktan sonra örneğimize geçeceğiz.

Bu makaleyi okuyorsanız zaten Creo’nun ne olduğunu biliyorsunuz diye kabul ediyorum. Çünkü herkesin ilgi alanı olmadığını fazlasıyla biliyorum 🙂 Peki şimdi Customization hakkında biraz bilgi vereyim, Normal günlük 3D çizim projelerinizde ihtiyacınız olmayabilir ancak büyük ve hergün rutin olarak yaptığınız bazı projeleri uygun programlama dili makrolar yazarak, iş gücü ve maliyetlerinizi düşürebilirsiniz.  Şu an çalışıtığım firmanın bu konu ile ilgili ciddi yatırımları ve ciddi boyutlarda kişi istihdam etmektedir ancak gün sonunda edilen iş miktarına baktığınızda ciddi bir iş yükünü, mühendislerin üzerinden aldığı da aşikardır. Creo bunun için çeşitli dillerle interface’ler hazırlamış ve bunları yazılan programlara entegre ederek bir IDE yardımı ile programlar hazırlayabilirsiniz.

Bu dilleri incelersek;

  • C Toolkit (Ücretlidir. Yazılım ve kullanım lisansı gerektirir. Creo’nun tüm özelliklerine sahiptir. Programın %99’una programlama dili ile hükmedebilirsiniz)
  • Java Toolkit (C Toolkit ile aynıdır. Lisans gerektirir ve tüm programa hükmedebilirsiniz.)
  • J-link (Ücretsizdir. Ancak kullanım alanı kısıtlıdır, programın tüm fonksiyonlarını kullanamazsınız örneğin parça çizemezsiniz ancak montajlayabilirsiniz.)
  • Visual basic API (Ücretsizdir. Visual Studio ve Excel gibi Ofice programlarına entegre edilebilir ancak kullanım alanı kısıtlıdır.)

Şimdi gelelim j-link bağlatısını nasıl yapılacağına;

Bu yazıya ek olarak aşağıdaki linklerden de inceleyebilirsiniz.

  1. http://inversionconsulting.blogspot.com.tr/ Jlink
  2. http://forkedbranch.eu/ J-Link API

Registry Dosyasının oluşturulması;

Bu kısım gerçekten önemlidir eğer yanlış oluşturulursa program yanlış yerlerden okumalar yapar ve bu durumda java kodunun çalışmasını engellenir. Bu dosyanın ismi “protk.dat” şeklinde ve içeriğinin aşağıda belirttiğim gibi olmak zorunda;

name                            jlinkhelloworldapp
startup                          java
java_app_class            jlinkhelloworld
java_app_start             startApp
java_app_stop             stopApp
allow_stop                    true
delay_start                   false
text_dir                         C:/apps/JLinkHelloWorld/text
java_app_classpath     C:/apps/JLinkHelloWorld
end

Şimdi bu alanları yavaş yavaş açıklayalım;

name: uygulamaya verdiğiniz isimdir. Eğer Creo’nun içinden bu uygulamayı başlatmak isterseniz bu ismi göreceksiniz. Yazdığınız programa ulaşmak için üst menüden TOOLS→Auxilary Applications →Registry dosyasında belirttiğiniz program ismi→Start tuşu ile yazdığınız program başlatılır.

1

startup: Hangi programlama dili ile uygulamayı çalıştıracaksınız. Jlink kullanacaksanız startup kısmına “java”, eğer Java toolkit kullanacaksanız “otk_java” yazılmalıdır. gene belirtmekte fayda görüyorum ki, Java toolkit kullanabilmeniz için developer ve user lisansına ihtiyacınız var.

java_app_class: Java kodunu içeren dosyanın ismidir. Tabiki aynı zamanda sınıfın ismi oluyor.

java_app_start: Program Creo tarafından başlatıldığında hangi metot ilk olarak okutulacağını gösteren yerdir.

java_app_stop: Program kapatıldığında çalıştırılacak kodların metodunun ismini gösteren yerdir.

allow_stop: Programın durdurulup durdurulmamasını sağlayan ayardır.

delay_start: Yazdığınız programın Creo açılırken başlayıp başlamayacağını belirlersiniz.

text_dir: Text dosyasının bulunduğu text klasörünün yolunu gösterir.

java_app_classpath: Programın konumunu gösterir. Eğer java kodunu derleyip class dosyası olarak kullanacaksanız sadece klasör olarak belirtmeniz yeterlidir. Ancak java toolkit olarak programınızı yazacaksanız class dosyanızı jar dosyasına çevirmeniz gerekmektedir. java_app_classpath  değişkeninide jar dosyasının tüm yolunu gösterecek şeklinde belirlemeniz gerekecektir.

Benim bilgisayarımdaki hali hazırda çalışan versiyonunu aşağıdaki linkten indirebilirsiniz.

indir

Bu rar dosyasını C sürücüsünün altına yapıştırın. bu lokasyona yapıştırmanız önemlidir başka yerde çalışmayacaktır.

2

Bu arada java sürümünüz sadece runtime(JRE) değil  aynı zamanda developer(JDK) versiyonunda yüklü olması gerekiyor. Eğer yoksa buradan indirebilirsiniz.

Yukarıdaki resimdeki gibi dosyalarınız gözüküyorsa ilk aşamayı tamamladınız demektir 🙂 protk.dat dosyasının iç elemanlarının ne olduğunu yukarıda bahsettik şimdi ek olarak config.dat dosyasına JAVA JDK sının nerede olduğunu belirtmemiz gerekiyor. Maalesef yükleme esnasında Creo tarafından otomatik belirlenmiyor, sizin config dosyasının içerisine belirtmeniz gerekiyor.

jlink_java_command          C:\Program Files\Java\jdk1.8.0_92\bin\java.exe -Xdebug

Dosyanın içerisini incelerseniz JDK klasörünün içerisindeki java.exe dosyasının yolunu göstereceksiniz.

Gelelim başka bir kritik meseleye; -Text klasörünü içeriği-

Klösürün içerisine girdiğinizde “usascii” isimli başka bir klasör göreceksiniz bu bilgisayarın diline göre bu isim değişiyor ve standarttır. bu tip standart bilgileri Jlink ilgili PTC tarafından hazırlanmış PDF dosyasını içinde bulabileceksiniz.

C:\Program Files\PTC\Creo 3.0\F000\Common Files\jlink\jlinkug.pdf

usascii klasörün içinde bulunan “msg_jlinkhelloworld.txt” dosyasının içeriği aşağıdaki gibidir. Burada yazdığınız uygulamaya creo’da ribbon olarak atayabiliyorsunuz. Bu txt, ribbon üzerinde kullanacağınız değişkenler ile ilgili bilgiler tutuyor. Yazının devamı olan Part-2 de daha güzel anlaşılacağını düşünüyorum.

JLHW Btn1 Label
Goekhan SCHAMAN JLink Hello World
#
#
JLHW Btn1 Help
Run the JLink Hello World Application
#
#
JLHW %s
%0s
#
#
JLHW Btn1 icon
C:\apps\JLinkHelloWorld\text\usascii\resource\calculator_large.png
#
#

en kısa zamanda yazının ikinci bölümünü paylaşacağım,

İyi çalışmalar, G. ŞAMAN

 

http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/google_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/myspace_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/facebook_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/yahoobuzz_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/twitter_48.png

Notepad++ ile java kodu derleme

Merhabalar,

Bu aralar PTC Creo yazılımına entegre olarak çalışabilecek bir yazılım geliştirmeye çalışıyorum ve normal şartlarda uygulama geliştirmek için ecilipse kullanıyorum ancak notepad++’ın  Creo için daha uygun olduğunu düşünüyorum.

Bu yazımda yazdığınız java kodunu nasıl derleyeceğinizi yazacağım;

capture

indirme linki

Yukarıdaki indirme linkinden programı indirip kuruyoruz. Kurma işlemini yapabileceğinizi düşünüyorum. Çünkü extra olarak herhangi bir şey sormuyor.

Programı açtıktan sonra Plugins menüsünden Plugin manager ve oradan da Show Plugin Manager kısmına tıklıyoruz.untitled

Aşağıdaki resimde gördüğünüz gibi “NppExec” isimli programı bulup aşağısında bulunan install butonuna basıp plugin’ni yüklüyoruz.

untitled

Bu plugin’nin ne işe yaradığını sorarsanız, aslında çok basit! bildiğiniz MS-DOS yorumlayıcısı…

Java derleme komutunu yazdığınızda java kodunu derlemesini sağlıyor. program açıkken “F6” tuşuna bastığınızda aşağıda resimde görüldüğü gibi bir arayüz çıkıyor. buraya ilgili kodları yazıp “OK” butonuna bastığınızda ilgili MS-DOS komutlarını çalıştırıyor.

capture

Bir sonraki yazım PTC Creo JAVA  toolkit entegrasyonun öncesindeki bedava sürümü olan J-link entegrasyonu anlatılacak bir makale olacak. Anlatılacak çok konu olacağından biraz zaman alabilir. Şimdiden uyarmakta fayda var. konu içerisinde notepad++ kullanılacağından dolayı bu makalenin öğrenilmesi önem arz etmektedir.

G. ŞAMAN

http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/google_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/myspace_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/facebook_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/yahoobuzz_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/twitter_48.png