You are currently reviewing an older revision of this page.
Waterobjects.NET is the Application Programming Interface (API) used with Bentley's Hydraulics and Hydrology products, such as WaterCAD and WaterGEMS. It allows users with programming knowledge to extend the functionality of the product to suit their needs. Being .NET Framework based allows support for a number of different programming languages, such as VB, C#, C++, etc (more information on that can be found here and here.)
Waterobjects.NET essentially provides a way to code routines/tools that take the data in a hydraulic model file, manipulate it in some way and either present output in a certain way and/or modify the model data. It is not intended as a way to modify the existing numerical engines or the user interface. Source code for those components are not provided.
Examples of what can be done with Waterobjects.NET are included in the "samples guide". An overview can be seen here:
Note: The current sample models are in the Microsoft Access format. A new set of SQLite samples are currently being tested and will be available soon. If you want access to a Beta version of the SQLite sample files, please contact Bentley Technical Support or post to the Hydraulics and Hydrology forums.
A basic training/overview course is also available on the LEARN.Bentley.com:
To use Waterobjects.NET, you need:
If you have the product already installed (SewerGEMS, WaterGEMS, etc) then you already have access to program with Waterobjects.NET. There is no separate installation file necessary.
However, if you are a member of the Bentley Developer Network (BDN), then you can download the Software Development Kit (SDK) from our website. The Waterobjects.NET SDK includes Programming and Sample guide documents as well as several samples (mostly written in C#). This will help guide you through how to use Waterobjects, though in most cases a high level of programming experience will be necessary as a prerequisite.
More information on BDN:
https://www.bentley.com/en/software-developers
Some benefits of BDN:
http://communities.bentley.com/communities/other_communities/bentley_developer_network/b/bentley_developer_network-blog
Successful use of Waterobjects.NET often requires advanced programming experience and the willingness to take the time to learn the API. If used properly, it can be a powerful tool in extending the product functionality. However, due to the time investment that would typically be required, when considering if Waterobjects.NET is right for you, it's important to ensure that the functionality you desire isn't already available in the product itself. Bentley's Hydraulics and Hydrology products are robust, feature rich and flexible, out of the box. Below are some examples of using product functionality to do things that you might be considering Waterobjects.NET for:
If you need to make a calculation that is a function of one or more input or result fields in the model, you can take advantage of the Formula-derived User Data Extension (UDX) feature. This allows you to create a custom field whose value is based on a formula. This feature is quite flexible and the resulting data can be used like any other model input/output field, in that you can color code on it, annotate, etc. Note that formula UDX operates on information at a given timestep, so it currently cannot be used to aggregate data for multiple timesteps (such as finding the sum, min, max for a particular field across all timesteps). More information on Formula UDX can be found here:
Creating Formula Based User Data Extensions
Let's say for example you want to locate all junctions that are at a dead-end, then convert them all to hydrants. This can be done in the program already, by first using the "dead end junctions" predefined query (accessible from View > Queries or View > Network Navigator) to select the dead end nodes, then select Tools > Batch Morph, click the "selection" option, choose Hydrant as the new node type, then click OK.
In general, support for Waterobjects.NET is provided by way of the community forum (including Bentley developers and other users). For general information on Waterobjects.NET and the Bentley Developer Network, post your question to the BDN forum (available to BDN members.)
For other, technical questions such as how to program something or problems with your tool, use the Hydraulics and Hydrology Community
For consulting services on developing a Waterobjects.NET tool, contact your Bentley Account Manager.
Product TechNotes and FAQs
Haestad Methods Product Tech Notes And FAQs
Hydraulics and Hydrology Forum
Bentley SELECTservices
Bentley LEARN Server