许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  CATIA Automation对象架构:Application对象详解(三)SystemService

CATIA Automation对象架构:Application对象详解(三)SystemService

阅读数 29
点赞 0
article_banner

Application对象

Application对象的子对象:

6. SystemService: 利用application获得系统服务

下图展示了我们可以利用Application.SystemService获取哪些系统服务
在这里插入图片描述

   **Application.SystemService.Environ:**获取系统环境变量的值,返回文本格式。

   如获取系统变量“Path”的值:

Dim strSysPath As String

strSysPath = CATIA.SystemService.Environ("Path")

MsgBox strSysPath

结果: 这个Path变量的值比较多,所以显示比较复杂
在这里插入图片描述

   理论上,我们可以用这个方法获得所有的系统变量的值:
在这里插入图片描述

   **Application.SystemService.Evaluate:**利用Evaluate方法执行一个 脚本 语句,并返回执行结果

   Func Evaluate( CATBSTR iScriptText, CATScriptLanguage iLanguage,

   CATBSTR iFunctionName, CATSafeArrayVariant iParameters) As CATVariant

   例如:

Dim params()  '定义语句参数数组
Dim codeToEvaluate '定义执行的语句
CodeToEvaluate = "Sub CATMain()" & vbNewLine &  "MsgBox " & chr(34) & "Hello World" & chr(34) &vbNewLine _ 
  & "End Sub"
  'CATVBScriptLanguage 是脚本语言名称CATVBScript
  'CATIA.SystemService.Evaluate (脚本语句,脚本语言名称,函数名称,执行参数数组)
 CATIA.SystemService.Evaluate CodeToEvaluate, CATVBScriptLanguage, "CATMain", params

CodeToEvaluate的脚本内容
在这里插入图片描述

   理论上,除了CATVBScriptLanguage还有以下这几种语言写的脚本函数都是可以执行的
在这里插入图片描述

Application.SystemService.ExecuteBackgroundProcessus:

   执行一个异步程序,在后台执行不必等它结束

   Func ExecuteBackgroundProcessus( CATBSTR iExecutablePath) As long

   输入参数中是执行程序的地址

   例如: 执行C:\Program Files\myApp\myApp.exe这个程序
CATIA.SystemService.ExecuteBackgroundProcess “‘C:\Program Files\myApp\myApp.exe’ myArg”

   理论上也可以简化为下面语句,如果路径已经添加到了系统变量"Path"中.(未证实)

   CATIA.SystemService.ExecuteBackgroundProcess “‘myApp\myApp.exe’ myArg”

   虽然ExecuteBackgroundProcess函数定义是有返回值的,但实际不返回。

Application.SystemService.ExecuteProcessus:

   执行一个异步程序,但是需要等待它结束才能继续下一步

   Func ExecuteProcessus( CATBSTR iExecutablePath) As long

   例如:

   Dim ReturnCode as long

   ReturnCode = CATIA.SystemService.ExecuteProcessus("")

   ExecuteProcessus在执行完毕后返回ReturnCode,可以判断语句是否执行结束。

Application.SystemService.ExecuteScript:

   执行一个脚本文件

   同Evaluate不同的是,ExecuteScript执行的是写好的一个脚本文档,而不是一个带脚本的语句。

   Func ExecuteScript( CATBSTR iLibraryName, CatScriptLibraryType iType,

   CATBSTR iProgramName, CATBSTR iFunctionName,

   CATSafeArrayVariant iParameters) As CATVariant

   iLibraryName '包含脚本的库

   iType '脚本库 类  型,文档/目录/VBA项目在这里插入图片描述

   iProgramName '程序名称

   iFunctionName '函数名称

   iParameters '程序参数

   例如: 执行Part1.CATPart中包含的 宏  脚本Macro1.catvbs,运行主程序CATMain

Dim params()
 CATIA.SystemService.ExecuteScript "Part1.CATPart", catScriptLibraryTypeDocument, "Macro1.catvbs", "CATMain", params

用这种方法,可以运行事先写好的各种CATIA脚本文件

Application.SystemService.Print:

   输出一个标准输出流显示文本 信息

   下列语句执行不成功,因为Print好像不支持Automation对象。

Dim iString
iString = "Hello Word"
CATIA.SystemService.Print (iString)



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空