【问题标题】:Launching Catia from a web page and displaying who has a license从网页启动 Catia 并显示谁拥有许可证
【发布时间】:2014-12-08 17:06:09
【问题描述】:

只是想知道是否可以从网页启动 Catia。我还希望网页能够显示当前拥有许可证的人员列表。该网页最终将部署在公司内网上。我们目前在我们的办公室有 19 个 Catia 许可证。我们的大多数用户都在使用 R19

非常感谢任何帮助。

【问题讨论】:

  • 浏览器安全性(谢天谢地)不允许网页启动程序。如果您可以将 Web 内容托管在网络存储上而不是通过 http,那么您可以使用 .HTA 文件来做一些事情。或者可以编写一个浏览器插件来处理启动应用程序。 FireBreath 可能会让你感兴趣,尽管这个项目的未来 is questionable;或者Silverlight(我不知道)。
  • 是的,网页将被部署在公司网络上。不在互联网上。
  • 我很想看看你能不能解决这个问题。许可证管理器界面有点笨拙,无法查看谁在使用哪些许可证。您是否也使用浮动/可共享许可证?
  • 是的,我终于开发了上面的项目。如原始规范所示,它是基于网络的。此外,它还跟踪 Catia 的使用时间。我使用的核心技术是 HTML5、XML、CSS3 和 PHP。为了超越浏览器证券,我在 Visual Studio 中开发了一个点击一次应用程序。单击应用程序会启动一个批处理文件,该批处理文件又会启动 Catia 和我们的 PLM。我们称这个项目为 S.L.A.M。 S.L.A.M.还允许用户选择我们在办公室使用的 6 个版本的 Catia 中的任何一个。 S.L.A.M.被大约 40 名工程师使用。

标签: html css batch-file catia


【解决方案1】:

您可以从此处提到的 hta 应用程序启动 CATIA。有了这个,您可以处理许可证的特定 CATSettings(也适用于不同的 CATIA 环境),但您必须说服您的用户使用 hta。您还可以在 Internet 上找到一些已经完成的 CATIA 启动器。

通过这种方式,您可以避免让用户获得一个单独的许可证,该许可证也可以包含在另一个许可证中(例如,一个单独的 MD2 和一个 HD2 - 在其他一些许可证附近包含一个 MD2)。

使用许可证的人员列表以及他们拥有的许可证可以从 LUM 软件中获取,但您需要阅读该软件的文档(这并不能解决用户多次获取许可证的问题)。

【讨论】:

    【解决方案2】:

    我不推荐使用 hta 来启动 Catia。您可以使用表单或 wpf 在 C# 中编写一个非常简单的启动器。在许可证方面,您也是一个人。有一些产品需要花钱。如果您使用的是 LUM,则可以编写一个脚本来查询服务器并输出许可证信息,然后编写一个显示该数据的网页。

    我都写过,可以给你更具体的策略。

    【讨论】:

      【解决方案3】:

      如果您从 Intranet 运行此程序(并且您说您是),您可以使用 IE 中的 VBscript。我知道它不是最好的浏览器,但因为在我的公司它是官方浏览器,所以我为我的同事提供了一些工具来执行类似的操作。我最好的解决方案(我发现的最差的)是运行一个名为 Catia 的批处理文件

      要从 VBscript 运行批处理文件(仍然可以在 Intranet 上运行): shell.Run "C:\foo\startCatia.bat"

      批处理文件应该包含CNEXT,这应该会打开 Catia

      但是您可能会遇到环境变量和许可证方面的问题。我无法避免这种情况,直到我找到了一种将它们写入批处理文件的方法(当然这必须从 Catia 完成,所以我在其他宏的后台创建,并且在用户之前它无法工作)启动我的一个工具来创建这个批次)。这是在 Catia 中运行以编写此批处理文件的代码:

      Sub catmain()
          Set oFileSys = CATIA.FileSystem
      
          temp = oFileSys.TemporaryDirectory.Path
          envpath = temp + "\env.txt"
          GetPath = temp + "\getenv.bat"
          runpath = CATIA.SystemService.Environ("USERPROFILE") + "\Desktop\StartCatia.bat"
      
          On Error Resume Next
          oFileSys.DeleteFile envpath
          oFileSys.DeleteFile GetPath
          oFileSys.DeleteFile runpath
          On Error GoTo 0
      
          Dim defaults(1111, 2) As String
      
          Set defaultslist = CreateObject("WScript.Shell").Environment
      
          Set GetFile = oFileSys.CreateFile(GetPath, False)
          Set getStream = GetFile.OpenAsTextStream("ForWriting")
          getStream.Write "set > " & envpath
          getStream.Write Chr(10)
          getStream.Close
          CATIA.SystemService.ExecuteProcessus (GetPath)
      
          Set RunFile = oFileSys.CreateFile(runpath, True)
          Set RunStream = RunFile.OpenAsTextStream("ForWriting")
      
          Set envfic = oFileSys.GetFile(envpath)
          Set envStream = envfic.OpenAsTextStream("ForReading")
          line = envStream.ReadLine
          While line <> ""
              l1 = InStr(line, "=")
              envvar = Left(line, l1 - 1)
              dest = Right(line, Len(line) - l1)
              defcontent = defaultslist.item(envvar)
              If defcontent <> dest Then
                  'Set each environment variables
                  RunStream.Write "set " & line & Chr(10)
              End If
              line = envStream.ReadLine
          Wend
          envStream.Close
          'Add a command to launch Catia
          RunStream.Write "CNEXT" & Chr(10)
          RunStream.Close
      
          On Error Resume Next
          oFileSys.DeleteFile envpath
          oFileSys.DeleteFile GetPath
          On Error GoTo 0
          MsgBox "StartCatia.bat created on your desktop", vbInformation, "hjn fast launcher"
      End Sub
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-11
        • 1970-01-01
        • 1970-01-01
        • 2016-10-24
        • 2023-04-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多