5D+ Snippet - Load and running code from Excel file

Are you using AI like ChatGPT to write SketchUp code?
Do you want to save your Ruby snippets and run them with a single click?
5D+ Snippet is a completely free plugin made just for you!

Key Features

✅ Create command buttons directly from an Excel file

✅ Simple, user-friendly interface

✅ Just copy code from AI → paste into Excel → run instantly in SketchUp

🧠 Perfect for:

✅ Beginners learning Ruby

✅ Power users managing reusable scripts across projects

✅ AI users who want to turn ChatGPT suggestions into real actions in SketchUp

📦 This plugin is 100% free. 😍

Download here: 5d_snippet_20250515_signed.rbz

2 Likes

At first I thought - who needs that?
Then I realized - I need that! For many little things that I want to speed up, that I cannot speed up.
And then I realized - ok - I need that, but I still have no clue, and if what ChatGTP creates doesn’t work (it doesn’t) I am back to square one.

But I like the idea in general.

One thing I noticed in my initial testing is that you cannot reload the same snippet XLS. I always had to load another file and then the initial file again to apply changes.

Hey - but I tried!

1 Like

Point in Case: “Move to Zero” - I tried explaining it to ChatGTP as follows:

Create a ruby script for Sketchup to move all selected objects to world origin 0,0,0

And got this:

module Kiebitzberg
  module MoveToOrigin

    def self.move_selection_to_origin
      model = Sketchup.active_model
      selection = model.selection

      if selection.empty?
        UI.messagebox("Please select one or more objects.")
        return
      end

      # Calculate the bounding box of the selection
      bb = Geom::BoundingBox.new
      selection.each do |entity|
        bb.add(entity.bounds)
      end

      # Calculate the center of the bounding box
      center = bb.center

      # Create a transformation to move from center to origin
      transformation = Geom::Transformation.translation(ORIGIN - center)

      # Apply the transformation to the selection
      model.start_operation("Move Selection to Origin", true)
      selection.each { |entity| entity.transform!(transformation) }
      model.commit_operation
    end

    unless file_loaded?(__FILE__)
      menu = UI.menu("Plugins")
      menu.add_item("Move Selection to Origin") {
        self.move_selection_to_origin
      }
      file_loaded(__FILE__)
    end

  end # module MoveToOrigin
end # module Kiebitzberg

Tried this as a snippet but it didn’t do anything. :slight_smile:

About the bug, you need to reopen the dialog to be able reload the same file.

But you need to test the snippet by pasting it to the Ruby Console and hit Enter to run instead load directly from the Excel file for testing. After you see that snippet worked as you expected, then you can stored it to the Excel file.

1 Like

This will create a command “Move Selection to Origin” from the menu “Plugins”.

But menu Plugins is not existing from the SketchUp 2020 and above. So you should tell to the AI that the version of SketchUp you are working and tell it give you a snippet code to run directly without accessing through a menu.

I shall try that. :slight_smile: And report back.

1 Like

I made a small update to fix small bugs and prevent some snippet codes can execute to harm your computer if you copy them from untrusted source.

@napperkt now you don’t need to re-open dialog to read the same Excel file after it changed.

5d_snippet_20250515_signed.rbz

1 Like

Here is my snippets for these actions
snippets_sample.zip (7.6 KB)

Snippet