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

Set System Environment Variables for J-link

Hello again,

I’m standing front of you about setting system environment variables for jlink today. I have expressed lots of things about setup Jlink connection in the time that before but I have to reformat my operating system and lost everything that I had. 🙁 I have installed PTC Creo and faced some problems about setting variables that creo need. Meanwhile I figure out how to solve this solution again.

We have two variables that we have to set:

PRO_COMM_MSG_EXE =C:\Program Files\PTC\Creo 3.0\M090\Common Files\x86e_win64\obj\pro_comm_msg.exe

PRO_DIRECTORY = C:\Program Files\PTC\Creo 3.0\M090\Parametric

Regards,
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 j-link parametre değişimleri

creo-homepage-banner[1]

Merhabalar,

Bugün çizilen bir modelin içindeki parametreleri değiştirebilmeniz için gerekli kodu sizlerle paylaşacağım.


BaseParameter param=model.GetParam("Sizin parametreniz");
int myvalue=400;  /*Yeni atanan değer*/
ParamValue kk = new pfcModelItem().CreateIntParamValue(myvalue);
param.SetValue(kk);

Yukarıki kodda “Sizin parametreniz” olarak belirtilen alana sizin parçanızda daha önce atadığınız parametre ismini yazmanız gerekiyor. Kodu çalıştırdıktan sonra Creo ekranına gelerek regenerate tuşuna basarak parçanızı güncelleyebilirsiniz.

İyi çalışmalar
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

Creo J-link Debugging with Netbeans

creo-homepage-banner[1]

Merhabalar tekrar,

Tam gaz hızla Creo j-link java programlamayı geliştirmeye devam ediyoruz 🙂 Bugün sizlere  Netbeans ile nasıl senkronize olarak nasıl debug yapıldığını anlatacağım. İlgisini çeken arkadaşların aşağıdaki belirttiğim makaleleri okumalarını tavsiye ederim.

bir gün önce ecilipse de aynı konuyu denemedim ama malesef derlediğim dosyayı bir türlü çalıştıramadım. Bunun sebebinin derleme komutunun javac ile değil javaw ile yapıldığını farkettim. Googleda yaptığım araştırmalara göre javac consol uygulamaları için gerekli derleyici, javaw ise GUI arayüzü olan programların derlenmesi için kullanılıyor. Anlıyacağınız ecilipse de bu işi beceremedim. 🙂 ancak Netbeans ile daha rahat debug yapılabileceğini PTC’nin kendi sitesinde gördüm. Yazılanları uyguladım ve uygulama güzel bir şekilde çalışıyor. Şimdi konuya gelirsek;

Netbeans’i bilgisayarınıza yüklüyorsunuz artık orasını anlatmayacağım. File → New Project’e tıklayarak Java Class Library seçili tutularak projeye isim veriyorsunuz1

Finish Tuşuna bastıktan sonra jlinkhelloworld.java dosyasının içeriğini buraya yapıştırıyorsunuz. ve aşağıdaki ekranda göründüğü gibi pfc ve otk jar kütüphanelerini programa ekliyorsunuz.

2

üst menuden Run→Built up’a basarak projemizi derliyoruz.

3

C:\Users\Frosty\Documents\NetBeansProjects\jlinkhelloworld klasörünün altına protk.dat ve config.pro dosyalarını kopyalıyoruz ve içeriğini aşağıdaki gibi değiştiriyoruz.

Protk.dat

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:/Users/Frosty/Documents/NetBeansProjects/jlinkhelloworld/text
java_app_classpath C:/Users/Frosty/Documents/NetBeansProjects/jlinkhelloworld/build/classes
end

Config.pro

jlink_java_command C:\Program Files\Java\jdk1.8.0_92\bin\java.exe -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

Tüm bu ayarlamaları yaptıktan sonra Netbeans’e geri dönüp Debug → Attach Debugger… tuşuna basıyoruz

5

Aşağıdaki gibi bir ekran karşımıza gelecek;

6

Dinleme portunu 8000 yazarak OK tuşuna basıyoruz ve IDE Creo’yu bağlanıp dinlemeye başlıyor.

7

Creo içinden  programı başlattığınızda karşınıza yukarıdaki resimdeki gibi bir ekran çıkıyor.

Direk Netbeans projesini indirmek isterseniz link’ine aşağıdan ulaşabilirsiniz.

indirme linki

Şimdiden kolay gelsin

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

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

creo-homepage-banner[1]

Creo bilgi ekranında “jlinkhelloworld.java” dosyasında “hello world” yazdıran ilk program kodumuz aşağıdaki gibidir.


// jlinkhelloworld.java
// imports required
import com.ptc.cipjava.*;
import com.ptc.pfc.pfcCommand.*;
import com.ptc.pfc.pfcGlobal.*;
import com.ptc.pfc.pfcModel.*;
import com.ptc.pfc.pfcSession.*;
import com.ptc.wfc.wfcModel.*;
import com.ptc.wfc.wfcGeometry.*;
import com.ptc.wfc.wfcSolid.*;
import com.ptc.wfc.wfcPart.*;
import java.io.*;

public class jlinkhelloworld {

static jlinkhelloworld App = null;
String programName = null;
Session session = null;
FileWriter log = null;
String msgFile = "msg_jlinkhelloworld.txt";
String newline = null;

// constructor
//
public jlinkhelloworld () {
programName = this.getClass().getName();
try {
log = new FileWriter(programName + ".log");
newline = System.getProperty("line.separator");
}
catch (Exception e) {
// couldn't create log file, ignore
}
}

// Display message in Pro/Engineer
//
public void DisplayMessage ( String mesg ) throws Exception {
stringseq seq = stringseq.create();
seq.set(0, mesg);
session.UIDisplayMessage(msgFile, "JLHW %s", seq);
seq.clear();
writeLog(mesg);
}

// Write text to log file
//
public void writeLog ( String mesg ) {
try {
if (log == null) { return; }
log.write(mesg + newline);
log.flush();
}
catch (Exception e) {
// ignore
}
}

// Close log file
//
public void closeLog () {
try {
if (log == null) { return; }
log.close();
}
catch (Exception e) {
// ignore
}
}

// Called by Pro/Engineer when starting the application
//
public static void startApp () {
try {
App = new jlinkhelloworld();
App.startupApplication();
}
catch (Exception e) {
App.writeLog("Problem running startupApplication method" + e.toString());
return;
}
}

// Called by Pro/Engineer when stopping the application
//
public static void stopApp () {
try {
App.shutdownApplication();
}
catch (Exception e) {
App.writeLog("Problem running shutdownApplication method" + e.toString());
return;
}
}

// Perform some steps when shutting down the application
//
public void shutdownApplication () throws Exception {
writeLog("Application '" + programName + "' stopped");
closeLog();
}

// Perform some steps when starting the application
//
public void startupApplication () throws Exception {

try {
writeLog("Application '" + programName + "' started.");
session = pfcGlobal.GetProESession();
}
catch (jxthrowable x) {
writeLog("ERROR: Problem getting session object.");
return;
}

UICommand btn1_cmd = null;

try {
// Define a UI command
String iconFile = session.GetMessageContents(
msgFile, "JLHW Btn1 icon", null);
btn1_cmd = session.UICreateCommand(
"JLHW Btn1 Cmd", new JLHW_Btn1_CmdListener()
);
btn1_cmd.SetIcon(iconFile);
btn1_cmd.Designate(msgFile,"JLHW Btn1 Label",null,null);
}
catch (jxthrowable x) {
writeLog("ERROR: Problem creating uicmd.");
return;
}
/* Tools menusunu aktive ediyor.
try {
// Add UI command to 'Tools' menu
session.UIAddButton(
btn1_cmd, "Utilities", null,
"JLHW Btn1 Label", "JLHW Btn1 Help",
"msg_jlinkhelloworld.txt"
);
}
catch (jxthrowable x) {
writeLog("ERROR: Problem creating menu: " + x.toString());
return;
}
*/
DisplayMessage(programName + " application started.");

}

// Callback for the 'Tools' menu button
//
public void Btn1_callback ( ) throws Exception {

String mesg = null;
Model model = session.GetCurrentModel();

if (model == null) {
mesg = "Hello! Goekhan SCHAMAN";
}
else {
mesg = "Hello! The model is: " + model.GetFileName();
}

DisplayMessage(mesg);

}

// Inner class for UI Command Listener
//
public class JLHW_Btn1_CmdListener extends DefaultUICommandActionListener {

// Handler for button push
//
public void OnCommand () {
try {
Btn1_callback();
}
catch (Exception e) {
writeLog("Exception thrown by Btn1_callback method: " + e.toString());
}
}

}
}

İlk kodlamada constructor yaratıyoruz. Kodu incelerseniz göreceksinizki log kaydı tutan bir txt file yaratıyor. Önemli bir detay değildir.



public jlinkhelloworld () {
programName = this.getClass().getName();
try {
log = new FileWriter(programName + ".log");
newline = System.getProperty("line.separator");
}
catch (Exception e) {
// couldn't create log file, ignore
}
}


“protk.dat” dosyasında hatırlarsanız. Start metodunu belirtmemiz gerekiyordu “java_app_start”. İşte bu metodun ismini “protk.dat dosyasının içine yazmamız gerekiyor. Böylece Creo kendisi ile ilgili kodun nerede başladığını biliyor. Kodu incelerseniz göreceksiniz ki, consructor metodundan yeni bir nesne yaratılıp yeni bir metoda yönlendiriliyor.



// Called by Pro/Engineer when starting the application
//
public static void startApp () {
try {
App = new jlinkhelloworld();
App.startupApplication();
}
catch (Exception e) {
App.writeLog("Problem running startupApplication method" + e.toString());
return;
}
}


Bu kısmı incelerseniz göreceksinizki mevcut Creo da açılan session’un ve butonun yaratılması sağlanıyor.



public void startupApplication () throws Exception {

try {
writeLog("Application '" + programName + "' started.");
session = pfcGlobal.GetProESession();
}
catch (jxthrowable x) {
writeLog("ERROR: Problem getting session object.");
return;
}

UICommand btn1_cmd = null;

try {
// Define a UI command
String iconFile = session.GetMessageContents(
msgFile, "JLHW Btn1 icon", null);
btn1_cmd = session.UICreateCommand(
"JLHW Btn1 Cmd", new JLHW_Btn1_CmdListener()
);
btn1_cmd.SetIcon(iconFile);
btn1_cmd.Designate(msgFile,"JLHW Btn1 Label",null,null);
}
catch (jxthrowable x) {
writeLog("ERROR: Problem creating uicmd.");
return;
}
/* Tools menusunu aktive ediyor.
try {
// Add UI command to 'Tools' menu
session.UIAddButton(
btn1_cmd, "Utilities", null,
"JLHW Btn1 Label", "JLHW Btn1 Help",
"msg_jlinkhelloworld.txt"
);
}
catch (jxthrowable x) {
writeLog("ERROR: Problem creating menu: " + x.toString());
return;
}
*/
DisplayMessage(programName + " application started.");

}


Butona basıldığında  çalışacak asıl kısım burası aslında diğer tüm yerleri şablon olarak kullanıp yazacağınız programda sadece buraya eklemeler yaparak yeni programlar geliştirebilirsiniz.



public void Btn1_callback ( ) throws Exception {

String mesg = null;
Model model = session.GetCurrentModel();

if (model == null) {
mesg = "Hello! Goekhan SCHAMAN";
}
else {
mesg = "Hello! The model is: " + model.GetFileName();
}

DisplayMessage(mesg);

}


“protk.dat” isimli dosyanın içeriği aşağıdaki gibidir.



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


notepad++ programı yardımıyla java kodunu hem çalıştırmak hemde derlemek için F6 tuşuna basın (tabiki bununla ilgili notepad++ programının kurulması ve çalıştırılması ile ilgili yazıma buradan ulaşabilirsiniz) ve çıkan ekrana aşağıdaki MS-DOS komutlarını yapıştırın.

capture

eğer bir önceki registry file oluşturulması ile ilgili yazımda bahsedilen, dosyaları c:\apps klasörüne kopyalayıp ve dosyaların  isimlerini değiştirmediyseniz bu ekranda herhangi bir şey değiştirmenize gerek yoktur. Aşağıda yolunu kontrol etminiz gerekenleri yazacağım, eğer belirttiğim yollar sizin bilgisayarınızınkinden farklı ise lütfen düzeltin. Java versiyonu farklı olabileceğinden javanın yüklediği yeri kesinlikle kontrol edin ve yolları 8 harf kuralına göre yazmanız gerekecektir.

Kontrol etmeniz gerekenler;

  • javanın Program files’daki yeri
  • Creo’nun Common Files klasörün yeri


CD\
set CLASSPATH=C:\Progra~1\PTC\Creo 3.0\F000\Common~1\text\java\otk.jar
set CREO_HOME=C:\Progra~1\PTC\Creo 3.0\F000\Common~1
cd $(CREO_HOME)\text\java\
set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_92
$(JAVA_HOME)\bin\javac -cp otk.jar;pfcasync.jar c:\apps\JLinkHelloWorld\jlinkhelloworld.java
cd c:\apps\JLinkHelloWorld\
$(JAVA_HOME)\bin\jar cvf0 jlinkhelloworld.jar jlinkhelloworld.class
$(CREO_HOME)\..\Parametric\bin\parametric.bat


En sondaki MS-DOS komutu Creo’nun Parametric versiyonunu çalıştıracaktır. ve yazdığınız config.pro ve protk.dat dosyalarını okuyarak ek yazılımı otomatik olarak başlatacaktır.

3

yazdığınız yazılımın simgesi ve verdiğiniz isim Creo’nun üst menüsünde görünecektir. simgeyi tıkladığınızda ise4

istediğiniz bilgi, bilgi ekranında gözükecektir. Anlaşılmamış yerler olabilir, bana ulaşırsanız tekrar bilgi vermeye çalışırım.

İyi çalışmalar

Gökhan Ş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

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

Creo yazılım VB API (Application Programming Interface)’lerin Windows’a tanıtılması

creo-homepage-banner[1]

Yazılımlarla 3 boyutlu çizim programlarınızı daha da güçlendirmek istiyorsanız, bununla ilgili üreticinin üretmiş olduğu API’leri kurulum esnasında seçmeniz gerekiyor. Bugünkü yazımda eski adıyla Pro-Engineer olarak bilinen şimdiki yenilene arayüzü ile Creo da bu işlemlerin nasıl olduğunu sizlere aktaracağım.

Okumaya devam et

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