1

Just wondering is it possible to launch Catia from a web page. I also wanted the web page to be able to display a list of people who currently have a license. This web page will eventually be deployed on the company intranet. We currently have 19 Catia licenses in our office. Most of our users are using R19

any help much appreciated.

4

3 回答 3

0

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

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

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

于 2014-12-21T21:42:05.770 回答
0

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

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

于 2015-02-23T17:17:57.307 回答
0

如果您从 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
于 2015-06-30T14:46:47.223 回答