当前位置: 首页 > news >正文

Eplan API Scripts

一、EPLAN .NET API

  • EPLAN API 是基于微软® 的 .NET 4.8.1 技术开发的。 若要使用 EPLAN API 开发应用程序,我们推荐使用 Microsoft Visual Studio 2022 或 2019。不过,它也适用于其他用于 Microsoft.NET 的开发环境。 框架版本为 4.8.1。然而,EPLAN API 未在上述提及的集成开发环境之外的其他环境中进行过测试。
  • 要在 Microsoft Visual Studio 2022 中启动一个新的 EPLAN API 项目,请在功能区中选择“文件”>“新建”>“项目…”。在“创建项目”对话框中,首先选择您想要使用的编程语言(C#、Visual Basic 或 C++)。
  • 接下来的步骤是确定您想要编写何种类型的应用程序: 对于插件而言,您要么选择“类库”项目,要么使用 EPLAN 提供的插件向导。使用插件向导的步骤可在“在 Visual Studio 中创建插件”这一主题中找到。如果您不想使用该向导来创建插件,只需添加 API 程序集的引用即可。至少您必须引用 Eplan.EplApi.AF.dll 和 Eplan.EplApi.Base.dll。有关创建插件的更多信息,请参阅以下“插件”主题。
  • 在您的项目设置中(例如在 Visual Studio 中),在“配置属性>调试”下添加 w3u.exe 作为启动程序(或者带有变体参数的 eplan.exe),并确保在构建完成后将生成的 DLL 复制到 EPLAN 平台的 bin 文件夹中。 对于一个离线程序而言,例如,创建一个新的 Windows 应用程序项目,并按照“在其他流程中使用 EPLAN API 组件”这一主题中的说明进行操作。请确保已设置指向 EPLAN 平台 bin 目录的路径,或者将代码项目的运行目录设置为相应位置,否则可能无法找到相应的 DLL 文件。 备注 使用较旧的 EPLAN API 时,需要为该框架的这一版本提供一个合适的运行环境。 例如,EPLAN API 的 2.8 版本是为微软的 .NET Framework 4.5.2 版本而开发的。 请务必确保不要将使用不同框架的 EPLAN API 组件混淆在一起。

二、一个简单脚本的结构

  • 一个脚本至少包含一个公共类以及该类中至少一个公共函数。此必需的函数需要使用特定的属性进行标记[Start]。 以下示例展示了一个非常简单的脚本。
public class VerySimpleScript
{[Start]public void MyFunction(){new Decider().Decide(EnumDecisionType.eOkDecision, "MyFunction was called!", "VerySimpleScript", EnumDecisionReturn.eOK, EnumDecisionReturn.eOK);return;}
}
  • 在这个示例中,创建了一个名为“VerySimpleScript”的类,并在其内部定义了一个名为“MyFunction”的函数。该函数被赋予了 [Start] 这一属性。当使用功能区中的“文件”>“附加项”>“界面”>“脚本”>“运行”选项来运行此脚本时,函数“MyFunction”将被执行,并会弹出一个消息框:
    在这里插入图片描述
  • 一个脚本中可以包含多个函数。甚至在一个脚本中还可以有多个类。然而,带有[Start]属性标记的函数却只能存在一个!

三、带有参数的简单脚本

  • 该脚本功能也支持参数。然而,只有在启动脚本时能够传递参数的情况下,这种功能才有意义。这可以通过通过命令行调用 EPLAN 来实现:

    W3u.exe ExecuteScript /ScriptFile:“C:\Program Files\EPLAN\EPLAN\Basic\Scripts\EPLAN\SimpleScriptWithParameters.cs” /Param1:“Hello” /Param2:“EPLAN” /Param3:“API developer!”

  • 通过命令行启动 EPLAN 时,若要运行脚本,第一个参数应为要执行的操作名称。执行脚本的操作称为“ExecuteScript”。此操作接受“/ScriptFile”参数,用于指定要运行的脚本文件名。任何其他参数(、、 等)都是可选的,并将传递给脚本的启动函数(即标记有[Start]属性的函数)。您可以随意命名这些其他参数。在以下示例中,它们简单地称为“Param1”、“Param2”和“Param3”,但您也可以根据实际需求为参数赋予有意义的名称,例如“Textmodule1”、“projectName”等等。

  • 在以下示例中,脚本(即脚本函数)需要 3 个字符串参数“Param1”、“Param2”和“Param3”:

public class SimpleScriptWithParameters{[Start]public bool FunctionWithParameters(String Param1, String Param2, String Param3){new Decider().Decide(EnumDecisionType.eOkDecision,  Param1 + Param2 + Param3 , "SimpleScriptWithParams", EnumDecisionReturn.eOK, EnumDecisionReturn.eOK);return true;}}
  • 重要的是,命令行中的标识符(在此示例中为“Param1”、“Param2”、“Param3”)必须与函数中的标识符完全匹配!可以使用将 ActionCallingContext 作为参数的脚本。要实现这一点,请参阅以下示例:
public class ScriptWithActionCallingContext
{[Start]public void FunctionWithActionCallingContext(ActionCallingContext oActionCallingContext){string strFirstParam = "";string strSecondParam = "";oActionCallingContext.GetParameter("strFirstParam", ref strFirstParam);oActionCallingContext.GetParameter("strSecondParam", ref strSecondParam);string strNewParam 
http://www.lryc.cn/news/586002.html

相关文章:

  • Transforms
  • Spring Boot 整合 OAuth2 详细教程(适用于 2025 年 Spring Boot 3.x)
  • 力扣-19. 删除链表的倒数第N个节点
  • 什么是 Bootloader?怎么把它移植到 STM32 上?
  • 【6.1.3 漫画分布式锁】
  • 线程属性设置全攻略
  • 14. 请谈一下浏览器的强缓存和协商缓存
  • 9.2 埃尔米特矩阵和酉矩阵
  • Pandas 模块之数据的读取
  • arcgis投影后数据显示问题记录
  • 非程序员如何用 AI 提升日常工作效率:以产品经理为例的落地实践指南
  • error while loading shared libraries
  • 小架构step系列12:单元测试
  • [爬虫实战] 多进程/多线程/协程-异步爬取豆瓣Top250
  • Pytest 跳过测试技巧:灵活控制哪些测试该跑、哪些该跳过
  • linux系统mysql性能优化
  • H2在springboot的单元测试中的应用
  • 多 Agent 强化学习实践指南(一):CTDE PPO 在合作捕食者-猎物游戏中的应用详解
  • 引入了模块但没有使用”,会不会被打包进去
  • 【C++小白逆袭】内存管理从崩溃到精通的秘籍
  • c++反射实现
  • 张量数值计算
  • 跨系统开发代码换行符如何解决
  • 每日一SQL 【销售分析 III】
  • 试用了10款翻译软件后,我只推荐这一款!完全免费还超好用
  • 大模型KV缓存量化误差补偿机制:提升推理效率的关键技术
  • Qt6中出现 OpenCV(4.10.0) Error: Assertion failed
  • 第10讲——一元函数积分学的几何应用
  • 创建 UIKit 项目教程
  • 在 Java 中,计算两个 Integer 类型表示的合格数量与总数量的合格率,并保留四位小数,推荐使用 BigDecimal 来确保精度