用键入命令控制图层的开关


最近遇到一家从AutoCAD转向MicroStation的用户,他们有一些非常简单的AutoLisp程序想要移植到MicroStation平台。看了这些Lisp程序,其实就是对某些固定的图层(ACAD中叫Layer,MS中叫Level)执行开关动作。这个在MS中根本就不需要任何编程,用一些键入命令就能实现。而MS自身也不需要编程就能定制Ribbon界面。如果对定制Ribbon界面还不了解的话,请移步阅读如下文章:

第八章、通过定制界面启动应用程序

我们这里仅仅探讨如何通过键入命令对某些图层(比如Level 1和Level 2)执行打开(ON)和关闭(OFF)。

由于当前图层不能被关闭,因此,我们可以先将当前图层设置为Default。这个可以通过LV=Default来实现。而打开图层用ON=,关闭图层用OF=,这两个命令执行后还需要去指定作用于哪个视图(VIEW),所以,还需要用到命令SELVIEW,如果想对所有视图都应用的话,可以键入SELVIEW ALL。因此,在Ribbon界面中可以创建两个按钮,分别是“打开图层”和“关闭图层”(当然要配以直观的图标了)。在这两个按钮的键入栏分别输入如下两行命令即可。

LV=Default;ON="Level 1","Level 2";SELVIEW ALL
LV=Default;OF="Level 1","Level 2";SELVIEW ALL

对以上两行键入命令再多做几点解释:

  1. 图层名称中含有空格的话,需要在名称两端添加双引号(Default不含空格,所以可以直接写);
  2. 多个键入命令以分号隔开;
  3. 多个层名以逗号隔开。