最近在公司项目中,碰到了需要在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文件了。
非特殊说明,本文版权归 Jason Xu 所有,转载请注明出处.
本文标题: C#中实现web端展示JT文件