对于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
领取专属 10元无门槛券
私享最新 技术干货