如何将SketchUp插件添加到菜单栏及工具条
微信公众号:老顽童与小东邪
关注可了解更多的教程及编程技巧。问题或建议,请加好友留言;
如果你觉得对你有帮助,欢迎赞赏
插件目录Plugins
我们想要在SketchUp平台上进行二次开发,就要了解它的基本规则。这里我们先来了解下我们插件安装后存放代码的地方,即Plugins文件夹。如图:
它被放置在用户目录中,所以只有只有用户安装了插件,在SketchUp菜单栏中才会出现【Extensions】或【扩展程序】菜单。如图:
否则看到的是这样的。如图:
总之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_spheremod = Sketchup.active_model # Open modelent = mod.entities # All entities in modelgroup = ent.add_groupcircle = 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 cmdtoolbar.showmenu.add_item cmdfile_loaded(__FILE__)
end
我们来执行代码来看一下效果:
在执行代码后SketchUp菜单栏新增了扩展程序菜单,SketchUp工作区中新增了工具条。
打包并安装插件
在SketchUp中安装的扩展程序是以.rbz后缀的文件,我们将写好的插件压缩为.rbz即可。
然后在SketchUp中点击【扩展程序管理器】安装就可以了。
另一种把你保存的代码文件放在Plugins文件夹下,重启SketchUp就可以了。
公众号
下面的是我的公众号二维码图片,欢迎关注。
下期预告
讲解工具条插件图标及插件目录格式
引用
声明|原创
公众号:老顽童与小东邪
欢迎关注我,一起学习,一起进步!
如何将SketchUp插件添加到菜单栏及工具条相关推荐
- python工作台_FreeCAD二次开发-创建Python工作台,添加菜单栏和工具条,FreeCAD命令
FreeCAD作为一款基于OpenCasCAD内核的开源CAD软件,可以在GitHub上下载源代码.阅读源代码,有助于我们学习CAD软件架构,了解底层几何算法. 由博主Caesar卢尚宇自学整理(纯粹 ...
- [Eclipse]GEF入门系列(六、添加菜单和工具条)
我发现一旦稍稍体会到GEF的妙处,就会很自然的被它吸引住.不仅是因为用它做出的图形界面好看,更重要的是,UI中最复杂和细微的问题,在GEF的设计中无不被周到的考虑并以适当的模式解决,当你了解了这些,完 ...
- eclipse安装、优化、配置、插件添加整理
文章目录 说明 资料 下载安装 启动优化 配置 修改编码格式 设置字体大小 修改背景色 自定义new菜单 显示内存 复制上一行快捷键 自定义注释 增加插件下载dns 插件 安装svn 安装class查 ...
- sketchup 插件_SketchUp和Rhino插件现已可用于Unity Reflect
sketchup 插件 New Unity Reflect release features plug-ins for SketchUp and Rhino, an Android Viewer, c ...
- php添加导航,wordpress网站导航栏如何添加导航菜单栏
一个网站,一般都会有自己的导航菜单栏,这样方便用户分类查找.那么,在使用wordpress建站时,导航菜单一般都是能直接在后台设置的,也不需要其他插件或动作.现在我就以个人经验教大家wordpress ...
- su必备插件_建模必备逆天Sketchup插件I
原标题:建模必备逆天Sketchup插件I 本周马克笔设计留学的安老师还是将给大家继续分享有关Sketchup的小知识.接下来几周将和大家分享几款在Sketchup中扮演着重要角色的逆天小插件,当你使 ...
- 如何使用WordPress插件添加约会预约日历
约会预订插件可以轻松地以井井有条的方式管理访客,约会和日程. 诸如沙龙,水疗中心,律师事务所,医院和诊所之类的企业可以从这种系统中受益. 在本教程中,我将向您展示一种简单的添加方法. 如果您的业务需要 ...
- Mac电脑隔空投递如何添加到菜单栏?
Mac隔空投递怎么添加到菜单栏?Mac系统想要将隔空投送这个功能显示在菜单栏,该怎么操作呢?下面我们就来看看详细的教程吧,需要的朋友欢迎参考! 具体步骤如下 1.在苹果电脑上,打开左上角苹果菜单,在菜 ...
- sketchup插件管理器速图外挂SuTool
速图外挂SuTool是一款国人开发的sketchup插件管理器,原开发者为郑州大学建筑系一老师(校友哦!),利用该插件能方便的管理草图大师sketchup插件,其内置了很多常用的插件,比如2DTool ...
最新文章
- apache日志分析简介
- python计算文件中字母出现次数_python – 计算文本文件中字母的频率
- AD备份文件安装额外域控制器
- 工程师姓什么很重要!别再叫我“X工”!!!
- OPK修改操作系统信息 --oobe.xml
- 怎么关闭左下角的GL VERTS
- I2C原理及应用实例
- 《Python machine learning and practice》—— 良\恶性乳腺癌肿瘤预测
- 2018.08.29 NOIP模拟 pmatrix(线性筛)
- golang strconv包(类型转换、保留小数位)
- 职场80后新人修炼五诀
- Android AdapterViewFlipper
- go语言ATM小案例
- Matlab2016A安装步骤
- FSMC实现8080时序驱动SSD1963(LCD驱动芯片)--原理->编码
- 学计算机的看图写话,小老鼠上网看图写话
- Unity的读表,存档,读档
- js如何打开本地html文件,html、js获取本地文件夹路径,打开本地应用程序
- 助你掌握搜索神器,10个实用的Elasticsearch查询技巧
- 大数据要学什么?看看这份大数据课程大纲