DIQ_DrawingRevision
Purpose
The
It defines the metadata and source information required for the DimensionIQWidget to corectly load, interpret, and associate a drawing file with a particular project revision.
A
- Version controlled drawing updates
- Safe replacement of drawing files without losing historical context
- Loader-specific handling of drawing formats
- Stream-based persistence and validation
This is commonly used when:
- Uploading or replacing a drawing file
- Loading drawing data into the widget
- Persisting drawing metadata
- Associating drawings with a revision
- Performing integrity validation
By standardizing drawing revision structure, DimensionIQ ensures predictable loading behavior and consistent version tracking.
Why This Type Exists
Drawings frequently change throughout a project lifecycle. Updated PDFs, CAD exports, or revised plans must be stored independently while maintaining traceability.
The
- Decouple drawing files from project revisions
- Provide structured metadata for file loading
- Enable loader-specific parsing logic
- Maintain file integrity validation
- Support historical comparison between drawing versions
Because file storage, streaming, and checksum validation are typically handled by the host application, the widget requires a structured contract that clearly defines how drawing data is supplied and verified.
Properties
| Properties | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Unique identifier for the drawing revision, used for referencing and persistence |
drawingFolderKey | string | Yes | Identifies the parent drawing folder this belonged to |
revisionKey | string | Yes | References the DIQ_Revision that this drawing is associated with |
name | string | Yes | Display name of the drawing revision shown in the UI |
filename | string | Yes | Original filename of the drawing file |
loaderType | string | Yes | Identifies the loader responsible for interpreting the drawing (eg, PDF loader, CAD loader) |
loaderVersion | string | Yes | Specifies the loader version used to process the drawing |
drawingType | string | Yes | Logical classification of the drawing (eg, architectural, structural, electrical) |
stream | string | Yes | Encoded drawing file data supplied to the widget for rendering and processing |
streamChecksum | string | Yes | Integrity checksum used to validate the stream content |
notes | string | No | Optional descriptive notes related to this drawing revision |
Behavioral Expectations
Identity and Association- keymust be unique and stable
- revisionKeymust reference an existing revision
- drawingFolderKeymust reference an existing drawing folder
- A drawing revision cannot exist independently of a revision context
- loaderTypedetermines how the widget interprets the drawing stream
- loaderVersionensures compatibility between encoded data and the parsing engine
- Host applications must ensure loader consistency when persisting drawings
- streammust contain valid encoded drawing data
- streamChecksummust match the provided stream content
- The widget may validate the checksum before processing the drawing
- nameis the primary user-facing identifier
- filenamemay be displayed for traceability
- drawingTypemay influence categorization or filtering within the UI
- notesmay be shown in drawing metadata panels
Summary
It ensures that the drawing data is securely associated with project revisions, reliably loaded through versioned loaders, and validated for integrity before processing.
By separating drawing versions from project and revision structures, DimensionIQ provides safe, traceable, and predictable drawing lifecycle management host integrations.