Files
mech-ai/runtime/brep_semantic_bridge/小臂肘关节/mechanical_semantic_graph_contract.json
2026-07-17 17:45:56 +08:00

269 lines
10 KiB
JSON

{
"schema": "mechanical_semantic_graph_v1",
"model_identity": {
"name": "string",
"source_assembly_path": "string",
"likely_equipment_type": "string",
"confidence": 0,
"evidence": [
"component/edge/region/relation ids"
]
},
"nodes": [
{
"id": "node_id",
"type": "part|feature|face_region|interface|process_role|functional_role|missing_or_uncertain",
"semantic_type": "cast_housing|end_cover|machined_register|local_machined_face|surrounding_unmachined_surface|raised_boss|tool_gap|ejector_port|unknown",
"name": "human readable Chinese name",
"source_refs": [
"component names, edge ids, region ids, patch ids, face ids"
],
"confidence": 0,
"evidence": "short explanation grounded in B-rep facts"
}
],
"edges": [
{
"id": "edge_id",
"type": "contacts|fits_with|coaxial_with|contains|adjacent_to|outside_accessible|supports|locates|is_machined_candidate_of|is_cast_candidate_of|has_boundary_step|missing_required_relation",
"from": "node_id",
"to": "node_id",
"source_refs": [
"relation ids or edge/face refs"
],
"confidence": 0,
"evidence": "short explanation grounded in B-rep facts"
}
],
"measurements": [
{
"id": "measurement_id",
"type": "radius|diameter|axial_span|radial_margin|gap_width|step_height|area_ratio|unknown_threshold",
"value": "number or null",
"units": "mm|model_units|unitless|unknown",
"source_refs": [
"dimension ids, cylinder faces, edges, patches"
],
"confidence": 0
}
],
"local_subgraphs": [
{
"id": "subgraph_id",
"pattern_type": "casting_boss_register_interface|machined_unmachined_surface_boundary|sleeve_removal_access|bearing_support|other",
"primary_view": "assembly_contact_fit|disassembly_maintenance_access|drawing_annotation_requirement|feature_pattern|load_strength_stiffness|locating_limit_datum|motion_interference_dof|operation_safety_environment|part_local_shape|surface_role_boundary|system_function_condition|transmission_standard_parameters",
"secondary_views": [
"optional diagnostic view ids"
],
"retrieval_sentence": "neutral Chinese fact sentence for knowledge retrieval; no rule id and no fault judgement words",
"inferred_functions": [
"assembly, locating, support, sealing, machining, maintenance, or motion functions inferred from evidence"
],
"inferred_attributes": [
{
"name": "machined_surface_candidate|unmachined_surface_candidate|locating_face_candidate|contact_face_candidate|tool_access_limited|other",
"value": true,
"confidence": 0,
"reason": "short evidence-grounded reason; no final fault judgement",
"source_image_names": [
"exact image names used for this inference"
],
"source_brep_refs": [
"face/feature/component refs used for this inference"
],
"source_relation_refs": [
"contact/mate/relation refs used for this inference"
]
}
],
"retrieval_fact_tags": [
"stable model-side fact tags aligned with knowledge required_model_facts; no rule ids"
],
"retrieval_relations": [
"human-readable local relations used for retrieval"
],
"image_evidence_names": [
"exact image names or image plan ids that support this local subgraph"
],
"image_observations": [
{
"image_name": "component_contexts/component_13/isometric",
"observation": "what this image shows",
"supports": [
"role or inferred attribute name"
],
"confidence": 0
}
],
"node_ids": [
"node_id"
],
"edge_ids": [
"edge_id"
],
"measurement_ids": [
"measurement_id"
],
"roles": [
"semantic roles grounded by this subgraph"
],
"retrieval_keywords": [
"Chinese and English keywords for knowledge-base retrieval"
],
"confidence": 0,
"evidence": [
"edge/region/patch/component/relation ids"
],
"reason": "why this subgraph is suitable for matching a knowledge chunk"
}
],
"local_semantic_units": [
{
"local_id": "unit_id",
"linked_subgraph_id": "subgraph_id",
"pattern_type": "casting_boss_register_interface|machined_unmachined_surface_boundary|sleeve_removal_access|bearing_support|other",
"primary_view": "same taxonomy id used by the knowledge index",
"secondary_views": [
"optional diagnostic view ids"
],
"retrieval_sentence": "one neutral Chinese fact sentence. This is the primary retrieval unit.",
"retrieval_chain": {
"geometric_fact_for_retrieval": "human-readable geometric fact generalized for retrieval; no coordinates or raw ids",
"mechanical_role": "mechanical role inferred from the geometry, such as internal machined surface, locating boss, contact pad, maintenance opening",
"process_assembly_maintenance_semantics": "manufacturing, assembly, disassembly, maintenance, strength, locating, or motion semantics used for retrieval"
},
"retrieval_semantic_roles": [
"retrieval-only semantic role labels; no raw B-rep ids"
],
"inferred_functions": [
"component or local feature functions inferred for retrieval"
],
"inferred_attributes": [
{
"name": "machined_surface_candidate|unmachined_surface_candidate|locating_face_candidate|contact_face_candidate|tool_access_limited|other",
"value": true,
"confidence": 0,
"reason": "short evidence-grounded reason; no final fault judgement",
"source_image_names": [
"exact image names used for this inference"
],
"source_brep_refs": [
"face/feature/component refs used for this inference"
],
"source_relation_refs": [
"contact/mate/relation refs used for this inference"
]
}
],
"retrieval_fact_tags": [
"through_hole_candidate, entry_face_inclined, small_local_contact_face, surrounding_large_surface, etc."
],
"retrieval_relations": [
"hole enters inclined surface, local contact face is near-coplanar with surrounding surface, etc."
],
"image_evidence_names": [
"exact image names or image plan ids that support this local semantic unit"
],
"image_observations": [
{
"image_name": "component_highlights/component_13/isometric",
"observation": "what this image supports",
"supports": [
"retrieval role, function, or inferred attribute name"
],
"confidence": 0
}
],
"normalized_measurements": [
{
"name": "axis_to_face_angle|step_height|diameter|clearance|area_ratio|other",
"value": null,
"unit": "mm|deg|unitless|unknown",
"confidence": 0
}
],
"fact_bundle": {
"geometry_description_for_judgement": "concrete geometry description used only after retrieval for verification",
"components": [
"component names or node ids"
],
"roles": [
"local semantic roles"
],
"measurements": [
"measurement ids and values if available"
],
"evidence_refs": [
"edge/region/patch/component/relation ids"
],
"uncertainties": [
"missing facts that affect final judgement"
]
},
"dedup_key": "stable key for this local unit"
}
],
"semantic_coverage_audit": {
"purpose": "machine-checkable audit proving local semantic units were split by coverage, not collapsed into a few generic descriptions",
"candidate_anchor_types": [
"part",
"feature",
"interface",
"functional_group"
],
"minimum_rules": [
"Create at least one part-level local unit for every nonstandard component instance whose review_scope is part_design_required.",
"Create feature-level local units for supported holes, hole groups, slots, bosses, ribs, steps, shafts, sleeves, pads, machining candidates, locating/contact faces, and tool-access candidates.",
"Create interface-level local units for supported contacts, fits, coaxial relations, mate relations, support/locating relations, motion pairs, and clearance/accessibility relations.",
"Create functional-group local units for each geometry-derived internal component group or connected mechanism group when evidence supports group-level judgement.",
"Do not merge separate physical locations just because they share the same feature type; do merge repeated equivalent features into one group when they share owner, role, dimensions, and relation signature."
],
"covered_part_component_ids": [
"component ids with at least one local semantic unit"
],
"covered_feature_anchor_ids": [
"feature ids or face-group ids covered by feature-level units"
],
"covered_interface_relation_ids": [
"contact/mate/relation ids covered by interface-level units"
],
"covered_functional_group_ids": [
"internal/component group ids covered by group-level units"
],
"uncovered_candidate_anchors": [
{
"anchor_type": "part|feature|interface|functional_group",
"anchor_id": "id from B-rep evidence",
"reason_not_covered": "standard/context-only component, duplicate equivalent anchor, insufficient evidence, or intentionally excluded"
}
],
"local_unit_count_by_anchor_type": {
"part": 0,
"feature": 0,
"interface": 0,
"functional_group": 0
}
},
"uncertain_roles": [
{
"role": "string",
"candidate_node_ids": [
"node_id"
],
"why_uncertain": "string",
"facts_needed": [
"specific B-rep or metadata facts"
]
}
],
"missing_facts": [
"specific missing facts that prevent reliable diagnosis"
],
"evidence_index": [
{
"ref": "edge/region/patch/component/face/relation id",
"kind": "edge|region|patch|component|face|relation|dimension",
"summary": "what this evidence supports"
}
]
}