看到可以在SPB17.4的命令行窗口运行运行TCL命令.
记录一下零星的命令,先不管能用TCL命令干啥有用的事情。
先运行一下能观察到效果的TCL命令, 有个感性认识。
有的命令需要带参数,有些不需要带参数。
如果是带参数不知道怎么输入参数的命令,可以直接输入命令,不带参数。
这样,命令就会出报错信息,就能看到参数该怎么填了。例子如下:
Capture> PlacePart
[ 1]Wrong number of arguments :PlacePart x y libName pkgName device boolvalue6 argument 1
Capture>
可以看到PlacePart命令带6个参数
PlacePart x y libName pkgName device boolvalue
具体参数是什么样的值,只能去查资料和实验了。
capture CIS 和 PCB Editor 的命令行窗口都可以运行TCL命令。
命令行窗口,默认安装完都在界面下方有显示。
如果没有命令行窗口,在view菜单上选择命令行窗口的显示。

命令行窗口中,可以直接输入TCL命令,输入完回车。
一般一个命令执行完,都会在输入的命令的下一行有提示,提示命令执行的结果(成功,失败,或者执行结果)
TCL命令的名称是区别大小写的
取产品版本
Capture> GetProductVersion
17.4-2019 S026 (4007227) [1/17/2022]
显示当前工程的路径
Capture> pwd
https://www.gofarlic.com/my_dev/my_local_git_prj/hardware/LS_stc_dev_board/src/stc15_exp_box4/sch
Capture>
Menu “1级菜单::2级菜单::3级菜单”
等于人工去点击,执行菜单命令
Capture> Menu "File::Save"
1
这个例子等于人工点击了文件菜单上的保存条目
执行完命令,能看到效果
选择当前原理图页面上的全部元素
Capture> SelectAll
0
取消全选
如果前面执行了SelectAll,现在执行UnSelectAll,可以看到页面上被全选的所有器件,都变成了没有被选择的常态。
Capture> UnSelectAll
0
画一条线, 需要带4个参数(线起点的坐标,线终点的坐标)
执行完后,在原理图上,就能看到一条刚画出来的线。并且还是选中状态
Capture> PlaceWire
[ 1]Wrong number of arguments :PlaceWire x1 y1 x2 y2 argument 1
Capture> PlaceWire 10 10 200 200
0
向原理图上放一个器件。
命令格式
PlacePart <X-axis> <Y-Axis> <Path To Library> <Package Name> <Designator> FALSE
实际命令例子
打开自己的一个原理图库,确定里面的器件名称
PlacePart 100.00 100.00 "https://www.gofarlic.com/my_dev/my_local_git_prj/my_SPB_lib/sch_lib/RES.OLB" "R_0603" "" FALSE
执行完后,原理图左上角出现了一个电阻元件。
注意.olb的路径分隔要用’/‘,不能是从资源管理器拷贝过来的’’
参数5是这个器件的第几个子部件。
e.g. MCU 画的时候,可能会有多个部分 MCUA?, MCUB?
如果是第2个子部件,就填写 B
如果像电阻这种,没有子部件,参数5就是空的 ”“
设置属性的值
因为是单独做实验,需要先手工选中一个器件,再调用 SetProperty 来设置属性值。
SetProperty propName propValue
SetProperty {Property Name} {res 0603}
参数1 {Property Name} 2个大括号中包含的就是要改的属性,元件右击,编辑属性中看到的属性表格中的属性名称都是 有效的 。

单独的命令实验过了,都是零星的从官方文档上看到的,但是没找到系统的命令列表说明(e.g. 具体都有哪些命令?这些命令参数都具体怎么填写?)。
如果只是这些零星的TCL指令,真干不了啥正经事。
先有个初步感受,以后看看能不能找到系统的文档看看。
初步看,SPB17.4自带的文档中,有2个系列的文章有TCL用法的初步讲解。
但是具体命令的官说明就没找到。
先写一个 脚本 文件,另存到一个英文路径(没有中文和空格)下面,命名为case1.tcl
从官方例子抄了一个如下:
puts "This script demonstrates the list of items to check in Tcl installation"
puts "Use this script from command line or in Capture or PSpice command shells"
puts "Script provides all the details on Tcl environment and system details"
puts "\n\n"
global env
parray env
puts "------------------------------------------------------------"
puts "CMD - puts ::tcl::tm::path list"
catch {puts [::tcl::tm::path list]}
puts ------------------------------------------------------------
puts "CMD - info library"
puts [info library]
puts ------------------------------------------------------------
puts {"CMD - $::auto_path"}
catch {puts $::auto_path}
puts ------------------------------------------------------------
puts {"CMD - $::tcl_pkgPath"}
catch {puts $::tcl_pkgPath}
puts ------------------------------------------------------------
puts {"CMD - $LCTLIBPATH"}
catch {puts $::env(TCLLIBPATH)}
puts ------------------------------------------------------------
puts "CMD - info load"
puts [info load]
puts ------------------------------------------------------------
puts "CMD - info patchlevel"
puts [info patchlevel]
puts ------------------------------------------------------------
puts "CMD - packages names"
foreach n [package names] {
foreach m [package versions $n] {
set p [package ifneeded $n $m]
puts "$n $m $p"
}
}
puts ----------------------------------------------------------
puts "CMD - List Packages Present with version"
foreach n [package names] {
if { ! [catch {package present $n} v] } {
puts "$n [package present $n]"
}
}
puts ------------------------------------------------------------
catch {puts [exec systeminfo]}
puts ------------------------------------------------------------
catch {puts [exec tasklist "/v"]}
puts ---------------------END---------------------------------------
在capture的command window中运行此脚本。
source {https://www.gofarlic.com\my_dev\my_local_git_prj\study\cadence\TCL\case1.tcl}
回车后,就看到capture的命令窗口忽忽的输出执行结果。
执行结果是啥并步不重要。从可以执行脚本能看出以下细节:
这些在capture tcl 脚本中干活的具体函数怎么用,官方文档的说明在哪里啊…? 总不能看一个例子会一个例子吧(如果想要的效果在官方例子中没有,该咋弄?),如果要想总体的干点啥有意义的活,从哪里提纲挈领的开始?
*

这些零星的TCL命令,都是在SPB17.4的文档中看到的。
"https://www.gofarlic.com\Cadence\SPB_17.4\doc\" *tcl*.html
用 SI + everything去找,然后打开看看,是否是TCL命令相关的。
TCL命令如果要用的话,得将官方的文档好好翻翻才行。否则无法用TCL脚本干正经事情。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删