教程
EPLAN脚本从入门到应用-3《回传参数到脚本》

丨教程丨EPLAN脚本从入门到应用-3

编辑丨石海波
出品丨电气CAD论坛

当你有时候心里有个念头时,即便不用刻意的做,也会从日常工作、生活中,在心里生根发芽,EPLAN脚本这个主题是在3个月前萌生的,直到今天,我想可以写出来和大家分享了,希望能得到大家的支持,并坚持将这个系列写下去!

感谢大家的支持,在讲如何通过脚本去修改参数设置之前,我想在补充一个知识点,在上一节3.6里,我们可以通过程序去执行操作命令,并且还可以调用带参数的命令,那能不能从EPLAN传递参数进脚本程序内呢?当然是可以的,下面我们就来了解下用法。

知识点:
  1. 回传参数给脚本

  2. 两个修改属性脚本的实例

3.7

回传参数给脚本

通过EPLAN回传参数给脚本很简单,只要我们声明好参数类型,在工具栏命令里调用即可,下面这个实例我将导入进来的字符串用对话框显示出来,代码如下:
using System.Windows.Forms;
using Eplan.EplApi.Scripting;

public class InputParameter
{
  [DeclareAction("InputParameter")]
  public void InputString(string parameter)
{
    MessageBox.Show(parameter);
    return;
  }
}

[DeclareAction]是声明InputParameter这个调用名称,下面函数的变量传递值是string字符串类型的,然后通过菜单加载下程序,在EPLAN中新建一个工具栏命令,在命令栏里填写:

丨教程丨EPLAN脚本从入门到应用-3

确定后,点击新建的按钮就会显示了:

丨教程丨EPLAN脚本从入门到应用-3

参数的值注意一定要与脚本函数中声明的值类型保持一致,同时也可以同时传递多个变量,例如:
public void InputString(int param1,int param2,int param3)
这时在工具栏命令行里输入多个变量名和值即可。
InputParameter /param1:”1″ /param2:”2″ /param3:”3″
OK,文章写到这里我们就可以利用脚本写出很有用的小插件了,比如电气CAD论坛发布的丨插件丨连接定义工具栏,就是利用设定元件属性的操作命令:XEsSetPropertyAction完成的,配合工具栏里预先定义的输入参数,达到设置连接颜色与线径的修改。

丨教程丨EPLAN脚本从入门到应用-3

其中关键代码如下:      
        public void Function(string id1, string value1, string id2, string value2)
        {
            CommandLineInterpreter cli = new CommandLineInterpreter();
            ActionCallingContext acc = new ActionCallingContext();

            acc.AddParameter("propertyId", id1);
            acc.AddParameter("propertyValue", value1);
            cli.Execute("XEsSetPropertyAction", acc);

            acc.AddParameter("PropertyId", id2);
            acc.AddParameter("PropertyValue", value2);
            cli.Execute("XEsSetPropertyAction", acc);
}
我们在来举个例子,在每次新建项目时,属性<10020>创建者 通常一经创建就不允许修改了。

丨教程丨EPLAN脚本从入门到应用-3

那在后期时为了修改创建者,这时就不得不用脚本命令了,这时我们可以利用下面这条操作命令

丨教程丨EPLAN脚本从入门到应用-3

PropertyId:这里填写要修改的属性编号
PropertyValue:填写新的属性值
其它不用填写默认即可。两种方法,一种是直接通过拖拽“设定项目属性”命令到新建工具栏里。

丨教程丨EPLAN脚本从入门到应用-3

第二种可以直接在脚本程序里调用XEsSetProjectPropertyAction,进行批量多个属性的修改:
class SetProperty
{
    [Start]
    public void Function()
    {
        CommandLineInterpreter cli = new CommandLineInterpreter();
        ActionCallingContext acc = new ActionCallingContext();

        acc.AddParameter("PropertyId", "10020");
        acc.AddParameter("PropertyValue", "电气CAD论坛");
        cli.Execute("XEsSetProjectPropertyAction", acc);
        acc.AddParameter("PropertyId", "10015");
        acc.AddParameter("PropertyValue", "电气CAD论坛");
        cli.Execute("XEsSetProjectPropertyAction", acc);

        acc.AddParameter("PropertyId", "10016");
        acc.AddParameter("PropertyValue", "www.cad-bbs.cn");
        cli.Execute("XEsSetProjectPropertyAction", acc);
        return;
    }
}
从EPLAN脚本脚本中直接执行,完成的结果会将下面3个属性一次性修改完毕。

丨教程丨EPLAN脚本从入门到应用-3

好了,本节就讲到这里,完整的源代码可以通过电气CAD论坛或3D大学下载得到,在下一节里,我们在来讲解如何通过脚本来修改“参数设置”中的值,欢迎大家持续分享与关注哦!

发表评论

登录... 后才能评论

评论(2)

  • 俞凌杰 2020年4月9日 14:14

    太精彩了,我是个懒人,不愿意干重复事情,这个正适合我。感谢博主无私奉献

  • tienan90 2020年4月9日 02:27

    看来论坛里还是有好多有用的东西啊。最近一直没怎么看。论坛上面的还全是干货。真给力

本站所有资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

网站内个别资源需要按下载提示里通过发送邮件、或者添加百度网盘好友后才能发送,请留意下载前的提示信息。

请按下载后的文件名中提示的密码格式,输入电气CAD吧域名。(只替换xxxxxxx部分)

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

电子资料属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源