logo资料库

Surpac+tcl二次开发教程.pdf

第1页 / 共93页
第2页 / 共93页
第3页 / 共93页
第4页 / 共93页
第5页 / 共93页
第6页 / 共93页
第7页 / 共93页
第8页 / 共93页
资料共93页,剩余部分请下载后查看
Surpac软件Tcl/Scl 入门
目 录 第 1 章 逻辑符、命令别名和热键 ........................................... 1 1.1 逻辑符 .......................................................... 1 1.2 命令别名 ........................................................ 4 1.3 键盘映射 ........................................................ 6 第 2 章 创建菜单和工具栏 ................................................. 8 2.1 调用菜单和工具栏编辑工具 ........................................ 8 2.2 从系统菜单条中创建菜单 .......................................... 9 2.3 创建自己的菜单条目 ............................................. 10 2.4 创建工具栏 ..................................................... 11 2.5 创建一个定制的按钮到工具栏上 ................................... 11 第 3 章 在 Tcl 脚本中录制一个任务 ........................................ 13 3.1 录制宏 ......................................................... 13 3.2 宏的回放 ....................................................... 13 3.3 宏文件结构 ..................................................... 14 3.4 SclFunction .................................................... 17 3.5 使用 _action 开关 .............................................. 18 第 4 章 实例-录制一个间单实用的宏 ....................................... 21 第 5 章 Tcl 基础......................................................... 23 5.1 Tcl 定义 ....................................................... 23 5.2 Scl 定义 ....................................................... 23 5.3 Tcl 语法 ....................................................... 24 5.4 命令 ........................................................... 24 5.5 变量和置换 ..................................................... 25 5.6 分组 ........................................................... 25
5.7 命令置换 ....................................................... 26 第 6 章 创建用户窗体 .................................................... 28 6.1 Gudio .......................................................... 28 6.2 Guido 命令语法 ................................................. 29 6.3 Guido 命令开关.................................................. 29 6.4 GuidoForm ...................................................... 30 6.5 GuidoField ..................................................... 30 6.6 GuidoComboBox .................................................. 31 6.7 GuidoCheckBox .................................................. 32 6.8 GuidoRadioButton 和 GuidoButtonGroupPanel ...................... 33 6.9 GuidoFileBrowserField .......................................... 34 6.10 GuidoLabel .................................................... 36 6.11 Dependencies .................................................. 36 6.12 SclCreateGuidoForm ............................................ 37 6.13 SclRun ........................................................ 38 6.14 用 Scl 窗体功能将 Guido 组合在一起 .............................. 39 第 7 章 实例 2 – 宏的自动化 ............................................. 42 第 8 章 较好的从图形工作区中选择点的方法 ................................ 45 8.1 SclSelectPoint 功能 ............................................ 45 8.2 将点数据按序返馈到软件中 ....................................... 46 第 9 章 实用的 Tcl 命令 .................................................. 48 9.1 数字操作 ....................................................... 48 9.2 文本串操作 ..................................................... 51 9.3 文件系统操作 ................................................... 53 第 10 章 Tcl 语言中的基本的流控制 ........................................ 57 10.1 布尔表达式..................................................... 57 10.2 if 命令 ....................................................... 58
10.3 while {expression} {commands} ................................. 60 10.4 for {start} {expression} {next} {commands} .................... 60 10.5 用 continue 和 break 改变循环执行 .............................. 61 第 11 章 Surpac ranges .................................................. 63 11.1 SclRangeExpand ................................................ 63 11.2 SclRangeGetCount .............................................. 63 11.3 SclRangeGet ................................................... 64 11.4 把上述命令组合在一起 .......................................... 64 第 12 章 实例 3 坐标转换 ................................................ 66 第 12-A 章 实例 3 – 数据库剖面绘图(选做) ............................. 72 第 13 章 文件读写 ....................................................... 79 13.1 打开和关闭文件 ................................................ 79 13.2 从文件中读数据 ................................................ 80 13.3 往文件中写入 .................................................. 80 13.4 一个文件操作模板 .............................................. 81 第 14 章 实例 4 文件输入/输出 ............................................ 85 第 15 章 Tcl 参考 ....................................................... 87 15.1 在线参考手册 .................................................. 87 15.2 书籍 .......................................................... 87 15.3 网站资源 ...................................................... 87 15.4 www.minesolutions.com -Surpac 扩展 ............................ 87 第 16 章 课程总结 ....................................................... 88 16.1 学习内容 ...................................................... 88 16.2 命令 .......................................................... 88 16.3 下一步学习建议 ................................................ 89
第 1 章 逻辑符、命令别名和热键 概述 创建一个宏脚本程序使软件自动处理一些工作是件比较简单的事情,这个宏命令可以在何 工作目录中运行。通过目录结构,在宏命令开发中通过逻辑符的使用可以实现这种程序的可移 植性。命令别名和热键的使用提供快速操作和运行普通的宏文件的机制。 这一章学习如下内容: 为何使用逻辑符以及如何定义逻辑符 命令别名和相关文件 热键和键盘映射文件 1.1 逻辑符 逻辑符是 Surpac 软件的一个术语,是指指向物理存贮目录的一个大家都知道的盘符名字, 这个逻辑符实时的映射到硬盘上的一个目录。使用这个系统,不同的软件安装版本不必指向硬 盘上的实际的目录名。 例如:逻辑符名 SSI_ETC: 在一个系统中可以指向 c:/ssi_v4.1-k/share/etc 目录或在另 一个系统中指向 d:/software/Surpac/v4.1l/share/etc 目录,其原因是软件是在用逻辑符名 SSI_ETC: 指向的目录,在软件运行是不需要知道这个目录实际的存贮的位置。 使用逻辑符的原因有: 1 使软件与文件系统相互独立 2 缩短访问长目录的字符长度 3 数据标准化 逻辑符有三种类型: 1 系统定义 — 在 translate.ssi 文件中定义 1
2 用户定义 — 在 SSI_ETC:logicals.ssi 文件中定义 3 个性化定义 — 通过个性化设置/默认的参数选择命令,定义任何的文件,将指定到 Surpac 软件中 系统逻辑符是软件安装时进行定义的,存贮在 translate.ssi.文件中,系统的逻辑符是软 件成功操作所必需的,不能被修改。下面是一个 translate 文件的例子:. 永远 不 要 把 你 的逻辑 符 加 入 到 translate.ssi 文件 中 , 因 为 在软 件 重新 安装 时 translate.ssi 文件将会重新创建,你所做的修改将会丢失。 用户逻辑符是可选的,通常用于让用户的操作简单化,正如系统逻辑符一样使软件容易对 文件定位,用户逻辑符很容易使用户对数据文件和宏文件进行定位。你能自定义逻辑符指向你 的实测数据位置,你可以把所有的宏文件和脚本程序存贮在一起并定义一个像“MACRO : ”这 样都比较熟悉的逻辑符,可供所有的人访问。 系统的一个特点是允许用户通过一个标准的名称约定访问数据,而不必担心数据在硬盘上 的物理存贮位置,当在网络环境中工作时,这对用户有不同的物理驱动器映射时有特别的好处。 当设计菜单系统和 Tcl/Scl 脚本时,用户逻辑符同样是一个无价的工具,通过逻辑符可以 使菜单和脚本与文件系统相互独立,从而不必担心物理驱动器映射。这个方法使得在菜单和脚 2
本在拷贝到另一台计算机时,只需修改 logicals.ssi 文件,而不必修改实际的脚本或菜单定 义。 用户逻辑符 logicals.ssi 文件中定义,该文件存贮在 SSI_ETC: 目录中(这是一个系统 逻辑符,它映射到系统存贮 etc 文件的目录)。logicals.ssi 文件可选的,如果它不存在, Surpac 软件并不报告错误,然而,如果该文件存在,Surpac 软件将加载文件并添加已经定义 的逻辑符到系统的逻辑映射中。 除了可以给个性化逻辑符取任意的文件名字外,如 mylogicals.txt .,个性化逻辑符和用 户逻辑符相似,要使 Surpac 软件加载个性化逻辑符,必须通过 个性化菜单->默认选项设置, 在“简写表”中进行设置。个性化逻辑符文件的格式和 logicals.ssi 文件完全一样。 当 Surpac 软件启动时,按下列顺序加载逻辑符定义文件: 1 从 SSI_ETC:文件中加载 translate.ssi 系统逻辑符定义 2 从 SSI_ETC:文件中加载 logcials.ssi 用户逻辑符定义 3 从你定义的个性化逻辑符文件中加载个性化逻辑符定义 如果有重复的逻辑符定义,后读入的起作用,定义重复的逻辑符并不是一个错误,有时为 了做某些事还需要这样做,如在个性化逻辑符文件中可以重定义一个 SSI_PLOTTING: 逻辑符 下面是一个 logicals.ssi 文件的实例: MINESOLUTIONS: c:/minesolutions/ MS_SPOOLER: c:/minesolutions/spooler/ MS_STRING: c:/minesolutions/string/ MS_RINGKING: c:/minesolutions/ringking/ MY_MACROS: c:/macros/ 文件的结构相当的简单,定义一个逻辑名,后接一个或几个空格,然后定义物理的目录, 后接斜杠。注意尾部斜线是强制性的,可以是正斜线符号或反斜线符号。 提示:强烈推荐在逻辑符后接一个冒号,它提供一个固定的逻辑符结束标记,并且使文件 路径易读。 3
提示:由于反斜线符号在 Tcl 脚本中定义转义码,有时产生模糊的问题,在物理路径中推 荐使用正斜线符号而不反斜线符号。 提示:由于 Surpac 软件不对物理路径存在与否进行检查,要确保物理路径名称正确。 1.2 命令别名 命令别名是一个系统,它提供了一个让你在 Surpac 中把命令改为其它易记的名字的机制, 这对有经验的用户比用命令全名或从菜单、工具栏中执行功能提高了效率。 别名文件的结构很简单,首先是别名,加双引号,接任意数量的空格,然后接命令名,也 加双引呈号(甚至可以是前面定义的别名)。下面是从别名文件中提取出的一部分。 "2DG" "2D GRID" "2DT" "2D TRANSFORM" "3DG" "3D GRID" "3DT" "3D TRANSFORMATION" "ATP" "ADD TO PERIOD" "AR" "ADD RIG" "AB" "APPLY BOUNDARY" "AII" "ARC ARC INTERSECT" "AD" "AUDIT DATABASE" "BS" "BASIC STATISTICS" "BD" "BEARING AND DISTANCE" "BR" "BENCH REPORT" 和允许为已有的命令改变名称一样,别名系统也允许你定义新的命令名运行你的 Tcl/Scl 脚本。例如:你写了两个脚本,一个是往数据库中导入.CSV 文件,另一个是导出数据库中的表 的一个.CSV 文件。后面我们将讲述如何用菜单运行这个文件。现在用键盘命令运行它。对于这 两个脚本,下面定义两个新命令 import_csv 和 export_csv 来做这件事: "IMPORT_CSV" “MACRO:MY_SCRIPTS:IMPORT_CSV" 4
分享到:
收藏