Expand description
Validation logic for 3MF models
This module contains functions to validate 3MF models according to the 3MF Core Specification requirements. Validation ensures that:
- All object IDs are unique and positive
- Triangle vertex indices reference valid vertices
- Triangles are not degenerate (all three vertices must be distinct)
- Build items reference existing objects
- Material, color group, and base material references are valid
Functions§
- detect_
circular_ components - Detects circular component references using depth-first search
- get_
property_ resource_ size - Gets the size (number of properties) in a property resource group
- validate_
beam_ lattice - Validates beam lattice structures in model objects
- validate_
boolean_ operations - Validates boolean operation shapes and their references
- validate_
build_ references - Validates that all build items reference valid objects
- validate_
color_ formats - Validates color formats in color groups
- validate_
component_ chain - N_XPX_0803_01: Validate no component reference chains across multiple model parts
- validate_
component_ properties - Validates that objects with components don’t have pid/pindex attributes
- validate_
component_ references - Validates that all component references are valid and non-circular
- validate_
displacement_ extension - Validates displacement extension resources and references
- validate_
duplicate_ resource_ ids - Validate that resource IDs are unique within their namespaces
- validate_
duplicate_ uuids - Validates that all UUIDs in the model are unique
- validate_
material_ references - Validates material property group references and uniqueness
- validate_
mesh_ geometry - Validates mesh geometry for all objects in the model
- validate_
mesh_ manifold - Validates that mesh edges are manifold (each edge shared by at most 2 triangles)
- validate_
model - Validate a parsed 3MF model
- validate_
model_ with_ config - Validate a parsed 3MF model with custom extension validation
- validate_
multiproperties_ references - Validate color formats in color groups
- validate_
object_ triangle_ materials - Validates triangle material properties for a specific object
- validate_
planar_ transform - Validate that a transform is planar (no Z-axis rotation or shear)
- validate_
production_ extension - Validates production extension path format and usage
- validate_
production_ extension_ with_ config - Validate production extension requirements with parser configuration
- validate_
production_ paths - Validate displacement extension usage
- validate_
production_ uuids_ required - Validate transform matrices for build items
- validate_
resource_ ordering - Validate resource ordering
- validate_
slice - Validates a single slice’s polygons and vertices
- validate_
slice_ extension - Validate slice extension requirements
- validate_
slices - Validates slice stacks and their slice data
- validate_
texture_ paths - Validate boolean operation references
- validate_
triangle_ properties - Validate triangle property attributes
- validate_
uuid_ formats - Validate UUID format per RFC 4122
- validate_
volumetric_ extension - Validates volumetric extension resources and references