Interface
Currently, writing expressions in expression builder is only slightly better than writing code in notepad. The interface could be enhanced similar to Visual Studio with colorized classes, methods, and properties, colorized brackets with path highlighting, etc. Consider the new Python AI Editor in MicroStation 2025, this is much nicer than the current expression builder. Why not have a unified interface for all coding in the Bentley Connect Platform?
Civil/Structural Element Properties
Currently, when writing itemtype expressions in expression builder, only MicroStation element properties are exposed while writing a this.GetElement() expression. However, you can view all of the available civil properties of an OpenRoads Element using the Named Expression tool. Very few users are aware of this. So a great end user experience might look like an organized, searchable library of available civil properties directly in expression builder. Coordination between all OpenX product teams is necessary here to provide a consistent experience to users no matter what OpenX product they are working in.
Unified Spatial Properties
Currently, many spatial properties of elements in the Bentley Connect Platform are inconsistent across products. When Bentley product teams coordinate on producing an organized library of available properties, this is also a great opportunity to remove inconsistent property names across products.
For example, length is a basic spatial property. We would like to write this.GetElement().Length and place it on anything. But this is not currently true. A user might have to use any of the following expressions to read the same value, which can greatly complicate item type expressions. This is also true for areas and volumes.
this.GetElement().Length
this.GetElement().TotalLength
this.GetElement().LinearElement_Length
CivilExpression.Mesh_Length()
this.GetElement().ConstructionLength
this.GetElement().SleeperLength
this.GetElement().BeamSegment_Length
this.GetElement().TubGirderSegment_Length
this.GetElement().PierCap_Length
this.GetElement().PierColumn_Length
this.GetElement().PierPile_PileLength
this.GetElement().WingwallPile_PileLength
this.GetElement().Barrier_Length
this.GetElement().BarLength
| Civil Product Used | OpenSite Designer, OpenRoads Designer, OpenRail Designer, OpenRail Overhead Line Designer , OpenTunnel Designer, OpenBridge Designer, OpenBridge Modeler |