{ "source": "173306.solidworks_evidence_v2.json", "part_id": "173306", "source_status": "complete_with_blockers", "source_self_validation": { "schema": "solidworks.cad_evidence.self_validation.v1", "passed": false, "meaning": "complete reusable extraction; not a claim of backend feature support or 1:1 rebuild", "counts": { "features": 29, "typed_body_features": 9, "direct_semantic_features": 3, "typed_features_requiring_history": 6, "complete_history_features": 6, "spline_segments": 0, "incomplete_splines": 0, "exact_bcurves": 0, "incomplete_bcurves": 0, "exact_bsurfaces": 0, "incomplete_bsurfaces": 0, "exact_trimmed_faces": 0, "incomplete_trimmed_faces": 0, "missing_exact_geometry_catalog_references": 0, "incomplete_topology_records": 0, "skipped_getter_signatures": 0 }, "feature_contracts": [ { "feature": "凸台-拉伸1", "family": "extrude", "passed": true, "blockers": [] }, { "feature": "切除-拉伸1", "family": "extrude", "passed": true, "blockers": [] }, { "feature": "切除-拉伸2", "family": "extrude", "passed": true, "blockers": [] }, { "feature": "M5 螺纹孔2", "family": "hole", "passed": false, "blockers": [ "hole has no captured semantic selections" ] }, { "feature": "镜向1", "family": "mirror", "passed": true, "blockers": [] }, { "feature": "M5 螺纹孔1", "family": "hole", "passed": false, "blockers": [ "hole has no captured semantic selections" ] }, { "feature": "凸台-拉伸2", "family": "extrude", "passed": true, "blockers": [] }, { "feature": "M5 螺纹孔3", "family": "hole", "passed": false, "blockers": [ "hole has no captured semantic selections" ] }, { "feature": "M4 螺纹孔1", "family": "hole", "passed": false, "blockers": [ "hole has no captured semantic selections" ] } ], "blockers": [ "M5 螺纹孔2: hole has no captured semantic selections", "M5 螺纹孔1: hole has no captured semantic selections", "M5 螺纹孔3: hole has no captured semantic selections", "M4 螺纹孔1: hole has no captured semantic selections" ] }, "step_inference": { "available": true, "face_count": 82, "surface_counts": { "cone": 28, "cylinder": 44, "plane": 10 }, "axis_count": 72, "repeat_spacings_mm": [ { "spacing_mm": 40.0, "pair_count": 18 }, { "spacing_mm": 42.72, "pair_count": 12 }, { "spacing_mm": 80.0, "pair_count": 12 }, { "spacing_mm": 387.0723, "pair_count": 12 }, { "spacing_mm": 15.0, "pair_count": 9 }, { "spacing_mm": 81.3941, "pair_count": 8 }, { "spacing_mm": 385.0, "pair_count": 8 }, { "spacing_mm": 393.2239, "pair_count": 8 }, { "spacing_mm": 256.0, "pair_count": 6 }, { "spacing_mm": 120.0, "pair_count": 6 }, { "spacing_mm": 401.995, "pair_count": 6 }, { "spacing_mm": 135.0592, "pair_count": 6 } ], "metrics": { "bounding_box_mm": [ -80.0, -200.0, -12.0, 80.0, 200.0, 0.0 ], "volume_mm3": 762249.904277268, "surface_area_mm2": 144941.60146684, "solid_count": 1, "face_count": 82, "edge_count": 172, "vertex_count": 110 }, "error": null, "truth_comparison": { "expected_from_evidence": { "bounding_box_mm": [ -80.0, -200.0, -12.0, 80.0, 200.0, 0.0 ], "volume_mm3": 762249.904277268, "surface_area_mm2": 144941.601466839, "solid_count": 1, "face_count": 46, "edge_count": 56, "vertex_count": 22 }, "comparisons": { "volume_mm3": { "expected": 762249.904277268, "actual": 762249.904277268, "absolute_delta": 0.0, "within_tolerance": true }, "surface_area_mm2": { "expected": 144941.601466839, "actual": 144941.60146684, "absolute_delta": 9.89530235528946e-10, "within_tolerance": true }, "bounding_box_mm": { "expected": [ -80.0, -200.0, -12.0, 80.0, 200.0, 0.0 ], "actual": [ -80.0, -200.0, -12.0, 80.0, 200.0, 0.0 ], "max_absolute_delta": 0.0, "within_tolerance": true }, "solid_count": { "expected": 1, "actual": 1, "matches": true }, "face_count": { "expected": 46, "actual": 82, "matches": false }, "edge_count": { "expected": 56, "actual": 172, "matches": false }, "vertex_count": { "expected": 22, "actual": 110, "matches": false } }, "numeric_geometry_match": true, "topology_counts_match": false } }, "features": [ { "feature_id": "f_001", "source_name": "前视基准面", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_002", "source_name": "上视基准面", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_003", "source_name": "右视基准面", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_004", "source_name": "凸台-拉伸1", "atomic_id": "extrude_add_blind", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_005", "source_name": "切除-拉伸1", "atomic_id": "extrude_cut_blind", "execution_status": "supported", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_006", "source_name": "切除-拉伸2", "atomic_id": "extrude_cut_blind", "execution_status": "supported", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_007", "source_name": "M5 螺纹孔2", "atomic_id": "hole_wizard", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 1 }, { "feature_id": "f_008", "source_name": "镜向1", "atomic_id": "pattern_mirror", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_009", "source_name": "M5 螺纹孔1", "atomic_id": "hole_wizard", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 1 }, { "feature_id": "f_010", "source_name": "凸台-拉伸2", "atomic_id": "extrude_add_blind", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_011", "source_name": "M5 螺纹孔3", "atomic_id": "hole_wizard", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 1 }, { "feature_id": "f_012", "source_name": "M4 螺纹孔1", "atomic_id": "hole_wizard", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 1 } ], "semantic_validation": { "schema_version": "1.1.0", "feature_count": 12, "sketch_count": 4, "deferred_feature_ids": [ "f_001", "f_002", "f_004", "f_003", "f_007", "f_009", "f_010", "f_011", "f_012", "f_008" ], "unresolved": [], "future_rebuild_ready": true } }