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

Eplan API Creating projects or pages

一、创建或打开项目

  • 在“Eplan.EplApi.DataModel”命名空间中,最重要的对象是“项目”。要能够对其进行操作,必须在 EPLAN 中打开该项目。在插件中,您通常会与用户通过图形用户界面交互式打开的项目进行工作。可以通过““获取当前选择””主题中描述的“选择集”对象获取当前被用户选中的项目。

  • 然而,您也可能希望通过 API 在 EPLAN 中打开或创建项目——对于离线程序来说,这种情况肯定会出现。对于此类以及其他与项目相关的任务,Eplan.EplApi.DataModel 命名空间提供了 ProjectManager 类。

  • 要创建一个项目,请使用“CreateProject”方法。该方法有两个参数,分别是要创建的新项目链接文件的完整文件名以及项目模板链接文件。项目模板可以是 *.zw9 格式的基本项目,也可以是 *.zw1 格式的项目备份。成功创建项目后,会自动打开该项目,该方法将返回新的“Project”对象。

  • 以下示例展示了如何创建一个项目:

Project oProject = new ProjectManager().CreateProject("$(MD_PROJECTS)\\Example_003.elk", "$(MD_TEMPLATES)\\IEC_bas003.zw9");
  • 要打开一个项目,请使用“OpenProject”方法。该方法只有一个参数,即项目链接文件的完整名称和路径。
Project oProject = new ProjectManager().OpenProject("$(MD_PROJECTS)\\EPLAN_Sample_Project.elk");

备注

  • 在离线程序中,您需要先打开“锁定步骤”,然后再打开或创建 EPLAN 项目或使用任何其他数据模型对象。

二、创建页面

  • 要在项目中创建一个页面,Eplan.EplApi.DataModel.Page 类提供了“创建”方法。您首先需要实例化一个空的 Page 对象,然后调用“创建”方法。该方法有三个参数:首先是要创建该页面的项目,然后是页面的类型,最后是一个包含页面标识属性的 PagePropertyList 对象。

  • 您能够创建的页面类型在“DocumentTypeManager.DocumentType”枚举中有所列出。

  • 以下示例展示了如何创建一个原理图页面:

// Create new schematic page in current project
PagePropertyList oPagePropList = new PagePropertyList();
// Set Plant
oPagePropList[Properties.Page.DESIGNATION_PLANT] = "P1";
// Set Location
oPagePropList[Properties.Page.DESIGNATION_LOCATION] = "L1";
Page oNewPage = new Page();
oNewPage.Create(m_oTestProject, DocumentTypeManager.DocumentType.Circuit, oPagePropList);

备注

  • 请注意,在创建页面时,您无法在上述提到的“属性列表”中设置描述性属性。只能使用此列表来设置页面名称的部分内容。
  • 在创建页面之后,还需通过“Page.Properties”来设置其他属性。
http://www.lryc.cn/news/588053.html

相关文章:

  • .net winfrom 获取上传的Excel文件 单元格的背景色
  • 使⽤Pytorch构建⼀个神经⽹络
  • Solid Edge多项目并行,浮动许可如何高效调度?
  • 在项目中集成开源的表单设计器FcDesigner源码
  • mongodb原理及其实现
  • Context Tuning for In-Context Optimization
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(4):语法+单词+復習+发音
  • Nacos 技术研究文档(基于 Nacos 3)
  • Linux:1_Linux下基本指令
  • C++-linux 6.makefile和cmake
  • 多线程--单例模式and工厂模式
  • FreeRTOS之链表操作相关接口
  • QT——文件操作类 QFile和QTextStream
  • 第一次接触自动化监测,需要付费厂家安装服务吗?比人工测量主要区别是啥?
  • 用Python向PDF添加文本:精确插入文本到PDF文档
  • 2024-2025-2 山东大学《毛概》期末(回忆版)
  • 复习笔记 38
  • linux下的消息队列数据收发
  • “国乙黑月光”指的是谁?
  • 动态规划题解——单词拆分【LeetCode】
  • 【字节跳动】数据挖掘面试题0017:推荐算法:双塔模型,怎么把内容精准地推送给用户
  • 设计模式(行为型)-迭代器模式
  • iOS App 安全加固全流程:静态 + 动态混淆对抗逆向攻击实录
  • Linux进程优先级机制深度解析:从Nice值到实时调度
  • 基于MATLAB的LSTM长短期记忆神经网络的时间序列数据预测方法应用
  • .NET ExpandoObject 技术原理解析
  • C#/.NET/.NET Core技术前沿周刊 | 第 46 期(2025年7.7-7.13)
  • 如何用深度学习实现图像风格迁移
  • 面试150 路径总和
  • 电脑升级Experience