JSON Schema for the Quality Control Format#
In the following code block, you can see an exemplary JSON schema of a QCF file, which can be used for the quality control of an additively manufactured object. It defines customizations and requirements. The schema may look different for other processes and application areas.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "JSON schema quality control lotsize 1",
"type": "object",
"properties": {
"$version": {
"type": "string"
},
"quality_control_info": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"cad_model": {
"type": "string"
},
"manufacturing_profile": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"material": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"vendor": {
"type": "string"
},
"weight": {
"type": "string"
},
"material_kind": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"processing_temp": {
"type": "number"
}
},
"required": [
"id",
"name",
"processing_temp"
]
}
},
"required": [
"id",
"name",
"vendor",
"weight",
"material_kind"
]
},
"layer_height": {
"type": "number"
},
"scale_settings": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"z": {
"type": "number"
},
"id": {
"type": "string"
}
},
"required": [
"x",
"y",
"z",
"id"
]
},
"nozzle_diameter": {
"type": "number"
}
},
"required": [
"id",
"material",
"layer_height",
"scale_settings",
"nozzle_diameter"
]
},
"customization": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"content": {
"type": "string"
},
"position": {
"type": "array",
"items": {
"type": "number"
}
},
"customization_kind": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
]
}
},
"required": [
"id",
"content",
"position",
"customization_kind"
]
}
},
"scan": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"data": {
"type": "string"
},
"scan_profile": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"unit": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"factor_to_m": {
"type": "number"
}
},
"required": [
"id",
"name",
"factor_to_m"
]
},
"model": {
"type": "string"
},
"vendor": {
"type": "string"
},
"model_no": {
"type": "string"
},
"file_type": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
]
}
},
"required": [
"id",
"unit",
"model",
"vendor",
"model_no",
"file_type"
]
}
},
"required": [
"id",
"data",
"scan_profile"
]
}
},
"requirements": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"tolerance": {
"type": "number"
},
"requirement_type": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"position": {
"type": "array",
"items": {
"type": "number"
}
},
"direction": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"id",
"name",
"position",
"direction"
]
}
},
"required": [
"id",
"tolerance",
"requirement_type"
]
}
}
},
"required": [
"id",
"cad_model",
"manufacturing_profile",
"customization",
"scan",
"requirements"
]
}
},
"required": [
"$version",
"quality_control_info"
]
}