Empowering the water modeling community with open-source scripts, tools, and automation
Track repository activity, views, and community engagement in real-time
This repository is your central hub for open-source code that enhances Autodesk Water Infrastructure products:
- Ruby Scripts - UI automation and Exchange API integrations
- SQL Queries - Advanced network object selection and manipulation
- Python Tools - Data analysis, visualization, and workflow automation
- Documentation - Comprehensive guides and best practices
- VBScript - Legacy automation and integration tools
📚 Pro Tip: Check out the Exchange documentation for complete Ruby API reference
| Product | Description | Scripts Available |
|---|---|---|
| InfoWorks ICM | Integrated Catchment Modeling | Ruby, SQL, Python |
| InfoAsset Manager | Asset Management Platform | Ruby, SQL |
| ICMLive | Real-time Operational Platform | Data Formats, APIs |
| InfoWorks WS Pro | Water Distribution Modeling | Ruby, SQL, VBScript |
| InfoWater Pro | ArcGIS-based Water Modeling | Python Integration |
| XPSWMM | Stormwater & Flooding Analysis | Tutorials, Resources |
- Convert Polygon to Mesh Level Zone - Transform 2D zone definitions
- Calculate Runoff Area Contributions - Automated catchment analysis
- Batch Plot Event Files - Visualize simulation results
- Isolation Trace - Network connectivity analysis
Ruby scripts come in two flavors, each with distinct capabilities:
| Type | Naming | Runs From | Requirements | Best For |
|---|---|---|---|---|
| UI Scripts | UI_script.rb |
Workgroup Client GUI | Standard license | Quick automation, interactive tasks |
| Exchange Scripts | EX_script.rb |
Command line via IExchange.exe |
Exchange license | Batch processing, headless automation |
Use this template .bat file to execute Exchange scripts:
@ECHO OFF
SET script=EX_script.rb
SET version=2021.1
SET bit=64
IF %bit%==32 (SET "path=C:\Program Files (x86)")
IF %bit%==64 (SET "path=C:\Program Files")
"%path%\Innovyze Workgroup Client %version%\IExchange" "%~dp0%script%" ICMCustomize:
script- Your Ruby script filenameversion- Your Workgroup Client versionbit- Architecture (32 or 64)
Autodesk Water products use a specialized SQL dialect for powerful network operations:
Capabilities:
- Select objects based on complex criteria
- Update multiple fields simultaneously
- Chain operations with multiple clauses
- Save as reusable Stored Queries
Query Structure:
SELECT WHERE condition1;
UPDATE SET field = value WHERE condition2;
DESELECT WHERE condition3;We welcome contributions from the water modeling community!
Before opening or reviewing a pull request, please read:
PR_RULES_OF_ENGAGEMENT.md
- Fork this repository
- Create a feature branch (
git checkout -b feature/amazing-script) - Add your script following our naming conventions
- Include a README with description and usage examples
- Submit a Pull Request
Found a bug or have a suggestion? Open an issue - we're here to help!
- Be respectful and constructive
- Document your code clearly
- Test scripts before submitting
- Follow existing patterns and conventions
Join a thriving community of water infrastructure professionals:
- Share knowledge and best practices
- Ask questions and get expert help
- Collaborate on complex modeling challenges
- Learn from real-world implementation examples
Together, let's advance the future of water infrastructure modeling!
Open-Source-Support/
├── 01 InfoWorks ICM/
│ ├── 01 Ruby/
│ ├── 02 SQL/
│ └── 03 Python/
├── 02 InfoAsset Manager/
├── 03 ICMLive/
├── 04 InfoWorks WS Pro/
│ ├── 01 Ruby/
│ ├── 02 SQL/
│ └── 03 VBScript/
├── 05 InfoWater Pro/
│ └── 01 Python/
└── 06 XPSWMM/
└── 01 Tutorials/
This repository is growing organically with the community. We may occasionally reorganize structure to improve usability. We'll minimize disruption, but please bookmark specific scripts rather than relying on deep links during early development.
- Community-Driven: Scripts are shared in good faith by individual contributors (including Autodesk Support) and the broader community; contributors are not necessarily professional software developers
- Provided "AS IS": Scripts and examples are provided at face value, without warranties or guarantees; see
LICENSE - Limitation of Liability: Autodesk and contributors are not liable for damages or losses arising from use of this repository; see
LICENSE - Use at Own Risk: You are responsible for backups, review, testing, and validation in your environment before using results in production
- No Official Support / SLA: GitHub issues and pull requests are best-effort and are not covered by Autodesk product support obligations or SLAs
- Not for Bespoke Projects: Custom development requests should go through official Autodesk channels
Scripts are typically developed for specific customer use cases. While functional, they may not be fully optimized. We encourage the community to:
- Suggest improvements via pull requests
- Report issues for enhancement
- Add documentation and examples
- Share your own optimizations
This repository is licensed under the MIT License.
Autodesk and related product names are trademarks of Autodesk, Inc. The license does not grant permission to use Autodesk trademarks.
Curious about repository activity? Check out our live analytics dashboard to see:
- Traffic trends and growth
- Community engagement metrics
- Historical data and patterns
- Popular content insights
Made with 💙 by the Autodesk Water community
View Dashboard • Report Issue • Exchange Docs
Star this repo if you find it helpful! ⭐