Session 对象概述
目录
访问 Pro/ENGINEER 接口
Session 对象概述
Pro/ENGINEER Session 对象(包含在 IpfcSession 对象里),是 VBA API中的顶级对象。任何对Pro/ENGINEER 数据的访问,在访问更多特定对象前,必须先得到Session 对象的句柄。
下列段详细说明操作。参考《控制Pro/ENGINEER》章得到更多关于怎样连接到Pro/ENGINEER会话的信息。
例子:访问Pro/ENGINEER命令行参数
下面的例子说明使用GetPorEArguments 方法区访问Pro/ENGINEER的命令行参数。第一个参数通常是Pro/E 可执行文件的完整路径。对于这个程序,下两个参数可以是("+runtime"或"+development")或("-Unix"或"-NT")。根据这两个参数,2个布尔变量被设置,并被传递到另一个使用这个消息的方法。
目录
IpfcBaseSession.GetCurrentDirectory()方法返回Pro/ENGINEER的当前工作目录的绝对路径名。
IpfcBaseSession.ChangeDirectory()方法改变Pro/ENGINEER到另一个工作目录。
Pro/INTRALINK 工作区
IpfcBaseSession.GetCurrentWS()方法返回连接到Pro/ENGINEER的当前Pro/INTRALINK工作区的名字。
IpfcBaseSession.SetCurrentWS()方法指导Pro/ENGINEER去连接到一个Pro/INTRALINK工作区。
一个Pro/ENGINEER会话只能被连接到一个Pro/INTRALINK工作区。为了连接到第二个Pro/INTRALINK工作区,你必须开始一个新Pro/ENGINEER会话。
配置选项
- IpfcBaseSession.GetConfigOptionValues()
- IpfcBaseSession.SetGonfigOption()
- IpfcBaseSession.LoadConfigFile()
使用IpfcBaseSession.GetConfigOptionValue()区获得一个指定配置文件选项的值。传递配置文件选项的名字给这个方法。方法返回任何配置文件选项设置的一个值数组。如果配置文件选项不是一个多值选项,它返回一个单值。如果指定配置文件选项不存在,它返回一个null。
IpfcBaseSession.SetConfigOption()方法用来设置指定配置文件选项的值。如果选项是个多值选项,它向已经存在的值数组里增加一个新值。
IpfcBaseSession.LoadConfigFile()方法加载一整个配置文件到Pro/ENGINEER里。
宏
IpfcBaseSession.RunMacro()方法跑一个宏串。一个 VB API宏串等于一个Pro/ENGINEER映射键减去键序列和映射键名。为生成一个宏串,在Pro/ENGINEER里创建个映射键。关于创建个映射键的更多信息参考Pro/ENGINEER在线帮助。
从 Tools>Options对话框里复制产生的映射键选项值。一个例子值如下:
$F2 @MAPKEY_LABELtest;
~ Activate `main_dlg_cur` `ProCmdModelNew.file`;
~ Activate `new` `OK`;
键序列是$F2。映射键名是@MAPKEY_LABELtest。剩下的在第一个分号后的字符串是宏串,应当传递给IpfcBaseSession.RunMacro()。
~ Activate `main_dlg_cur` `ProCmdModelNew.file`;
~ Activate `new` `OK`;
手工创建和编辑宏串不支持,因为映射键不是一个支持的脚本语言。语法不是为用户定义,并且不能保证在不同Pro/ENGINEER日期版本中相同。
在同步模式,宏在控制从VB API程序返回到Pro/ENGINEER时才执行。宏被存储为栈模式(后进,先出)。
颜色和线型
- IpfcBaseSession.SetStdColorFromRGB()
- IpfcBaseSession.GetRGBFromStdColor()
- IpfcBaseSession.SetTextColor()
- IpfcBaseSession.SetLineStyle()
使用IpfcBaseSession.SetStdColorFromRGB()方法去定制任何Pro/ENGINEER标准颜色。
为了改变窗口里的任何文本颜色,使用IpfcBaseSession.SetTextColor()方法。
为了改变非实体线(例如,基准)的外观,使用IpfcBaseSession.SetLineStyle()方法。
访问Pro/ENGINEER接口
Session对象有和Pro/ENGINEER接口工作的方法。这些方法提供访问消息窗口。
使用弹出消息窗口写个消息
IpfcSession.UIShowMessageDialog()方法显示UI消息。方法的输入参数如下:
- Message——将在对话框中显示的消息文本;
- Options——一个IpfcMessageDialogOption实例,包含显示的消息的结果选项。如果这个不提供,窗口将显示一个默认消息窗口,里面有个消息表示和一个OK按钮。
访问消息窗口
写消息到消息窗口
IpfcSession.UIDisplayMessage()方法的参数包括:消息文件名,一个消息标识,和(可选)包含10条运行时信息的字符串对象。
例子:写个消息
下例演示怎样写个消息到消息窗口。程序使用消息文件mymessage.txt,它包含如下行:
USER Error: %0s of code %1s at %2s
Error: %0s of code %1s at %2s
#
#
Public Sub printError(ByVal session As pfcls.IpfcSession, ByVal location As String, _ByVal err As String, ByVal errorCode As Integer)
Dim message As Istringseq
Try
message = New Cstringseq
message.Set(0, err)
message.Set(1, errorCode.ToString)
message.Set(2, location)
session.UIDisplayMessage("pfcSessionObjectsExamples.txt",
_"USER Error: %0s of code %1s at %2s",
_message)
Catch ex As Exception
MsgBox(ex.Message.ToString + Chr(13) + ex.StackTrace.ToString)
Exit Sub
End Try
End Sub
从消息窗口读数据
IpfcSession.UIReadIntMessage()和IpfcSession.UIReadRealMessage()方法包含了用来限制值访问的可选参数。
IpfcSession.UIReadStringMessage()方法包含一个可选布尔参数,它指定是否把输入的字符反射到屏幕。当提示一个用户输入个密码的时候,你可能用到这个参数。
显示特征参数
IpfcSession.UIDisplayFeatureParams()方法强制Pro/ENGINEER去显示存储在一个指定特征的尺寸或其它参数。显示的尺寸然后可以被用户交互选择。
文件对话框
- IpfcSession.UIOpenFile()
- CcpfcFileOpenOptions.Create()
- IpfcSession.UISaveFile()
- IpfcSession.UISelectDirectory()
IpfcSession.UIOpenFile()方法引发一个打开文件和浏览目录的Pro/ENGINEER对话框。这个方法允许你通过输入参数IpfcFileOpenOptions去指定几个选项。
使用CcpfcFileOpenOptions.Create()去创建一个新IpfcUI.FileOpenOptions对象实例。
这个方法返回用户选择的文件。程序必须使用其它方法或技术去进行在这个文件上的所需操作。
IpfcSession.UISaveFile()方法调用Pro/ENGINEER的保存文件对话框。这个方法接受同IpcSession.UIOpenFile()相似的选项。用户将被允许去给给一个不存在的文件设置一个名字。方法返回用户选择的文件名;程序必须使用其它方法或技术去进行对这个文件的所需操作。
IpfcSession.UISelectDirectory()方法提示用户去使用Pro/ENGINEER浏览目录对话框去选择一个目录。指定对话框的标题,一系列到其它目录的快捷方式,和浏览目录的默认目录。如果默认目录为空,使用当前目录。这个方法接受对话框标题,快捷键和默认目录选项。方法返回选择的目录路径;程序必须使用其它方法或技术去进行对这个目录的所需操作。