P8中的所有功能区按钮都链接到一个动作。这意味着当一个功能区按钮被调用时,相应的动作会被执行。为了通过EPLAN API执行一个动作,你需要创建一个Action对象,并使用Execute方法执行该动作。
为了创建一个Action对象,你需要通过其名称来知道该动作。你需要创建一个新的ActionManager对象,并调用FindAction函数,该函数以动作的名称作为参数。
要传递和评估动作参数,你需要使用ActionCallingContext类:
String strAction = "TestAction";
ActionManager oAMnr= new ActionManager();
Action oAction= oAMnr.FindAction(strAction);
if (oAction != null)
{
ActionCallingContext ctx = new ActionCallingContext();
bool bRet=oAction.Execute(ctx);
if (bRet)
{
new Decider().Decide(EnumDecisionType.eOkDecision, "The Action " + strAction + " ended successfully!", "", EnumDecisionReturn.eOK, EnumDecisionReturn.eOK);
}
else
{
new Decider().Decide(EnumDecisionType.eOkDecision, "The Action " + strAction + " ended with errors!", "", EnumDecisionReturn.eOK, EnumDecisionReturn.eOK);
}
}
要找出哪个操作与哪个功能区按钮相关联,你可以评估 onActionStart.String.*
事件。或者,在点击功能区按钮后,按下 [Ctrl] + [VK_OEM_5] 键以显示诊断对话框。[VK_OEM_5] 在德语键盘上对应 [^] 键,在美国101键盘上对应 [] 键。
有关自动操作的列表,请参阅“自动操作”主题。
重要提示:
请注意,操作在执行过程中可能会修改 ActionCallingContext
。例如,有时项目ID会被添加到上下文中并传递给内部操作。重复使用相同的 ActionCallingContext
进行另一个操作调用可能会导致意外结果。因此,在大多数情况下,建议为新的操作调用创建一个新的 ActionCallingContext
。
命令行调用
要使用新命令和参数扩展EPLAN命令行,你需要实现一个操作。该操作可以有自己的参数,并可以调用其他API函数。
以这种方式,操作在启动EPLAN后立即执行,例如:
EPLAN.EXE /Variant:"Electric P8" /NoLoadWorkspace action /Param1:value1 /Param2:value2 /Param3:value3
没有标志(/ 或 -)的参数被解释为要执行的操作名称。所有后续参数都传递给该操作。每个命令行调用仅允许一个操作。
脚本还可以包含和注册一个操作。这意味着它也可以评估操作参数。
在操作名称之前需要传递更通用的命令行参数。
EPLAN评估的通用命令行参数列表:
参数 | 描述 |
---|---|
/Variant | 选择要启动的产品变体。例如 "Electric P8" 或 "Fluid" |
/NoLoadWorkspace | 不加载或恢复工作区。 |
/NoSplash | 系统启动时不显示启动画面。 |
/Language:en_us | 以GUI语言“英语”启动EPLAN。EPLAN设置中预定义的语言不会改变。 |
/Auto | 执行完命令行后,EPLAN自动关闭。 |
/Quiet | 执行命令行时不显示任何对话框。 |
/Frame:0 | /Frame:0 ➔ EPLAN主框架不可见 |
/Frame:1 | /Frame:1 ➔ EPLAN主框架恢复到原始大小和位置 |
/Frame:2 | /Frame:2 ➔ EPLAN主框架以最小化状态启动 |
/Frame:3 | /Frame:3 ➔ EPLAN主框架以最大化状态启动 |
/Setup | 所有设置恢复到安装默认值。 |
<action name> | 将执行该操作,所有后续参数(以 / 或 – 开头)作为参数传递给该操作。 |
这些参数作为字符串参数包装到 ActionCallingContext
中,并可以通过操作提取。请注意,命令行中的参数名称和 ActionCallingContext
中的参数名称必须完全相同: