{ "source": "216368.solidworks_evidence_v2.json", "part_id": "216368", "source_status": "complete", "source_self_validation": { "schema": "solidworks.cad_evidence.self_validation.v1", "passed": true, "meaning": "complete reusable extraction; not a claim of backend feature support or 1:1 rebuild", "counts": { "features": 54, "typed_body_features": 5, "direct_semantic_features": 2, "typed_features_requiring_history": 3, "complete_history_features": 3, "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": "凸台-拉伸2", "family": "extrude", "passed": true, "blockers": [] }, { "feature": "凸台-拉伸3", "family": "extrude", "passed": true, "blockers": [] }, { "feature": "凸台-拉伸4", "family": "extrude", "passed": true, "blockers": [] }, { "feature": "切除-拉伸1", "family": "extrude", "passed": true, "blockers": [] } ], "blockers": [] }, "step_inference": { "available": true, "face_count": 42, "surface_counts": { "cylinder": 4, "plane": 38 }, "axis_count": 4, "repeat_spacings_mm": [ { "spacing_mm": 26.0946, "pair_count": 2 } ], "metrics": { "bounding_box_mm": [ -3.6, -21.7, -21.9, 3.6, 21.7, 21.2 ], "volume_mm3": 7020.635415872, "surface_area_mm2": 4383.773286928, "solid_count": 1, "face_count": 42, "edge_count": 108, "vertex_count": 72 }, "error": null, "truth_comparison": { "expected_from_evidence": { "bounding_box_mm": [ -3.6, -21.7, -21.9, 3.6, 21.7, 21.2 ], "volume_mm3": 7020.635415872, "surface_area_mm2": 4383.773286928, "solid_count": 1, "face_count": 41, "edge_count": 104, "vertex_count": 68 }, "comparisons": { "volume_mm3": { "expected": 7020.635415872, "actual": 7020.635415872, "absolute_delta": 0.0, "within_tolerance": true }, "surface_area_mm2": { "expected": 4383.773286928, "actual": 4383.773286928, "absolute_delta": 0.0, "within_tolerance": true }, "bounding_box_mm": { "expected": [ -3.6, -21.7, -21.9, 3.6, 21.7, 21.2 ], "actual": [ -3.6, -21.7, -21.9, 3.6, 21.7, 21.2 ], "max_absolute_delta": 0.0, "within_tolerance": true }, "solid_count": { "expected": 1, "actual": 1, "matches": true }, "face_count": { "expected": 41, "actual": 42, "matches": false }, "edge_count": { "expected": 104, "actual": 108, "matches": false }, "vertex_count": { "expected": 68, "actual": 72, "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_two_sided", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_005", "source_name": "基准面4", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_006", "source_name": "凸台-拉伸2", "atomic_id": "extrude_add_blind", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_007", "source_name": "基准面5", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_008", "source_name": "凸台-拉伸3", "atomic_id": "extrude_add_blind", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_009", "source_name": "基准面6", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_010", "source_name": "基准面7", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_011", "source_name": "凸台-拉伸4", "atomic_id": "extrude_add_two_sided", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_012", "source_name": "切除-拉伸1", "atomic_id": "extrude_cut_blind", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_013", "source_name": "front XY", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_014", "source_name": "front XZ", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_015", "source_name": "front YZ", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_016", "source_name": "front X", "atomic_id": "reference_axis", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_017", "source_name": "front Y", "atomic_id": "reference_axis", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_018", "source_name": "front Z", "atomic_id": "reference_axis", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_019", "source_name": "rear XY", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_020", "source_name": "rear XZ", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_021", "source_name": "rear YZ", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_022", "source_name": "rear X", "atomic_id": "reference_axis", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_023", "source_name": "rear Y", "atomic_id": "reference_axis", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_024", "source_name": "rear Z", "atomic_id": "reference_axis", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_025", "source_name": "screw XY", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_026", "source_name": "screw XZ", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_027", "source_name": "screw YZ", "atomic_id": "reference_plane", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_028", "source_name": "screw X", "atomic_id": "reference_axis", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_029", "source_name": "screw Y", "atomic_id": "reference_axis", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 }, { "feature_id": "f_030", "source_name": "screw Z", "atomic_id": "reference_axis", "execution_status": "deferred", "unresolved": [], "step_inferred_selector_count": 0 } ], "semantic_validation": { "schema_version": "1.1.0", "feature_count": 30, "sketch_count": 9, "deferred_feature_ids": [ "f_001", "f_002", "f_009", "f_010", "f_003", "f_005", "f_007", "f_004", "f_006", "f_008", "f_011", "f_012", "f_013", "f_014", "f_015", "f_016", "f_017", "f_018", "f_019", "f_020", "f_021", "f_022", "f_023", "f_024", "f_025", "f_026", "f_027", "f_028", "f_029", "f_030" ], "unresolved": [], "future_rebuild_ready": true } }