PLM之家PLMHome-工业软件践行者

[高清获取] NX CAM加工后处理Post Builder使用视频教程 2 后处理TCL学习入门

[复制链接]

2020-5-23 14:06:42 3099 0

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

积分
82195
QQ
发表于 2020-5-23 14:06:42 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
NX CAM加工后处理Post Builder使用视频教程-
第二弹-后处理TCL学习入门

8 A) O: d1 t4 l; W, k3 F
​本视频通过以下三个场景来逐步完成一个TCL后处理功能。- r+ ?& x$ D4 H! D$ Q8 l. z1 ~
1 在每个operation输出New Operation
通过添加函数 MOM_output_literal 输出
使用MOM_set_seq_off 关闭显示行,MOM_set_seq_on显示行
MOM 是 命令,mom是变量
! T5 k- `. D! F0 o- n
                               
登录/注册后可看大图

! R4 m7 ]4 Y4 R" ]3 C8 r7 E! l  P
global mom_sys_contorl_in  mom_sys_contorl_out
set co $mom_sys_contorl_out
set ci $mom_sys_contorl_in
MOM_output_literal "$co NEW OPERATION $ci"

' c/ \7 I" S  t* m, F9 _9 i
2 将new Operation 信息改成真正的操作名称
只需要找到mom_opearation_name变量就可以获取当前的操作名称
修改代码如下:
global mom_sys_contorl_in  mom_sys_contorl_out mom_opearation_name
set co $mom_sys_contorl_out
set ci $mom_sys_contorl_in
MOM_output_literal "$co $mom_opearation_name $ci"

; b4 K( w( k) |5 e8 S. |1 }                               
登录/注册后可看大图
3 输出刀具名称和直径
mom_tool_name 变量用来获取刀具名称
mom_tool_diameter 变量用来获取刀具直径
添加global变量
global mom_sys_contorl_in  mom_sys_contorl_out mom_opearation_name
global mom_tool_name mom_tool_diameter
set co $mom_sys_contorl_out
set ci $mom_sys_contorl_in
MOM_output_literal "$co $mom_opearation_name $ci"
MOM_output_literal "$co Tool: $mom_tool_name DIAMETER: [format %3.3f $mom_tool_diameter] $ci"
: c/ G7 q: {) R! m. W. L0 t) {
                               
登录/注册后可看大图
============================================
; t9 ~3 i6 q6 P# {6 Z! o
, {, O! y8 b5 v! n2 O- \& N+ C: X
==================================
( w; e2 U# ]5 R( F# E9 ]
TCL作为后处理MOM的引擎,MOM (Manufacturing Output Manager)可以对后处理开发8 V/ G  T/ a4 Y, d( O9 f, [  M: C

& y/ I3 L8 O8 K4 ~
  • TCL 简介* K6 e. h" }$ C% Z

    : ^' M+ l7 `+ e6 q$ h! A, j
Tcl(最早称为“工具命令语言”"Tool Command Language",但是目前已经不是这个含义,不过我们仍然称呼它为TCL)是一种 脚本语言。由John Ousterhout创建。TCL很好学,功能很强大。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。TCL念作“踢叩”(tickle)。Tcl的特性包括:
  • 任何东西都是一条命令,包括语法结构(for,if等)。
  • 任何事物都可以重新定义和重载。
  • 所有的数据类型都可以看作字符串。
  • 语法规则相当简单。
  • 提供事件驱动给Socket和文件。基于时间或者用户定义的事件也可以。
  • 动态的域定义。
  • 很容易用C, C++,或者Java扩展。
  • 解释语言,代码能够动态的改变。
  • 完全的Unicode支持。
  • 平台无关。Win32,UNIX,Mac 上都可以跑。
  • 和Windows的GUI紧密集成。Tk
  • 代码紧凑,易于维护。

    ; v/ T  A8 }1 o5 T4 r" P
TCL本身在 8.6 以后提供面向对象的支持。因为语言本身很容易扩展到支持面向对象,所以在8.6之前存在许多C语言扩展提供面向对象能力,包括XOTcl, Incr Tcl 等。另外SNIT扩展本身就是用TCL写的。
使用最广泛的TCL扩展是TK。TK提供了各种OS平台下的图形用户界面GUI。连强大的Python语言都不单独提供自己的GUI,而是提供接口适配到TK上。另一个流行的扩展包是Expect. Expect提供了通过终端自动执行命令的能力,例如(passwd, ftp, telnet等命令驱动的外壳).
Tcl 支援扩充套件,这些扩充套件提供了额外的功能(像是 GUI,自动化,数据库存取等)。
下面是一些 Tcl 扩充套件的列表:
  • tclodbc
  • mk4tcl
  • sqlite
  • Pgtcl, pgintcl
  • mysqltcl, msqltcl
  • AdabasTcl
  • FBSQL
  • ibtcl
  • Oratcl
  • Sybtcl
  • db2tcl

    7 T) A7 @( w+ H
  • TCL内建命令

    ! K' Y* K2 p; \- a) ]9 u
字符串操作
append - 在变量后添加变量
binary - 从二进制字符串中插入或释放数值
format - 使用sprintf的风格格式化一个字符串
re_syntax - Tcl正则表达式语法
regexp - 对正则表达式匹配器直接存取字符串
regsub - 基于正则表达式的模式匹配完成替换
scan - 使用指定的sscanf风格转换解析字符串
string - 操作字符串
subst - 完成反斜线、命令和变量替换
列表操作
concat - 将多个列表合并成一个列表
join - 把列表元素合并成一个字符串
lappend - 将元素添加到列表末尾
lassign - 将列表元素赋值给变量
lindex - 从列表中获得一个元素
linsert - 向列表插入一个元素
list - 创建一个列表
llength - 计算列表的元素个数
lrange - 返回列表中的一个或者多个临近的元素
lrepeat - 使用重复的元素构造一个列表
lreplace - 在一个列表中使用新的元素替代其它元素
lreverse - 反转列表元素的顺序
lsearch - 在列表中寻找特定元素
lset - 修改列表中的一个元素
lsort - 给列表中的元素排序
split - 将字符串分解成Tcl列表
字典操作
dict - 操作字典
数学
expr - 求一个数学表达式的值
mathfunc - Tcl数学表达式的数学函数
mathop - Tcl命令的数学操作符
控制结构
after - 设置将来执行的命令
break - 中断循环
catch - 返回异常错误
continue - 进入下一个循环
error - 产生一个错误
eval - 调用一个Tcl脚本
for - 'For' 循环
foreach - 反复循环操作一个或多个列表的每个元素
if - 执行一个条件脚本
return - 从进程中返回或者返回一个值
switch - 根据一个特定的值,指定几个脚本中的一个
update - 处理挂起的时间和空闲回调
uplevel - 在不同的堆栈层中执行一个脚本
vwait - 一直等待直到一个变量被修改为止
while - 重复的执行脚本直到条件不匹配
变量和过程
apply - 申请一个匿名函数
array - 处理数组变量
global - 存取全局变量
incr - 增加变量的值
namespace - 创建和操作命令和变量的上下文
proc - 创建一个Tcl过程
rename - 重新命名或者删除一个命令
set - 读写变量
trace - 监视变量存取、命令用法和执行
unset - 删除变量
upvar - 在不同的堆栈层中创建一个变量的链接
variable - 创建和初始化一个名字空间变量
输入和输出
chan - 读写和操作I/O通道
close - 关闭一个打开的I/O通道
eof - 检查文件是否结束
fblocked - 测试I/O通道是否将数据准备好
fconfigure - 设置和查询I/O通道的属性
fcopy - 把一个I/O通道数据复制到另外一个I/O通道
file - 操作文件名和属性
fileevent - 在I/O通道准备好处理读写事件时执行一个脚本
flush - 清空缓存输出I/O通道数据
gets - 从I/O通道中读取一行
open - 打开一个文件或命令管道
puts - 向I/O通道写入数据
read - 从I/O通道读出数据
refchan - 反射I/O通道的命令句柄API,版本1
seek - 设置I/O通道的存取偏移量
socket - 打开一条TCP网络连接
tell - 返回I/O通道的当前存取偏移量
软件包和源文件
load - 装载机器代码和初始化新命令
loadTk - 装载TK到一个安全解释器
package - 装载包和包的版本控制
pkg::create - 为给出包描述构造是个适当的'package ifneeded'命令
pkg_mkIndex - 为自动装载的包创建一个索引
source - 将一个文件或者资源作为Tcl脚本运行
tm - 方便的查找和装载Tcl模块
unload - 卸载机器代码
解释器
bgerror - 调用命令处理后台错误
history - 操作历史命令列表
info - 返回Tcl解释器的状态信息
interp - 创建并操作Tcl解释器
memory - 控制Tcl内存调试能力
unknown - 处理未知命令
库程序
encoding - 编码处理
http - 客户端执行的HTTP/1.0协议
msgcat - Tcl消息目录
platform. - 系统支持的编码和相关应用程序
platform.:shell - 系统支持的编码和相关应用程序
系统相关
cd - 改变工作目录
clock - 获取和操作日期与时间
exec - 调用子过程
exit - 退出应用程序
glob - 返回模式匹配的文件名
pid - 获得进程ID
pwd - 返回当前工作目录的绝对路径
time - 计算一个脚本的执行时间
特定平台
dde - 执行一个动态数据交换命令
registry - 操作windows注册表

3 n: b+ |. p- T* q1 j: }$ r% t- k) m, `2 M3 a
更多精彩内容请关注PLM之家
. m% u# v) a" a( D" T0 U, `
www.plmhome.com" X) e4 H7 X0 \4 c/ F


4 q# I( b. ^) E; E- i: I. p

6 i  K3 g  E8 _                               
登录/注册后可看大图

* F! P0 X9 l: ~8 l7 u* C

, N+ ^. O. n* S                               
登录/注册后可看大图
END
PLM之家plmhome

/ t" n# X3 ?) Z$ k1 P$ i2 z; b0 d                               
登录/注册后可看大图

/ o% D3 O* H: G/ n- F, h5 Q% U

( U* r: L0 C* D) @
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了