如何将SketchUp插件添加到菜单栏及工具条 您所在的位置:网站首页 su上面的工具栏 如何将SketchUp插件添加到菜单栏及工具条

如何将SketchUp插件添加到菜单栏及工具条

2024-02-24 22:57| 来源: 网络整理| 查看: 265

微信公众号:老顽童与小东邪 关注可了解更多的教程及编程技巧。问题或建议,请加好友留言; 如果你觉得对你有帮助,欢迎赞赏

插件目录Plugins

我们想要在SketchUp平台上进行二次开发,就要了解它的基本规则。这里我们先来了解下我们插件安装后存放代码的地方,即Plugins文件夹。如图: plugins目录

它被放置在用户目录中,所以只有只有用户安装了插件,在SketchUp菜单栏中才会出现【Extensions】或【扩展程序】菜单。如图: 图1 否则看到的是这样的。如图: 图2 总之Plugins插件目录对于开发者来说非常重要!!!

SketchUp之UI模块

UI模块包含许多用于从SketchUp Ruby脚本创建简单UI元素的方法及常用的类。如:

menu - 该方法通过给定的名称检索SketchUp的菜单对象

toolbar - 该方法用于按名称获取SketchUp工具栏

messagebox - 该方法返回消息窗口

常用的类还有Command、HtmlDialog、Toolbar等。

菜单栏menu

菜单栏就是SketchUp标题栏下面的水平栏,包含了文件、编辑、视图、相机等下拉菜单。 如图1、图2所示。 在这里我们重点来看插件怎么放在这些菜单栏中。 先来看一下实例:

tool_menu = UI.menu("Tools") tool_menu.add_item("Cheese Tool") { UI.messagebox("Cheese activated.") }

这段代码的功能是在菜单栏中的工具栏中添加了一个名为【Cheese Tool】的子菜单。我们运行一下代码查看效果: 在这里插入图片描述

有效的的菜单名有“File”, “Edit”, “View”, “Camera”, “Draw”, “Tools”, “Window”, “Extensions” and “Help”.在上面的示例代码中我们用的Tools。一般我们自己开发的扩展程序放在Extensions中比较合适。 注意:在SketchUp2015以前是Plugins而并非Extensions,为了保持兼容Plugins依旧有效。

工具条Toolbar

Toolbar类包含在Ruby中创建和操作SketchUp工具条的方法。工具条是按钮的集合,可用于激活自定义工具或ruby脚本。 从工具条调用这些命令时,我们需要去学习一下Command对象。 Command类是把工具添加到菜单栏或工具条的首选类,就是我们最好先创建命令对象。然后将这个命令添加到菜单栏或工具条中。我们结合下面的代码来理解一下:

toolbar = UI::Toolbar.new "Test" # 创建一个名为Test工具条 cmd = UI::Command.new("Test") { # 创建一个工具名为Test的命令 UI.messagebox "Hello World" } cmd.small_icon = "ToolPencilSmall.png" # 工具在工具条上显示的图标 cmd.large_icon = "ToolPencilLarge.png" cmd.tooltip = "Test Toolbars" # 对该工具的一些说明 cmd.status_bar_text = "Testing the toolbars class" # 在状态栏中显示的内容 toolbar = toolbar.add_item cmd # 将这个命名添加到工具条上 toolbar.show # 在SktchUp中显示该工具条

我们再来看一下这个效果,这样我们就讲这个工具放到了SketchUp工具条上。 在这里插入图片描述

示例程序

学习了这一章,我们来将前面写的创建球体的代码放到工具条和扩展菜单中。

def self.create_sphere mod = Sketchup.active_model # Open model ent = mod.entities # All entities in model group = ent.add_group circle = group.entities.add_circle(ORIGIN, X_AXIS, 1.m, 48) face = group.entities.add_face(circle) face.reverse! path = group.entities.add_circle(ORIGIN, Z_AXIS, 2.m, 48) face.followme(path) group.entities.erase_entities(path) end unless file_loaded?(__FILE__) menu = UI.menu('Extensions') toolbar = UI::Toolbar.new "老顽童工具条" cmd = UI::Command.new("create_sphere"){ self.create_sphere } cmd.large_icon = cmd.small_icon = "ToolPencilSmall.png" cmd.tooltip = "创建球体" cmd.status_bar_text = "这是创建球体的插件" toolbar1 = toolbar.add_item cmd toolbar.show menu.add_item cmd file_loaded(__FILE__) end

我们来执行代码来看一下效果: 在这里插入图片描述

在执行代码后SketchUp菜单栏新增了扩展程序菜单,SketchUp工作区中新增了工具条。

打包并安装插件

在SketchUp中安装的扩展程序是以.rbz后缀的文件,我们将写好的插件压缩为.rbz即可。 然后在SketchUp中点击【扩展程序管理器】安装就可以了。 另一种把你保存的代码文件放在Plugins文件夹下,重启SketchUp就可以了。

公众号

下面的是我的公众号二维码图片,欢迎关注。 在这里插入图片描述

下期预告

讲解工具条插件图标及插件目录格式

引用 声明|原创 公众号:老顽童与小东邪 欢迎关注我,一起学习,一起进步!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有