- 项目的创建与管理 ProjectManager
- 获取当前项目的方法
一、项目的创建与管理类:ProjectMangager
Project oProject = new ProjectManager().CreateProject("$(MD_PROJECTS)\Example_003.elk", "$(MD_TEMPLATES)\IEC_tpl001.ept");
Project oProject = new ProjectManager().OpenProject("$(MD_PROJECTS)\ESS_Sample_Project.elk");
删除项目RemoveProject、复制项目CopyProject等其它方法,可参考上面的API帮助。
二、获取当前项目的方法
using Eplan.EplApi.Gui;
using Eplan.EplApi.HEServices;
//方法一
ProjectManager pm = new ProjectManager();
Project myProject=pm.GetCurrentProjectWithDialog();
//方法二
PathInfo pathInfo = new PathInfo();
string strProjectLinkFilePath = pathInfo.Projects + "\\ESS_Sample_Project.elk";
ProjectManager pm = new ProjectManager();
Project myProject=pm.GetProject(strProjectLinkFilePath);//如果该项目没有在EPLAN中打开,该方法将返回null
//方法三ProjectManager pm = new ProjectManager();
Project myProject = null;
SelectionSet selectionSet = new SelectionSet();
StorableObject[] storableObjects = selectionSet.Selection;
if (storableObjects.Length < 1)
{
new Decider().Decide(EnumDecisionType.eOkDecision, 没有任何对象被选择!", "Info", EnumDecisionReturn.eOK, EnumDecisionReturn.eOK);
return false;
}
else
{
foreach (StorableObject item in storableObjects)
{
//获取到你想要的对象
//.......
string objectId = item.Properties.PROPUSER_DBOBJECTID;
myProject = pm.GetProjectByObjectId(objectId);
}
}
//方法四
ProjectManager pm = new ProjectManager();
Project myProject = pm.CurrentProject;//返回Eplan页浏览器中的第一个项目,无论你当前打开或者选中了其他项目。
使用方法一时需要注意以下几点:
- 调用时不一定会弹出项目选择对话框,即使你当前Eplan里面打开了2个以上数量的项目,因为你当前只选中了一个项目,只有你通过Ctrl+鼠标左键选中了多个项目时,才会弹出项目选择对话框。
- 当你的Eplan已经打开了多个项目,这时候关闭Eplan,重新打开,在你选中任何项目之前,Eplan是默认选中所有已经加载的项目的,这时候运行上述代码,会自动弹出项目选择对话框。
- 如果你当前只有一个项目被选中,使用上述代码虽然不会弹出项目选择对话框,但是可以正常获取到你选中的项目。
- 如果弹出项目选择对话框,但是你在对话框中选了取消按钮,那么myProject =null; 所以一定要对获取到的myProject进行防空判断。
感谢Leonard_Spark的总结
//方法一
SelectionSet selectionSet = new SelectionSet();
Project myProject=selectionSet.GetCurrentProject(true);
//方法二
SelectionSet selectionSet = new SelectionSet();
Project[] myProjects=selectionSet.SelectedProjects;
最后,无论哪种方法获取当前项目,都尽量一个个处理,在批处理时,处理完一个项目时就利用Project类下的Close()方法关闭,在处理下一个项目。今天有关新建与打开项目和获取项目的总结就先到这里,电气CAD吧可向终身会员用户提供技术咨询服务,有哪里不懂的用户可以随时联系我们!
声明:您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可,本网站资源大都来自原创,也有少部分来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:cad-bbs@qq.com
评论(5)
请问EPLAN API是不是需要授权啊。我用C#访问EPLAN API提示,需要授权才能调用。
盼复!
盗版2.X基本都不用。其它版本或正版会有此现象。
我想用API自动生成原理图,您能提供一个可以使用的API的EPLAN版本吗?
谢谢!
盼复!
我试了eplan2.6和eplan2.9都有这个问题。您能告诉我具体哪个版本可以吗?
谢谢!
盼复!
没看到你提出什么问题啊?
2.1~2.9都可以运行API,前提是授权里要包含API扩展,可以从帮助-关于-授权范围里查。