299 lines
6.9 KiB
JSON
299 lines
6.9 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://cad-agent.local/contracts/solidworks-feature-manager.schema.json",
|
|
"title": "SolidWorks FeatureManager style feature_tree.json",
|
|
"type": "object",
|
|
"required": [
|
|
"schema_version",
|
|
"tree_kind",
|
|
"model",
|
|
"source",
|
|
"feature_manager",
|
|
"rebuild_contract",
|
|
"validation"
|
|
],
|
|
"properties": {
|
|
"schema_version": {
|
|
"const": "1.0"
|
|
},
|
|
"tree_kind": {
|
|
"const": "solidworks_feature_manager"
|
|
},
|
|
"model": {
|
|
"type": "object",
|
|
"required": ["model_id", "units", "document_type"],
|
|
"properties": {
|
|
"model_id": {},
|
|
"family": {},
|
|
"units": {
|
|
"type": "string"
|
|
},
|
|
"document_type": {
|
|
"const": "part"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"required": [
|
|
"authority",
|
|
"reconstruction_mode",
|
|
"history_kind",
|
|
"claims_original_solidworks_history"
|
|
],
|
|
"properties": {
|
|
"authority": {
|
|
"const": "designir-3.0"
|
|
},
|
|
"designir_path": {},
|
|
"step_path": {},
|
|
"parameters_path": {},
|
|
"reconstruction_mode": {},
|
|
"history_kind": {
|
|
"enum": [
|
|
"authored_semantic",
|
|
"hybrid_semantic_surface",
|
|
"inferred_from_step",
|
|
"unknown"
|
|
]
|
|
},
|
|
"backend": {},
|
|
"claims_original_solidworks_history": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"feature_manager": {
|
|
"type": "object",
|
|
"required": ["root_id", "standard_root", "nodes"],
|
|
"properties": {
|
|
"root_id": {
|
|
"type": "string"
|
|
},
|
|
"standard_root": {
|
|
"type": "object"
|
|
},
|
|
"nodes": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"$ref": "#/$defs/node"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"rebuild_contract": {
|
|
"type": "object",
|
|
"required": ["kind", "entrypoint"],
|
|
"properties": {
|
|
"kind": {
|
|
"enum": ["feature_manager_native", "surfaceir_imported_feature"]
|
|
},
|
|
"entrypoint": {
|
|
"type": "string"
|
|
},
|
|
"backend": {},
|
|
"payload_node": {
|
|
"type": "string"
|
|
},
|
|
"payload_encoding": {
|
|
"const": "gzip+base64+json"
|
|
},
|
|
"payload_sha256": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"validation": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"$defs": {
|
|
"node": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"order",
|
|
"solidworks_type",
|
|
"display_name",
|
|
"english_name",
|
|
"children",
|
|
"inputs",
|
|
"parameters",
|
|
"definition",
|
|
"dimensions",
|
|
"references",
|
|
"selection_sets",
|
|
"operation_spec",
|
|
"result",
|
|
"rebuild",
|
|
"provenance",
|
|
"confidence",
|
|
"rebuildable"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"order": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"solidworks_type": {
|
|
"enum": [
|
|
"Part",
|
|
"HistoryFolder",
|
|
"OriginProfileFeature",
|
|
"RefPlane",
|
|
"RefAxis",
|
|
"ProfileFeature",
|
|
"BossExtrude",
|
|
"CutExtrude",
|
|
"Revolve",
|
|
"RevolvedCut",
|
|
"HoleWizard",
|
|
"Fillet",
|
|
"Chamfer",
|
|
"LinearPattern",
|
|
"CircularPattern",
|
|
"MirrorPattern",
|
|
"ImportedFeature",
|
|
"UnsupportedFeature"
|
|
]
|
|
},
|
|
"display_name": {
|
|
"type": "string"
|
|
},
|
|
"english_name": {
|
|
"type": "string"
|
|
},
|
|
"children": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"inputs": {
|
|
"type": "object"
|
|
},
|
|
"parameters": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/parameter"
|
|
}
|
|
},
|
|
"definition": {
|
|
"type": "object"
|
|
},
|
|
"dimensions": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/dimension"
|
|
}
|
|
},
|
|
"references": {
|
|
"type": "object",
|
|
"properties": {
|
|
"parent": {},
|
|
"sketch": {},
|
|
"plane": {},
|
|
"parent_features": {
|
|
"type": "array",
|
|
"items": {"type": "string"}
|
|
},
|
|
"child_features": {
|
|
"type": "array",
|
|
"items": {"type": "string"}
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"selection_sets": {
|
|
"type": "object",
|
|
"properties": {
|
|
"selected_faces": {"type": "array"},
|
|
"selected_edges": {"type": "array"},
|
|
"selected_contours": {"type": "array"}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"operation_spec": {
|
|
"type": "object"
|
|
},
|
|
"result": {
|
|
"type": "object"
|
|
},
|
|
"rebuild": {
|
|
"type": "object",
|
|
"properties": {
|
|
"suppressed": {"type": "boolean"},
|
|
"rollback_order": {"type": "integer"},
|
|
"status": {"type": "string"}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"provenance": {
|
|
"type": "object"
|
|
},
|
|
"confidence": {
|
|
"type": ["number", "null"]
|
|
},
|
|
"rebuildable": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"dimension": {
|
|
"type": "object",
|
|
"required": ["id", "name", "display_name"],
|
|
"properties": {
|
|
"id": {"type": "string"},
|
|
"name": {"type": "string"},
|
|
"display_name": {"type": "string"},
|
|
"value": {},
|
|
"default_value": {},
|
|
"unit": {},
|
|
"parameter_binding": {},
|
|
"driven": {"type": "boolean"}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"parameter": {
|
|
"type": "object",
|
|
"required": ["id", "name", "display_name", "binding_id"],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"display_name": {
|
|
"type": "string"
|
|
},
|
|
"value": {},
|
|
"default_value": {},
|
|
"unit": {},
|
|
"binding_id": {
|
|
"type": "string"
|
|
},
|
|
"editable": {
|
|
"type": "boolean"
|
|
},
|
|
"edit_state": {},
|
|
"source_pointer": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|