20K Words on ICM InfoWorks Ruby Scripting, Nano Banana Diagram Version
](https://www.linkedin.com/in/robertdickinson/)
Helping across the full stormwater spectrum: SWMM (50+ yrs), InfoSWMM/ESRI (20 yrs), InfoWorks ICM (15 yrs), & Autodesk AEC Collection (5 yrs) Grandpa (10 yrs)
December 2, 2025
You may have been seeing very detailed diagrams of engineering concepts here on LinkedIn and on X or Twitter. They are often or mostly made by Nano Banana Pro, which is part of Gemini 3.0. I like it, as it gives me a fresh perspective on ICM InfoWorks and SWMM5. As I also like doing Ruby Scripts for ICM InfoWorks and ICM SWMM Networks, I thought it would be interesting (to me) to make Nano Banana ICM Ruby Diagrams. Since I made more than 20 diagrams of them, and a picture is worth a thousand words or more, I will call this a 20K article on ICM Ruby. The above image is a general diagram of the ICM Ruby API.
The source of these diagrams is the wonderful ICM InfoWorks online help file from Autodesk. It is the section that starts with InfoWorks Exchange (as shown below). You can also get all of the open-source Ruby scripts from our GitHub repository.
Introduction to Scripts
Running Scripts From the User Interface
Running Scripts from Exchange
Working with the Database
Working with Networks
Dates and Times
ICM Exchange for Autodesk
Command Line Options
Command Line Options
Core System and Classes
WSBaseNetworkObject
WSCommit
WSCommits
WSDatabase
WSFieldInfo
WSLink
WSModelObject
WSModelObjectCollection
WSNode
WSNumbatNetworkObject
WSOpenNetwork
WSOpenTSD
WSRiskAnalysisRunObject
WSRowObject
WSRowObjectCollection
WSSimObject
WSStructure
WSSWMMRunBuilder
WSTableInfo
WSTSDObject
WSTSDObject
WSStructureRow
WSValidation
WSValidations
WSValidations
Appendix Add-ons
Character Encoding
Model Objects
ICM Open Data Import / Export Centre Ruby Scripts
Pollutograph Codes
Run Parameters
Network Tables