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

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:

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:

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:

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:

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:

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));
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 用一种新的分类方法梳理设计模式的脉络