Seems like a one-time (or periodic) script job. Not necessarily a need for a registered extension.
So it’d be type (1). Moving to Ruby API category.
Making it read a open Excel spreadsheet just adds some unneeded complexity.
I’d suggest export data from Excel to a CSV file, and use Ruby’s standard CSV reading class:
All of different sizes ?
If the text labels are what is most different then the script could modify components picked from a set of standard sizes.
You’ll need to define what the data columns are: Fieldname, type, etc.
Ie:
(1) Title, String
(2) Label, String
(3) Height, Float
(4) Width, Float
(5) Depth, Float
… etc.
* Note that extra data can be attached using an AttributeDictionary
.
The dictionary names should be unique, ie, strings for: company, plugin and purpose, joined with underscores. Example: “ACME_SuperWidget_Properties
”
(If the dictionary name is not unique, you risk some other plugin accidentally changing your attributes.)
Where the data file will reside. (Likely somewhere down beneath your “Documents” directory.)
And where you want the components written to.
It will help if you set up a local component collection directory. Again I’d suggest some where down beneath your “Documents” directory. I have my personal version independant collections here:
“%USERPROFILE%/Documents/SketchUp/Components
”
See the User Guide for:
Choosing default locations for files (Microsoft Windows)
and
Organizing component collections
Will the components be “glue to” and if so which of: Any, Horizontal, Vertical, or Sloped.
Basically you are compiling a specification of what the utility script needs to do.