EPLAN脚本从入门到应用-3 回传参数到脚本

教程
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.com");
        cli.Execute("XEsSetProjectPropertyAction", acc);
        return;
    }
}
从EPLAN脚本脚本中直接执行,完成的结果会将下面3个属性一次性修改完毕。

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

好了,本节就讲到这里,完整的源代码可以通过电气CAD论坛或3D大学下载得到,在下一节里,我们在来讲解如何通过脚本来修改“参数设置”中的值,欢迎大家持续分享与关注哦!
1. 本站所有资源来源于用户上传和网络,仅作为个人学习使用,如有侵权请邮件联系站长!
2. 本站由用户发布的内容版权归文章发布者所有,一旦您发布任何资源就表示您已同意本协议。
3. 侵权删帖/违法举报/投稿等事物联系邮箱:daxue3d@vip.qq.com。

3D大学 » EPLAN脚本从入门到应用-3 回传参数到脚本

发表评论

不要把时间用来造轮子,这里有的你拿走,保留精力用来创造!