Skip to main content

DIQ_DrawingRevision

Last updated 19/02/2026

Purpose

The

DIQ_DrawingRevision
type represents a specific revision of a drawing file within a project revision in DimensionIQ.

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

DIQ_DrawingRevision
enables:

  • 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

DIQ_DrawingRevision
type exists to:

  • 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.

DIQ_DrawingRevision
provides that contract.

Properties

PropertiesTypeRequiredDescription
key
string
YesUnique identifier for the drawing revision, used for referencing and persistence
drawingFolderKey
string
YesIdentifies the parent drawing folder this belonged to
revisionKey
string
YesReferences the
DIQ_Revision
that this drawing is associated with
name
string
YesDisplay name of the drawing revision shown in the UI
filename
string
YesOriginal filename of the drawing file
loaderType
string
YesIdentifies the loader responsible for interpreting the drawing (eg, PDF loader, CAD loader)
loaderVersion
string
YesSpecifies the loader version used to process the drawing
drawingType
string
YesLogical classification of the drawing (eg, architectural, structural, electrical)
stream
string
YesEncoded drawing file data supplied to the widget for rendering and processing
streamChecksum
string
YesIntegrity checksum used to validate the stream content
notes
string
NoOptional descriptive notes related to this drawing revision

Behavioral Expectations

Identity and Association
  • key
    must be unique and stable
  • revisionKey
    must reference an existing revision
  • drawingFolderKey
    must reference an existing drawing folder
  • A drawing revision cannot exist independently of a revision context
File Loading
  • loaderType
    determines how the widget interprets the drawing stream
  • loaderVersion
    ensures compatibility between encoded data and the parsing engine
  • Host applications must ensure loader consistency when persisting drawings
Data Integrity
  • stream
    must contain valid encoded drawing data
  • streamChecksum
    must match the provided stream content
  • The widget may validate the checksum before processing the drawing
Display Behavior
  • name
    is the primary user-facing identifier
  • filename
    may be displayed for traceability
  • drawingType
    may influence categorization or filtering within the UI
  • notes
    may be shown in drawing metadata panels

Summary

DIQ_DrawingRevision
defines the structured contract for version-controlled drawing files within DimensionIQ.

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.