几乎所有 Rhino 的指令都可以使用指令巨集执行,指令巨集可以由指令行输入、工具列按钮、快捷键、指令别名、以 ReadCommandFile 指令或将指令巨集以 Paste 指令粘贴至 Rhino 的指令行执行。
编写指令巨集就像是在指令行输入一连串的指令一样,指令巨集文字之间的空格或跳行代表按指令行按下 Enter 键。
特殊字符 | 在巨集里的意思 |
---|---|
* |
可以连续执行指令,不用按 Enter 键重复启动指令。 |
! |
中止前一个指令。 一个感叹号 (!) 后接着一个空格置于指令巨集的开头可以中止任何正在执行中的指令,放在其它位置可以中止指令巨集,必要时也可以放在指令巨集的结尾。 |
_ |
使用英文的指令、选项、选项值。 Rhino 有多种语言版本,非英文版本的指令、提示、指令选项、对话框、功能表....会翻译成不同的语言,英文指令、选项、选项值未加下划线可能无法在非英文的版本中正确执行。 为了让以英文编写的指令巨集可以在任何语言版本的 Rhino 执行,请务必在指令、选项、选项值之前加上下划线。 例如:以下的指令巨集在英文版的 Rhino 可以正确地执行: Circle 3Point 0,0,0 1,1,0 0,3,0 但在法文版的 Rhino 无法执行,为了避免这个问题,必需将指令巨集修改如下: Cercle 3Point 0,0,0 1,1,0 0,3,0 为了使巨集能够在所有语言环境下执行,在指令和选项之前加上下划线。 |
- |
避免弹出对话框。 Rhino 的所有指令几乎都可以在指令行以指令巨集执行,即使是会弹出对话框的指令也可以。在指令名称前加上连字符 (-) 可以抑制指令弹出对话框,改以指令行选项执行。 |
' |
下一个执行的是可以嵌套执行的指令,所谓的嵌套执行是指一个指令执行中可以插入另外一个指令,插入的指令完成后再继续执行原来的指令。 视图、工作平面操作及物件锁点指令是可以嵌套执行的指令,建立几何图形的指令则不行。 单次使用的物件锁点及选取副物件过滤器本身就可以嵌套执行,不需要再加上单引号。 |
/ |
如果工具列按钮的指令巨集的第一个字节不是"!",而最后一个字节是"\",该指令巨集结束时不会自动输入 Enter,以便继续输入更多信息。 这个功能可以让您将工具列按钮当做荧幕上的数字键盘按钮,以不同的按钮连续输入数个数字,避免按下一个按钮后指令行就跳到下一行。 |
~ |
不显示指令选项,但指令巨集中设定的选项仍然可以正确执行。 |
; (分号) |
注解。 指令巨集中以分号开始的行并不是巨集的一部分,但可以让您在巨集里做注解。 例如: ; This is a test macro |
:: (双冒号) |
嵌套图层由图层名称之间的双冒号表示 - "::"。使用 -Layer 指令,在图层 Layer 01 下添加图层的巨集这样写: ! _-Layer New "Layer 01:: New Layer" Enter |
这个指令巨集可以建立一个中心点座标 5,5,半径 10 的圆:
! _-Circle 5,5 10
指令巨集中的空格就如同您在指令行输入时按下 Enter 键。
这个指令巨集可以确定在启动 Move 指令时没有任何物件被选取,在 Move 指令启动后会再要求选取要移动的物件。
! _SelNone _Move
这个指令巨集可以建立一些点物件,然后建立通过这些点物件的曲线。
! _SelAll _Points _Pause _Pause _Pause _Enter _Invert _CurveThroughPt _EnterEnd
这个指令巨集如何运行:
! _SelAll |
取消正在执行中的指令,然后选取模型中的所有物件。 |
_Points |
执行 Points 指令。 |
_Pause _Pause _Pause |
等待指定三个点,建立三个点物件。 |
_Enter |
模拟按下 Enter 键,结束建立点物件。 |
_Invert |
反选选取集合,在这个指令巨集开始的时候已经选取了模型中的所有物件,反选以后只剩下新建立的点物件会处于选取状态下。 |
_CurveThroughPt |
建立一条通过所有点物件的多重直线。 |
_EnterEnd |
结束指令。 |
! -_Rebuild _Pause _Points=10 _Degree=3 _Enter
选取一条曲线,然后执行这个指令巨集,所有选项由巨集设置,并不会弹出重建曲线对话框。
Pause |
暂停指令巨集等待使用者输入。 范例: ! _Circle _Pause 50 这个指令巨集会要求您指定圆的中心点,然后继续完成指令,建立一个半径为 50 单位的圆。 |
MultiPause |
在多选物件的时候停止脚本的执行,例如只执行 Join、Polyline 以及 FilletEdge 的时候。 |
Enter |
在指令巨集中模拟按下 Enter 键。 这个指令并不会像平常的时候按下 Enter 键会重复执行上一个指令。 |
EnterEnd |
结束指令。 |
SetRedrawOff |
在指令巨集执行过程中暂停画面重绘。 |
SetRedrawOn |
在使用 SetRedrawOff 指令之后再次打开画面重绘。 |
NoEcho |
使指令巨集不在指令视窗显示提示与信息。 |
Echo |
允许指令巨集在指令视窗显示提示与信息。 |
如果您不知道如何编写指令巨集,可以执行有连字号版本的指令,将指令历史视窗中的指令流程复制到指令巨集里。
工具列 | 功能表 |
---|---|
|
工具 指令 > 巨集编辑器 |
MacroEditor 指令打开编写或测试指令巨集的编辑视窗。
巨集编辑器
工具列 | 功能表 |
---|---|
|
工具 指令 > 从文件读取 |
ReadCommandFile 指令从文本文件中读取指令巨集并执行。
将以下的指令巨集范例复制到文本文件里,然后使用 ReadCommandFile 指令读取该文字档,一次建立数条曲线。
! _interpcrv
23,5,0
23,2,5,0
23.7,5.2,1
_Enter
_interpcrv
26.1,4.9,1.1
26.8,4.9,1.0
27.1,4.8,0.9
_Enter
……
工具列 | 功能表 |
---|---|
|
|
NoEcho 指令使指令巨集不在指令视窗显示提示与讯息。
NoEcho 或 _NoEcho 必须是巨集中的第一个单词才能正常工作,所有的东西,包括感叹号,都应该用一个空格隔开。
工具列 | 功能表 |
---|---|
|
|
Enter 指令的功能就如同按下 Enter 键,可以在指令巨集或工具列按钮的巨集中使用。
这个指令巨集让您以指定三个点的方式设定工作平面:
'_CPlane _3Point
_Pause _Pause _Pause _Enter
这里的 Enter 指令并不会像平常的时候按下 Enter 键会重复执行上一个指令。
工具列 | 功能表 |
---|---|
|
|
EnterEnd 指令的功能就如同按下 Enter 键,可以在指令巨集或工具列按钮的巨集中使用。
EnterEnd 用在有许多层提示的指令时非常有效,例如:-Options 与 -DocumentProperties 指令,当您已经设置了需要的选项后,如果用 Enter 指令,需要输入非常多的 Enter,如果使用 EnterEnd,不管位于哪一层提示,都可以直接结束指令。举例:
! _-DocumentProperties _Mesh _Custom _MaxEdgeSrf .01
像这个指令巨集必需在结尾加上两个 Enter 指令才能结束,使用 EnterEnd 指令只要加上一个即可直接结束。
! _-DocumentProperties _Mesh _Custom _MaxEdgeSrf .01 _EnterEnd
工具列 | 功能表 |
---|---|
|
|
Pause 指令暂停指令巨集等待使用者输入。
这个指令巨集会要求您指定圆的中心点,然后继续完成指令,建立一个半径为 50 单位的圆。
! _Circle _Pause 50
RhinoScript 是用来执行脚本的插件程序,通过脚本可以实现使用循环运算、变量、文件浏览、查询等。
相关指令:
将 .rvb 文件拖放到 Rhino 视窗可以自动载入并执行脚本。
更多与 Rhino 相关的脚本信息请参考:http://wiki.mcneel.com/rhino/basicmacros.
工具列 | 功能表 |
---|---|
|
工具功能表 Rhino 脚本 > 载入 |
LoadScript 指令从硬盘中读取脚本文件,将其载入到脚本解释器并等待执行。
将 .rvb 文件拖放到 Rhino 视窗可以自动载入并执行脚本。
更多 RhinoScript 在线说明请参考: http://developer.rhino3d.com/guides/rhinoscript/.
工具列 | 功能表 |
---|---|
|
工具功能表 Rhino 脚本 > 执行 |
RunScript 指令执行先前载入的脚本。
将 .rvb 文件拖放到 Rhino 视窗可以自动载入并执行脚本。
工具列 | 功能表 |
---|---|
|
工具 Rhino 脚本 > 编辑 |
EditScript 指令 打开 RhinoScript 文件的编辑程序。
工具列 | 功能表 |
---|---|
|
工具 Python Script > 执行 |
RunPythonScript 指令执行 Python 脚本。
更多Rhino.Python 在线说明请参考: http://developer.rhino3d.com/guides/rhinopython/。
强制重新实例化 Python 引擎,此功能在同时跨越多个文件写入与测试时很有效。
工具列 | 功能表 |
---|---|
|
工具 Python Script > 编辑 |
EditPythonScript 指令编辑 Python 脚本。
更多与 Rhino 相关的脚本信息请参考:http://wiki.mcneel.com/developer/python。
Rhinoceros 6 © 2010-2017 Robert McNeel & Associates. 25-6月-2018