[电工&电子] EPLAN API 开发系列教程1 SelectionSet 类

[复制链接]
查看93788 | 回复0 | 2024-5-29 08:36:31 | 显示全部楼层 |阅读模式
Eplan.EplApi.HEServices 命名空间提供了访问 EPLAN 中所有高级功能的接口,这些功能并不直接与数据模型相连接。

在这个命名空间中,包含了一些用于备份项目和主数据、创建报表以及打印等功能的类。该命名空间涵盖了 EPLAN 的许多模块,如标签模块和零部件管理。

以下是该命名空间的一些关键功能:

    备份:Backup



      提供了用于备份项目和主数据的类。这个功能允许用户创建整个项目或特定主数据的备份,确保数据的安全性和可恢复性。


    报表:Reports



      包含用于创建报告的类。这个功能使得可以生成各种报表。


    打印:Print



      包含与打印相关的类。这包括在 EPLAN 中以编程方式控制打印过程的功能,提供自动化和定制选项。


    标签:Label



      标签模块在该命名空间中表示,提供与 EPLAN 中的标签相关的功能。这可能包括在电气设计中生成、管理和定制标签的功能。


    零部件管理:PartsService



      零部件管理模块,提供与管理电气零部件相关的服务。这可能包括组织、搜索和处理项目中的组件的功能。


    插入:Insert



      Insert 类用于插入不同类型的外部数据,主要用于放置窗口宏或插入窗口宏

      的功能。


    获取对象:SelectionSet



      它提供了从当前 EPLAN 对话框中获取所选对象的功能。

      https://www.eplan.help/en-us/Infoportal/Content/api/2023/Eplan.EplApi.HEServicesu~Eplan.EplApi.HEServices.SelectionSet.html



本文我们重点讲解一下SelectionSet 这个类,在后面我们获取选择对象,获取项目或者页的时候,都需要用大这个类以及它下面的一些属性和方法。

先看下代码实例



这段代码是用C#语言编写的,用了EPLAN API中的 SelectionSet 。代码的逻辑是检查是否存在当前的选集,如果有,则迭代选中的对象并打印每个对象的信息。

以下是代码的中文解释:

    创建选集对象:


SelectionSet selectionSet = new SelectionSet();

new一个 SelectionSet 类的实例

    获取选中的对象:


StorableObject[] storableObjects = selectionSet.Selection;

Selection 属性,用于获取当前活动窗口上的完整选择。该属性返回一个 StorableObject 类型的数组,表示所选对象的集合。

    检查是否有选中对象:
if (storableObjects.Length == 0){    Console.WriteLine("没有当前的选中对象!");}else{    // 遍历选中的对象}
检查是否存在选中的对象。如果没有,则打印一条消息表示没有当前的选中对象。否则,进入迭代选中对象的循环。

    遍历选中的对象:
foreach (StorableObject so in storableObjects){    if (so is Function)        Console.WriteLine("选中的对象是一个函数:" + ((Function)so).Name);    else        Console.WriteLine("选中的对象:" + so.ToString());}
这个循环遍历每个选中的对象。它检查每个对象是否是 Function 类型(EPLAN 中的特定对象类型)。如果是 Function,则打印函数的名称。否则,使用 ToString() 打印对象的一般信息。

常用的方法

GetCurrentProject:


      描述: 该方法确定当前活动的项目。

      用途: 通过调用此方法,您可以获取当前在 EPLAN 中处于活动状态的项目。


Project oProject = selectionSet.GetCurrentProject(false);

GetSelectedPages:


      描述: 该方法获取所选的页面。

      用途: 如果用户在 EPLAN 中选择了页面,您可以使用此方法获取这些选定的页面。返回的结果可能是页面对象的集合。


Page[] oPage = selectionSet.GetSelectedPages();

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则