Sketchup插件界面的语言构成

对于Sketchup的ruby语言初识者,在进行插件汉化及其他一些简单修改时;或者对于有其他语言基础而需要快速了解插件编程时,可以参考一下下面简单的插件界面构成框架。

一般的ruby for sketchup教程都是从ruby的语言基础或者sketchup ruby api 画直线开始的,适合比较有毅力和对编程比较 热衷的人,对于其他人可能会觉得冗长繁琐,畏而远之,而且需要持续更新文章。

如果想了解本文内容,建议有一本相关的书籍(如《Automatic SketchUp-Creating 3-D Models in Ruby》、《當SketchUp遇見Ruby》),安装ruby code editor插件,再找几个简单的开源的插件,尝试一句一句修改,了解每个方法的作用。

最简单的插件汉化方法是用文本编辑器打开未加密的 .rb 文件,把文件中的带有引号的疑似名称的英文汉化,保存文件即可。要注意的是,一些文件并非uft-8编码,为了使保存后汉字不出现乱码现象,需要另存为uft-8文档。

下面代码可以打开插件安装目录,输入ruby控制台按回车键,或输入ruby code editor里运行即可打开插件安装目录进行插件管理。

wd=UI::WebDialog.new"打开插件文件夹",false,"",600,400,150,150,true

wd.set_urlSketchup.find_support_file'Plugins'

wd.show

下面一个简单绘制正弦函数图像插件代码参考,保存为 .rb 格式文件即为一个可使用的插件:

require"sketchup.rb"

moduleJF#定义模块,模块提供了一个命名空间和避免名字冲突。defself.draw_sine_wave#定义方法#输入窗口、输入项目、预设值pr=['周期','振幅','段数']#pr = %w( Length Amplitude Segments )de=[10.mm,5.mm,24]ret=inputboxpr,de,"正弦函数"#ret = UI.inputbox(pr, de)returnunlessret#确定函数上的点b,a,s=ret.mappts=[].step(b,b/s)doxy=a*Math::sin((x/b)*2*Math::PI)pts

end#模块结束

unlessfile_loaded?"sine_wave.rb"UI.menu("Plugins").add_item('正弦函数'){JF.draw_sine_wave}#添加菜单,关联方法file_loaded"sine_wave.rb"

end

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180123G10XN900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券