一个标准的 .rbz 插件压缩包,在根目录下必须且只能包含两个东西:
一个与插件同名的
.rb文件(根文件/Loader)一个与插件同名的文件夹(支持文件夹)
方便卸载的时候一起卸载了,如果两个文件名字不一致,只会卸载.rb文件,而文件夹会保留
官方文档给出了一个非常清晰的结构示例:
nn_cuber_maker.rbz <- 这是你的 .rbz 安装包├── nn_cuber_maker.rb <- 根目录下的 .rb 文件(加载器)└── nn_cuber_maker/ <- 与 .rb 文件同名的文件夹├── main.rb <- 真正的插件代码└── some_other_file.rb <- 其他支持文件
1. 根目录下的 .rb 文件(加载器) 这个文件是插件的入口和注册器。它的任务非常纯粹:只负责向 SketchUp 注册插件本身,而不能包含任何功能逻辑或加载其他文件
# nn_cuber_maker.rbrequire 'sketchup.rb'module MyPluginmodule CubeMakerunless file_loaded?(__FILE__)# 1. 创建扩展对象,并指向支持文件夹里的主文件 'nn_cuber_maker/main'ex = SketchupExtension.new('NN Cube Maker', 'nn_cuber_maker/main') [reference:9]# 2. 填写作者、描述、版本等信息[reference:10]ex.creator = "Namey Namesson"ex.description = "Make cubes in just a few clicks."ex.version = "1.0.0"ex.copyright = "2025 Name Namesson"# 3. 注册扩展Sketchup.register_extension(ex, true) [reference:11]file_loaded(__FILE__)endendend
关键点:在 SketchupExtension.new 方法中,第二个参数 'nn_cuber_maker/main'没有写 .rb 后缀。这是一种最佳实践,能让代码在文件被加密为 .rbe 格式后依然正常工作。
2. 同名文件夹(支持文件夹) 这个文件夹必须与根目录下的 .rb 文件同名。所有的功能代码、图标、HTML文件等都放在这里。
💡 补充:关于开发调试
在开发过程中,每次都打包成 .rbz 再安装来测试非常低效。一个更便捷的方法是将加载器文件和同名文件夹直接复制到 SketchUp 的 Plugins 文件夹中。这样修改代码后,只需重启 SketchUp 即可生效,可以极大提高调试效率。
组织代码:你可以在这个文件夹里自由创建子文件夹和
.rb文件来组织你的插件逻辑。加载文件:在支持文件夹内的代码中,应使用
Sketchup.require方法来加载其他文件,这也是为了兼容加密格式。# nn_cuber_maker/main.rbmodule MyPluginmodule CubeMaker# 使用 Sketchup.require 加载同目录下的其他文件Sketchup.require 'nn_cuber_maker/some_other_file' [reference:18]# ... 你的插件功能代码 ...endend🚀 如何制作一个
.rbz文件
准备文件:按照上面的“两件套”结构,在电脑的某个文件夹里准备好你的
.rb加载器和同名文件夹。打包:将加载器文件和同名文件夹这两个同时选中,然后右键压缩为
.zip格式。注意:压缩时,确保压缩包内直接就是这两个项目,而不是把它们放在一个上层文件夹里再压缩。
重命名:将生成的
.zip文件重命名,把后缀改为.rbz。Windows用户注意:请确保你的系统显示文件扩展名,否则可能会重命名成
你的插件.rbz.zip,导致安装失败。
夜雨聆风