最近在公司項目中,碰到了需要在web端展示JT格式文件的3D圖形,找了好多資料,最后實現了。
主要是將*.jt文件轉換成*.html文件,然后將html文件用iframe嵌入到網頁中展示。
效果為:
那么如何將*.jt文件轉換成*.html文件呢?
那就需要先安裝西門子的一個免費的軟件:JT2GO 提取碼:c7kh。
裝完之后,JT2GO軟件本身有將JT文件轉成html的功能。這個需要手動進行操作,如:
在我們自己的系統中,如果需要轉換的jt文件比較多,那么如果全部都手動生成,會特別麻煩,所以我們可以利用代碼來自動執行轉換程序。
主要是利用JT2GO安裝目錄下的 JTToHTML.exe 這個執行程序來轉換。
JT2GO默認安裝在 C:\Program Files\Siemens 目錄下;JTToHTML.exe 執行程序在 C:\Program Files\Siemens\JT2Go\Program 目錄下,我們通過代碼來調用這個程序,執行文件的轉換,轉換代碼如下:
private void button3_Click(object sender, EventArgs e) { try { string fileName = "JTToHTML.exe";//轉換程序名稱 string workdirectory = @"C:\Program Files\Siemens\JT2Go\Program\";//轉換程序所在的文件目錄 string args = @"html D:\TCMFile\JTFile\butterflyvalve.jt D:\TCMFile\JTFile\butterflyvalve.html";//調用轉換程序需要的三個參數:第一個:html 固定,不要改;第二個:jt文件在磁盤的路徑;第三個:轉換成的html文件的保存路徑 bool flag = StartProcess(fileName,workdirectory,args,ProcessWindowStyle.Normal);//調用轉換程序 if (flag) MessageBox.Show("執行成功"); else { MessageBox.Show("執行失敗!"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } /// <summary> /// 啟動其他的應用程序 /// </summary> /// <param name="file">應用程序名稱</param> /// <param name="workdirectory">應用程序工作目錄</param> /// <param name="args">命令行參數</param> /// <param name="style">窗口風格</param> public static bool StartProcess(string file, string workdirectory, string args, ProcessWindowStyle style) { try { Process myprocess = new Process(); ProcessStartInfo startInfo = new ProcessStartInfo(workdirectory + file, args); startInfo.WindowStyle = style; startInfo.WorkingDirectory = workdirectory; myprocess.StartInfo = startInfo; myprocess.StartInfo.UseShellExecute = false; myprocess.Start(); return true; } catch (Exception e0) { MessageBox.Show("啟動應用程序時出錯!原因:" + e0.Message); } return false; }
如此就可以通過代碼自動轉換JT文件了。