iCAx开思网

标题: CAA 如何将CATIA的脚本文件.catvbs再CATIA中运行 [打印本页]

作者: HNBoTree    时间: 2005-10-18 16:46
标题: CAA 如何将CATIA的脚本文件.catvbs再CATIA中运行
在解决Sag的问题中,我发现用脚本文件能够修改Options上的值,在打开CATIA后直接运行Performances.catvbs脚本文件,可以达到我要的效果,但是,我如何能够在CAA中编辑脚本文件呢?
作者: saeba    时间: 2005-10-18 16:56
CATScriptUtilities *pScriptUtil = new CATScriptUtilities();

        if (pScriptUtil){
                cout << "OK! CATScriptUtilities is here! " << endl;

                CATUnicodeString        strLib("E:\\MyPathToMacros");
                CATUnicodeString        strPrg("Macro1.catvbs");
                CATVariant                        var;       
                pScriptUtil->ExecuteScript(strLib,
                                                                catScriptLibraryTypeDirectory,
                                                                strPrg,
                                                                var                                                        );
作者: HNBoTree    时间: 2005-10-19 13:45
这种方法只能运行一次啊,第二次就不能运行了,是不是这样子的?
作者: saeba    时间: 2005-10-19 14:26
Please refer the document of CATScriptUtilities.

There is a Loooooong sample teaching you how to use this API.
作者: HNBoTree    时间: 2005-10-19 15:34
你好seaba兄,
我用new CATScriptUtilities(); 后CATIA不执行 ExecuteScript 函数,
而用CATScriptUtilities::ExecuteScript 确可以执行
但是只能用一次啊!
应该怎么做?
我的Script中只有这么几条语句
Language="VBSCRIPT"

Sub CATMain()

Set settingControllers1 = CATIA.SettingControllers

Set visualizationSettingAtt1 = settingControllers1.Item("CATVizVisualizationSettingCtrl")

visualizationSettingAtt1.Viz3DFixedAccuracy = 0.15

End Sub
但是我要在不同的地方都用到此catvbs文件
作者: joetwo    时间: 2006-1-18 15:27
CATScriptUtilities* pScri=new CATScriptUtilities(); //
        HRESULT rc = pScri->ExecuteScript("E:\\CATIA\\ABX.CATProduct", catScriptLibraryTypeDocument, "Macro1.catvbs",CATVariant oResult, "CATMain", NULL, 0, TRUE);

        //        pScri->Release();
        pScri=NULL;
        if (FAILED(rc))
                ZGLNotify("CATScriptUtilities error");//不成功提示
        else
                ZGLNotify("CATScriptUtilities ");//运行成功提示


我这样操作为什么老是不执行?请指教!
作者: HNBoTree    时间: 2006-1-18 16:16
直接用,
CATScriptUtilities::ExecuteScript(("E:\\CATIA\\ABX.CATProduct", catScriptLibraryTypeDocument, "Macro1.catvbs",CATVariant oResult, "CATMain", NULL, 0, TRUE
作者: joetwo    时间: 2006-1-19 10:06
谢谢,我试试
作者: lishufeng    时间: 2006-1-20 15:51
CATScriptUtilities::ExecuteScript(("E:\\CATIA\\ABX.CATProduct", catScriptLibraryTypeDocument, "Macro1.catvbs",CATVariant oResult, "CATMain", NULL, 0, TRUE




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3