曾经用node.js测试写Genesis脚本失败了,这次借助开发PCB规则引擎的机会(基于JS V8引擎与.net深度交互性), 验证一下Javascript是否可用于写Genesis脚本.

一.测试Javascript更改单位

var unit = gen.COM('get_units');
console.log('更改前单位:' +unit);
if (unit == 'mm')
{
gen.COM('units,type=inch');
}
else
{
gen.COM('units,type=mm');
}
unit = gen.COM('get_units');
console.log('更改后单位:' +unit);

二.测试Javascript 增加PAD

orignP = new Object();
orignP.x = 0;
orignP.y = 0;
gen.COM('add_pad,attributes=no,x='+ orignP.x +',y='+ orignP.y +',symbol=r2018'); MoveP = new Object();
for (var i=1;i<= 12;i++)
{
MoveP.x = orignP.x + 5 * Math.cos(i * 30 * Math.PI / 180);
MoveP.y = orignP.y + 5 * Math.sin(i * 30 * Math.PI / 180);
gen.COM('add_pad,attributes=no,x='+ MoveP.x +',y='+ MoveP.y +',symbol=r2018');
console.alert('第'+ i +'孔坐标: X ' + Math.round(MoveP.x,3) + ': Y ' + Math.round(MoveP.y))
}

三.测试Javascript 执行COM指令效率

var date1 =new Date();
var StartTime =date1.getSeconds() * 1000 + date1.getMilliseconds();
orignP = new Object();
orignP.x = 0;
orignP.y = 0;
gen.COM('add_pad,attributes=no,x='+ orignP.x +',y='+ orignP.y +',symbol=r2018');
MoveP = new Object();
for (var j=1;j<= 100;j++)
{
for (var i=1;i<= 12;i++)
{
MoveP.x = orignP.x + 5 * Math.cos(i * 30 * Math.PI / 180);
MoveP.y = orignP.y + 5 * Math.sin(i * 30 * Math.PI / 180);
gen.COM('add_pad,attributes=no,x='+ MoveP.x +',y='+ MoveP.y +',symbol=r2018');
}
}
var date2=new Date();
var EndTime =date2.getSeconds() * 1000 + date2.getMilliseconds();
var CountTime = EndTime - StartTime;
console.alert('总耗时:' + CountTime);

显示层,加120个PAD耗时1.8秒

影藏层,加1200个PAD耗时3.9秒

PCB Genesis脚本 C#调用Javascript的更多相关文章

  1. PCB Genesis脚本 C#调用Python

    在PCB行业,Genesis的二次开发的编程脚本越来越丰富了啊,从一开始进入眼界的Genesis脚本语言是很少的,CSH,PERL, 再后来慢慢发展,VB,易语言,VB.NET,C#,Java,TCL ...

  2. PCB Genesis脚本C#使用WPF窗体实现方法

    用C#写脚本做UI界面基本上都是用WinForm界面,如果想制作很漂亮动态的界面用WPF界面挺不错的选择, 这里介绍如何使用控制台程序调用WPF窗口 一.方法一 在控制台程序中,通过Main方法启动W ...

  3. 在<a></a>标签中调用javascript脚本

    有时候,我们点击了<a></a>标签(除了跳转到指定链接外)想要它调用某个方法,及调用javascript脚本,该如何做: 方法1:<a href="javas ...

  4. webview调用javascript脚本无反应

    最近遇到一个问题:在html中有一段javascript脚本定义了一个方法,在使用webview.loadUrl("javascript:方法名()")时方法未执行,后来 查资料发 ...

  5. Unity 3d C#和Javascript脚本互相调用 解决方案(非原创、整理资料,并经过实践得来)

    Unity 3d C#和Javascript脚本互相调用 解决方案 1.背景知识 脚本的编译过程分四步: 1. 编译所有 ”Standard Assets”, “Pro Standard Assets ...

  6. [Swift通天遁地]一、超级工具-(6)通过JavaScript(脚本)代码调用设备的源生程序

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  7. PCB Genesis 无需启动Xmanager图形窗口运行脚本 实现方法

    从事PCB工程行业的都知道,启动Genesis需2个exe程序(Xmanager.exe与get.exe)需一起启动才可以打开我们熟悉的软件, 而Xmanager是图形窗口是给用户UI交互使用的,如果 ...

  8. 调用JavaScript

    当webdriver 遇到没法完成的操作时,笔者可以考虑借用JavaScript 来完成,比下下面的例子,通过JavaScript 来隐藏页面上的元素.除了完成webdriver 无法完成的操作,如果 ...

  9. 转:python webdriver API 之调用 JavaScript

    当 webdriver 遇到没法完成的操作时,笔者可以考虑借用 JavaScript 来完成,比下下面的例子,通过 JavaScript 来隐藏页面上的元素.除了完成 webdriver 无法完成的操 ...

随机推荐

  1. HEVC-HM16.9源码学习(1)TEncCu::xCompressCU

    函数入口:Void TEncSlice::compressSlice的m_pcCuEncoder->compressCtu( pCtu );调用xCompressCU( m_ppcBestCU[ ...

  2. 60s倒计时

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 【eclipse】外部 jar 包导入教程

    JavaWeb 项目中,可以直接将要导入的 jar 程序包复制到你项目下的 WEB-INF/lib 文件夹下,将来程序移动到别的机子上测试时也能正常运行.如果是普通 Java 工程的话,我们可以在项目 ...

  4. 每日命令:(4)mkdir

    linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 1.命令格式: mkdir [选项] 目录... 2.命令 ...

  5. 版本优化-test

    版本优化 标签(空格分隔): 测试 需求经手人太多,直接提bug,开发不乐意,跟Leader确认不靠谱,跟PM确认,不熟悉流程,跟第三方PM确认靠谱了,结果被开发三言两语,变成了不改bug 而改需求 ...

  6. 统计nginx日志里每五分钟的访问量

    #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Random_lee import time import os import re cla ...

  7. PAT 1085 PAT单位排行

    每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜.本题就请你实现这个功能. 输入格式: 输入第一行给出一个正整数 N(≤10^5),即考生人数.随后 N 行,每行按下列格式给出一个考生的信 ...

  8. [bzoj1867][Noi1999][钉子和小球] (动态规划)

    Description Input 第1行为整数n(2<=n<=50)和m(0<=m<=n).以下n行依次为木板上从上至下n行钉子的信息,每行中‘*’表示钉子还在,‘.’表示钉 ...

  9. codevs2449 骑士精神

    题目描述 Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位.在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标 ...

  10. Ubuntu 16.04中CPU轮流100%的问题解决

    刚装好Ubuntu 16.04,但是观察各个CPU都是轮流100%,如图所示: