PCB Genesis脚本 C#调用Javascript
曾经用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秒
转载于:https://www.cnblogs.com/pcbren/p/9819806.html
PCB Genesis脚本 C#调用Javascript相关推荐
- java写genesis脚本,PCB Genesis脚本 C#调用Python
在PCB行业,Genesis的二次开发的编程脚本越来越丰富了啊,从一开始进入眼界的Genesis脚本语言是很少的,CSH,PERL, 再后来慢慢发展,VB,易语言,VB.NET,C#,Java,TCL ...
- 在Watir中调用JavaScript脚本
如何在Watir中调用JavaScript脚本?下面的脚本实现了此功能,主要原理是通过IE访问Document,再访问parentWindow,最终还是由IE在执行JavaScript脚本: requ ...
- 从父页面在iframe中调用JavaScript代码
基本上,我将iframe嵌入到页面中,并且iframe具有一些我需要从父页面调用的JavaScript例程. 现在相反非常简单,因为您只需要调用parent.functionName() ,但是不幸的 ...
- python操作js中的输入_Python调用JavaScript代码的方法
准备阶段: 以一段简单的JS脚本为例,将代码写入到文件中,其中,定义了一个方法,计算两个数的和. //norm.js //计算两个数的和 function add(num1, num2) { retu ...
- 一步一步学Silverlight 2系列(21):如何在Silverlight中调用JavaScript
概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...
- MSScriptControl详解(可实现在C#等语言中调用JAVASCRIPT代码)
ScriptControl接口 属性名称 类型 备注 AllowUI BOOL 检测是否允许运行用户的接口元素.如果为False,则诸如消息框之类的界面元素不可见. CodeObject Object ...
- 脚本语言语言脚本语言:Shell , JavaScript、VBScript、Perl、PHP、Python、Ruby、Lua
今天一直在研究脚本语言语言之类的问题,上午正好有机会和大家共享一下. 脚本语言:Shell , JavaScript.VBScript.Perl.PHP.Python.Ruby.Lua 工作控制语言和 ...
- 【Java脚本引擎】脚本引擎执行JavaScript代码
应用场景 公司有30员工,每个人工资计算方式不同.现在需要计算工资. 传统的方法:一个接口,30个实现类. 使用脚本引擎:编写一个xml文件,每人一个计算公式,使用的时候可以把公式加载到程序中,启动时 ...
- js方式调用php_javascript调用PHP和PHP调用javascript的方法
javascript调用PHP和PHP调用javascript的方法 发布时间:2020-06-22 17:03:14 来源:亿速云 阅读:262 作者:Leah 这篇文章将为大家详细讲解有关java ...
最新文章
- python使用textwrap包在已经生成的长字符串中嵌入回车符实战
- hibernate入门知识-01
- vooc是什么快充协议_5G时代除了网速,快充同样重要!
- MySQL数据类型和Java数据类型对应关系表
- GitHub 撤销 commit
- 20171129-构建之法:现代软件工程-阅读笔记
- CRC32/CRC16算法C#中的实现
- 智能建筑--常见协议
- Android自定义权限
- 4.1 手工编写第一个性能测试脚本
- DX11编程(一):DX和Effect的基本配置和属性表配置
- 计算机pe启动蓝屏怎么办,进pe蓝屏解决方法
- Arduino字符串操作函数
- 《我奋斗了18年才和你坐在一起喝咖啡》,而我奋斗了18年,不是为了和你一起喝咖啡(转载)...
- 湖南师范大学2018年大学生程序设计竞赛新生赛 F 小名的回答
- 为什么正定矩阵等于转置_关于正定矩阵的一些新结果
- Kafka 集群扩容、分区重新分配、SparkStreaming自适应上游kafka topic partition数目变化
- 无线蓝牙耳机手机端app开发_不输AirPods,只花百元就能买到的超级耳机,值了!...
- linux消息通信无法接收,求助!Linux基于UDP通信失败,server接收不到消息???...
- php商城手机端省市显示,jQuery仿手机京东商城收货地址城市选择
热门文章
- Sonar6.0应用之四:与Jenkins集成分析(Scanner+Maven)
- Android Studio 2.2:新布局、Firebase、OpenJDK以及Java 8
- Android的HTTP方式网络通信---HttpURLConnection
- 分数加减法 http://acm.nyist.net/JudgeOnline/problem.php?pid=111
- 如何应对内网安全的那些新挑战——威胁不断,防御不止
- 高度不定垂直居中_你真的能写好CSS垂直水平居中吗?
- python下俄罗斯方块的游戏设计_[源码和文档分享]基于Python的PyGame的俄罗斯方块游戏设计与实现...
- alidata mysql 卸载_mysql相关(一)、基本知识
- 网上购物软件的测试计划,网上购物平台购物测试计划书
- 2021辽宁高考成绩查询公布,2021辽宁高考成绩什么时候出