Featuresoverview
Nodes
Nodes are graphical objects that can be arranged in a diagram page. They nodes can be added to the diagram page either programmatically or during run time by dragging them from a built-in symbol palette.
Node shapes can be set to any of the predefined shapes provided. You can also design these shapes using a symbol designer utility (part of the Essential Diagram install). Nodes can be grouped together and common operations can be performed on them.
feature image
Shapes in a Diagram
The Diagram control lets you create nodes embedded with any Windows Forms control. You can move nodes around just like any other node and double-click them to activate the controls inside. It also provides editable text nodes and rich-text nodes.
feature image
Custom Nodes in a Diagram
Connection Ports
A connection port is an object used to establish a connection between a node and a connector. A connection port can be placed anywhere within a node or at the edge of a node. You can choose one of the predefined symbols like arrow, circle, or diamond, or define a custom connection port. The look and feel of these connection ports is fully customizable.
feature image
Different Visual Appearances for Ports
Connectors
Connectors are objects used to create a link between diagram nodes. Essential Diagram offers built-in support for automatic line routing and line bridging for connectors. The line routing functionality uses a highly optimized routing strategy to automatically route orthogonal connectors around existing diagram nodes. The line bridging feature creates a bridge for connectors to smartly cross over other connectors at points of intersection. Bridge styles such as arc and square are also available for connectors in a diagram.
feature image
End-Point Decorators in Diagram
feature image
Diagram with Line Routing and Bridging
Appearance
Several customizable options are provided to change the look and feel of different portions of a diagram, thus enabling the creation of professional-looking diagrams that reflect style patterns commonly used in business. Essential Diagram provides options to fully customize the look and feel of nodes, connectors, and connection ports.
feature image
Styling Properties for Custom Nodes
feature image
Diagram with Different Connector Styles Defined
feature image
Diagram Nodes with Various Shadow Styles
Layout Manager
Essential Diagram provides a layout manager that automatically arranges nodes. Directed Tree Layout—Arranges nodes in a tree-like structure.Hierarchical Tree Layout—Arranges nodes in a tree-like structure. However, unlike the directed tree layout, the nodes in a hierarchical layout may have multiple parents.Organization Chart Layout—Arranges all the nodes in a parent-child relationship with the new organizational line connector, which connects nodes to get an organization-layout appearance.Radial Tree Layout—A specialized type of tree layout that arranges nodes in a circular layout.Symmetric Tree Layout—Arranges nodes in a symmetric fashion based on the vertical input distance, which specifies the distance between the adjacent nodes.Table Layout—Arranges nodes in a tabular structure.Custom Layout—You can provide your own layout management routines for the diagram.
feature image
Diagram with Top-to-Bottom Vertical Tree Layout
feature image
Diagram with Hierarchical Layout
feature image
Organization Chart Layout—Waterfall Type
feature image
Diagram with Radial Tree Layout
feature image
Diagram with Symmetric Layout
feature image
Diagram with Table-Tree Layout
feature image
Diagram with Custom Layout
Layers
A layer organizes graphical objects into groups that share a common set of default properties, and most importantly, a z-order. You can add any number of layers to a diagram and move objects between layers.
feature image
Diagram with Three Layers
Diagram Page
The diagram surface on which all the nodes are rendered is fully customizable. The drawing area of Essential Diagram can be rendered with horizontal and vertical gridlines. You can enable horizontal and vertical rulers to indicate the coordinates of the mouse pointer position with respect to the view. On zooming and panning, these rulers are adjusted to point to the exact coordinates.
feature image
Diagram in Grid View
feature image
Rulers in Essential Diagram
User Interactions
Essential Diagram comes with advanced user-interface features, such as zoom, pan, and rulers, to provide end users with a rich visualization experience.
feature image
Diagram With Zoom Tool
feature image
Essential Diagram Redo
Diagram Builder
Essential Diagram can be used to create a rich, Visio-like diagram builder application. This framework provides many utility controls to help you put such an application together very easily. You can provide your end users with a symbol palette, which is a large collection of predefined nodes and connectors. It allows nodes and line connectors to be dragged onto a diagram page, making them easier to manage. Custom symbols can also be added to the symbol palette. You can choose to hide the labels for the nodes in the palette.
feature image
Diagram with Symbol Palette
Formatting and Customization
The comprehensive set of editing tools provided by Essential Diagram allows users to work interactively with the Diagram control for diagram-building applications. Besides the built-in tools, custom tools can be defined and added to the diagram controller to provide custom functionalities.
feature image
Different Node Alignments
feature image
Selecting a Group in a Diagram
feature image
Various Diagram Layouts
Scripting
Essential Diagram is integrated with the Essential Scripting Library to support diagram creation with scriptable interactivity. This framework also provides enhanced design-time support through a rich user interface for creating and editing scripts. The scripting feature allows end users to define behaviors for diagram entities at run time using one of the supported scripting languages. The scripting languages currently supported are C#, Visual Basic .NET, and JScript .NET.
feature image
Drag-and-Drop Through Scripting
Flexible Architecture
Essential Diagram is designed to be a high-performance, modular, easy-to-use and easy-to-customize engine. Many of the classes and components in the library can be sub-classed, providing users the ability to extend and customize the library to meet their needs. Essential Diagram employs a model-view-controller (MVC) design to clearly separate data, presentation, and user interaction.
feature image
Model-View-Controller Architecture for Essential Diagram
Export Options
Essential Diagram lets users export diagrams to a variety of data formats such as bitmaps, enhanced metafiles, and SVG files. Alternatively, with a license of Essential PDF, diagrams can be exported as PDF documents as well. Diagrams can be directly saved as bitmaps, or rendered to an external graphics device interface to write out an enhanced metafile image.
feature image
Bitmap Image of a Diagram Displayed in Picture Viewer
Serialization
The Diagram class contains methods for loading and saving files in both binary and SOAP formats that are supported by the .NET serialization framework. It also supports serialization and deserialization of diagram (.edd) files and symbol palette (.edp) files.
feature image
Diagram Serialized to SOAP Format
::adCenter::