代码改变世界

Sketchup二次开发API之UI类

2013-03-14 20:51  精诚所至 金石为开  阅读(3783)  评论(0编辑  收藏  举报

UI及User interface,指应用程序Sketchup本身,可以通过add_context_menu_handler方法在sketchup中添加上下文菜单,基本语法如下。

UI.add_context_menu_handler do |context_menu|
  context_menu.add_separator
  context_menu.add_item("Hello World") {
    UI.messagebox("Hello world")
  }
end

并菜单添加一个命令函数。

利用inputbox命令创建用户界面,接受用户输入信息,创建用户交互内容,基本语法如下。

prompts = ["宽度", "高度", "标高"]
defaults = ["630", "320", "2000"]
list = ["100|120|200|250|300|320|400|450|500|630", "100|120|200|250|300|320|400|450|500", ""]
input = UI.inputbox prompts, defaults, list, "风管参数设定"

利用inputbox可以创建跟Revit中工具上下文状态栏,比如,绘制风管时由用户设定风管大小和标高等。貌似输入框要么接受用户输入,要么用list事先设定可能的值,但是无法既能接受用户输入,又添加预定值,不太方便。

UI类的menu命令用来向顶部菜单栏中添加菜单项,基本语法如下。

tool_menu = UI.menu "Tools"
tool_menu.add_item("Cheese Tool") {
  status = UI.openURL "
http://www.sketchup.com"
}

UI.openURL方法用来打开一个网页。