The design was to make these parametric based on their actual sizes. If blocks are used then you would have to have one for each subtle variation of length, thickness, width, color and height. Picking from this list and managing them from project to project would be a pain. By being parametrically defined, you can change the top and bottom elevations without having to create a specific block or stretch blocks. We also felt it was important to properly reflect the actual inside and outside surfaces so the user can see how the pipe interfaces. Parametric works best as these nodes are typically circular or rectangular. Related enhancements would allow us to draw various cone sections at the top.
This also allows them to be drawn relatively fast. Users tend to create blocks that are over defined and can take a long time to draw. Fittings are recommended to be defined as symbols, although they can be as complex as the fire hydrant used in the examples. Headwalls are also symbolic although we allow the user to make them detailed so they are easy to recognize. As they only have an invert elevation the user can make one and scale it to fit multiple size pipes.
The primary workflow is to support utility takeoff with a secondary purpose of conflict visualization. The display of nodes is intended to be schematic to support this workflow and not solids modeling. The user can segregate objects by their naming within the material and site improvement manager, layer and color. It's always a compromise to balance the effort required to create a system, its functionality and the complexity required for the intended use.
tim