Introduction
Overview
The DIQ types form the core data and interaction model used when integrating and working with DimensionIQ. They define how data is structured, passed, validated, and returned between the host application and the DimensionIQ component.
These types are designed to:
- Standardise communication between the widget and the host
- Represent domain objects (Projects, Drawings, Layouts, Dimensions, etc)
- Provide consistent result handling
- Support validation, persistence, and event-driven workflows
Why DimensionIQ Uses Structured Types
DimensionIQ uses defined DIQ types to create clear, predictable, and scalable integration model between the widget and the host application.
Rather than passing loosely structured data, DimensionIQ relies on explicit types to ensure:
- Consistency
- Reliabilty
- Extensibility
- Clear separation of responsibilites
These types form the contract layer between the measurement engine and the host system.
DimensionIQ uses structured types because they:
- Define the measurement domain clearly
- Provide strong integration contracts
- Support event-driven architecture
- Protect data integrity at scale
- Enable long-term extensibility
- Enforce separation of concerns
- Improve developer experience
The DIQ types are the architectural backbone that allow DimensionIQ to function reliably as a scalable, event-driven measurement system.