EPLAN API 入门系列- 提高篇(Common)

New Page:

复制代码
View Code
1 public Page newPage(Project oProject, string strPageName)
2 {
3     return new Page(oProject, DocumentTypeManager.DocumentType.TitlePage,
4         new PagePropertyList { 
5             DESIGNATION_LOCATION = this.Location, 
6             DESIGNATION_PLANT = this.Plant, 
7             PAGE_COUNTER = strPageName 
8         });
9 }
复制代码

set GraphicalLayerTable:

复制代码
View Code
 1 public bool setGraphicalLayerTable(string layer, Project project)
 2 {
 3     try
 4     { 
 5         GraphicalLayerTable graphLayerTalbe = project.LayerTable;
 6         if (graphLayerTalbe.Layers.Length != 0)
 7         {
 8             this.Gplayer = graphLayerTalbe.Layers[0];
 9         }
10 
11         foreach (GraphicalLayer graphLayer in graphLayerTalbe.Layers)
12         {
13             if (graphLayer.Name == layer)
14             {
15                 this.Gplayer = graphLayer;
16             }
17         }
18 
19         return true;
20     }
21     catch
22     {
23         return false;
24     }
25 }
复制代码

get SelectedProject:

复制代码
View Code
 1 public static Project GetSelectedProject(bool bWithWindow)
 2 {
 3     Project oProject = new SelectionSet().GetCurrentProject(bWithWindow);
 4     if (oProject != null)
 5     {
 6         return oProject;
 7     }
 8 
 9     MessageBox.Show("check","name", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
10 
11     return null;
12 }
复制代码

get SelectedPages:

复制代码
View Code
 1 public static ArrayList GetSelectedPages(Project project, out bool isProjectSelected)
 2 {
 3     ArrayList lPages = new ArrayList();
 4     SelectionSet oSelSet = new SelectionSet();
 5     StorableObject[] arrSel = oSelSet.Selection;
 6     isProjectSelected = false;
 7     foreach (StorableObject obj in arrSel)
 8     {
 9         if (obj is Project)
10         {
11             if ((obj as Project) == project)
12             {
13                 isProjectSelected = true;
14                 lPages.AddRange((obj as Project).Pages);
15                 return lPages;
16             }
17         }
18         else if (obj is Page)
19         {
20             if ((obj as Page).Project == project)
21             {
22                 lPages.Add(obj as Page);
23             }
24         }
25         else if (((obj is Placement) && ((obj as Placement).Project == project)) 
26             && !(((obj as Placement).Page == null) || lPages.Contains((obj as Placement).Page)))
27         {
28             lPages.Add((obj as Placement).Page);
29         }
30     }
31     return lPages;
32 }
复制代码

get GuiLang:

复制代码
View Code
 1 public static ISOCode.Language GetGuiLang()
 2 {
 3     ISOCode.Language lGui = new ISOCode(GetGuiLanguage()).GetNumber();
 4     switch (lGui)
 5     {
 6         case (ISOCode.Language.L_hr_BA | ISOCode.Language.L_am_AM):
 7         case ISOCode.Language.L___:
 8             return ISOCode.Language.L_en_US;
 9     }
10     return lGui;
11 }
复制代码

setConnectionsToArray:

复制代码
View Code
 1 ArrayList ConnArrList = new ArrayList();
 2 SelectionSet oSelSet = new SelectionSet();
 3 
 4 foreach (Eplan.EplApi.DataModel.Page page in oSelectionSet.GetSelectedPages())
 5 {
 6    DMObjectsFinder dmf = new DMObjectsFinder(oProject);
 7    ConnectionsFilter oConnF = new ConnectionsFilter();
 8    oConnF.Page = page;
 9    Connection[] arrConn = dmf.GetConnections(oConnF);
10    foreach (var conn in arrConn)
11    {
12          ConnArrList.Add(conn);
13     }
14 }
15 
16 Connection[] oConnections = (Connection[])ConnArrList.ToArray(typeof(Connection));
复制代码

 

 

posted @   AriLee  Views(1579)  Comments(0Edit  收藏  举报
编辑推荐:
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
阅读排行:
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 用一种新的分类方法梳理设计模式的脉络
点击右上角即可分享
微信分享提示