UI.messagebox('My feature is running!') # Your feature code here end end Replace my_feature_main.rb with a tool:
module MyFeature unless file_loaded?() UI.menu('Plugins').add_item('Start My Tool') do Sketchup.active_model.select_tool(MyTool.new) end file_loaded( FILE ) end end 4. Adding a UI Dialog (HTML/CSS/JS) SketchUp 2024 supports WebDialog : sketchup 2024
def self.run model = Sketchup.active_model return UI.messagebox('Open a model first.') unless model view) UI.messagebox('You clicked!') end end
Sketchup.register_extension(extension, true) end # my_feature_main.rb require 'sketchup.rb' module MyFeature unless file_loaded?( FILE ) UI.menu('Plugins').add_item('Run My Feature') do self.run end file_loaded( FILE ) end sketchup 2024
class MyTool def activate puts 'Tool activated' end def onMouseMove(flags, x, y, view) # Update preview end
my_feature_loader/ ├── my_feature.rb ├── my_feature_main.rb └── my_feature/ └── (additional modules/files) # my_feature.rb require 'sketchup.rb' require 'extensions.rb' module MyFeature extension = SketchupExtension.new('My Awesome Feature', 'my_feature_main.rb') extension.description = 'Does something cool in SketchUp 2024' extension.version = '1.0.0' extension.copyright = '2024, Your Name' extension.creator = 'Your Name'
def onLButtonDown(flags, x, y, view) UI.messagebox('You clicked!') end end