Looking for some advice and ideas to develop extension

I’m new to Ruby programming, but I have a basic understanding of C and C++, which I studied at university about 10 years ago. Recently, I managed to create an extension with the help of Microsoft Copilot. It’s been working well and saving a lot of time. I want to learn Ruby programming so I can develop more extensions.

I’m planning to create another extension. The main objective is to create supports (in yellow) and make rectangular and circular cutouts on a metal plate.

The model has two different objects: a metal plate (white) and rectangular bars (black, red, white, and blue) that pass through the metal plate.

The metal plate and each bar should be components, and later the bars can be grouped. The user selects the metal plate as the first object and the grouped bars as the second object. Upon doing so, the extension should process the cutout on the metal plate and generate insulator supports (yellow).

The insulator supports should be two identical components mirrored to each other. There are certain standard measurements for the spacing between the bars and cutout (25mm on each side), the cutout edge to the center of the hole (10mm), and the hole diameter (9mm). The distance from the bar to the edge of the insulator support should be 50mm. The insulator support is 15mm thick. The holes on the metal plate and insulator should be in the same position.

I’ve included some reference pictures.

The reason for this post is to get ideas from experts in this SketchUp community. I will be grateful for every comment.


The general idea I can think of is that the plate component would perhaps need to be made unique before the opening is cut into its faces.

1 Like

we have a library for the different sizes of metal plates and, each of them has its unique part number (as component name). Also, there is a high chance of using the same size metal plate on the SketchUp model and they were given unique names as per the positions they were used in before any cutout was made.