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

Eplan API SQL

项目与数据

  • 与其他主数据一样,所有用于独立开展项目工作的零部件相关信息都存储在项目本身中。始终存在两个零部件数据库(冗余的数据管理):一个用于所有项目的中央零部件数据库,另一个是仅包含放入该项目中的零部件的项目内部零部件数据库。中央零部件数据库(系统零部件)可以是 EPLAN 数据库(*.alk)或 SQL 数据库。以下图片展示了这种情况:
    在这里插入图片描述
  • 在项目中,会从零部件项目数据库中引用零部件信息,即一个零部件(被一个功能、一个连接使用,或者作为项目的一部分由项目自身使用)只会被存储一次,但在项目中(通过零部件编号)会被引用 10 次。因此,零部件数据可以通过中央零部件数据库轻松进行更改或同步。

1、在 API 中它是如何运作的?

  • 在 P8 API 中,项目内部部件数据库中存储的部件由“Eplan.EplApi.DataModel.Article”类来表示。在“功能”、“连接”或“项目”中对特定部件的引用由“Eplan.EplApi.DataModel.ArticleReference”类来表示。您可以通过上述类的“ArticleReferences”属性来获取“ArticleReference”对象。

  • 若要为某个部分添加新的引用,您可以使用“Project”、“Function”或“Connection”对象上的“AddArticleReference”方法。请注意,“AddArticleReference”仅将引用添加到该部分中。同时,也会将“Article”添加到该对象中,但前提是被引用的部分已在系统或项目数据库中存在。

  • 一般来说,存储在 P8 项目中的文章是专门创建的。因此,您应使用以下方法:void Article.Create(string partnr, string variant)。此方法会创建一个 Article 对象。如果已经存在具有该 partnr 和 variant 的零件(文章),则会抛出异常。在调用 Create 方法后,Article 对象将完全为空。只有零件编号和变体被设置,但其他属性均未填充。

  • 若要为“文章”对象赋予主数据的属性,请使用显式函数“bool Article::LoadFromMasterdata”。使用当前的部件数据源,会将主数据中的所有(已配置的)文章数据加载到嵌入部件中。如果在主数据中找不到该文章(部件编号 + 变体),“Article::LoadFromMasterdata”将返回“false”。成功加载时返回“true”。

2、添加部件并对其进行引用

  • 以下示例展示了如何在项目、功能和连接中添加及引用一篇文章:
Article oArticle = new Article();oArticle.Create(oProject, "KUKA.KR30-3", "1");            // An empty Article is created in a Projectbool bResult = oArticle.LoadFromMasterdata();             // Article is filled with data from system parts databaseoProject.AddArticleReference("KUKA.KR30-3", "1", 1);      // Reference to the Article is created on a ProjectoFunction.AddArticleReference("KUKA.KR30-3", "1", 1);     // Reference to the Article is created on a FunctionoConnection.AddArticleReference("KUKA.KR30-3", "1", 1);   // Reference to the Article is created on a Connection                     
http://www.lryc.cn/news/589282.html

相关文章:

  • 记录一条sql面试题2
  • Kafka 4.0 技术深度解析
  • 4G模块 A7670G打电话并且播报TTS语音
  • 2025-7-15-C++ 学习 排序(4)
  • 项目进度与预算脱节,如何进行同步管理
  • Flex 布局精讲
  • labview生成exe应用程序常见问题
  • RocketMq 启动_源码分析
  • 程序“夯住“的常见原因
  • 高并发四种IO模型的底层原理
  • linux的磁盘满了清理办法
  • Java 大视界 -- Java 大数据机器学习模型在金融风险传染路径分析与防控策略制定中的应用(347)
  • gitee某个分支合并到gitlab目标分支
  • 3D数据:从数据采集到数据表示,再到数据应用
  • pc浏览器页面语音播报功能
  • 【C++】神奇的AVL树
  • Java项目:基于SSM框架实现的学生档案管理系统【ssm+B/S架构+源码+数据库+毕业论文+开题报告】
  • k8s之Attach 和 Mount
  • Oracle日期时间函数说明及与MySql区别说明
  • 设计模式一: 模板方法模式 (Template Method Pattern)
  • GeoTools 工厂设计模式
  • MySQL高级篇(二):深入理解数据库事务与MySQL锁机制
  • 智驾芯片软件分层测试
  • Spring 中 @Component和@Bean注解的区别
  • 背包问题(包括路径统计)
  • zynq分频的例子
  • HTML的重要知识
  • 自己训练大模型?MiniMind 全流程解析 (一) 预训练
  • Vue框架之模板语法(插值表达式、指令系统、事件处理和表单绑定)全面解析
  • 代码随想录Day21:二叉树(修剪二叉搜索树、将有序数组转换为二叉搜索树、把二叉搜索树转换为累加树——全递归版本以及总结)