main
Drew Owens 0.11.4 source 8889116 1d ago
{
 "id": "cswa-08-tool-block-step4",
 "extends": "cswa-07-tool-block-step3",
 "title": "Official Tool Block, Step 4 (Q6): a pocket 1 mm inside the front face's outline (Offset Entities, sketch regions)",
 "expected": {
  "massG": 432.58,
  "tolerancePct": 1.0
 },
 "keyBasis": "the official key (432.58 g). tools/cswa/SOURCES.md Part 4 read literally: the front face's OUTER loop offset 1 mm in; a 1-mm wall left outside the slot's R41 silhouette (R42); the pocket outside it cut to 12 from the back face (depth 32); the ear inside R41 recessed to 1 mm short of the slot's front wall (depth 7, a 1-mm skin), the \u00d811 left as it is. Predicted 434.72 g, +0.49 % (tools/cswa/tb4c.py's row wall 1 / R41 / no ring / skin 1: areas 581.28 and 936.27 mm\u00b2). tb4c's best case, 432.86 g, cuts the ear through to the slot with a 1-mm ring kept round the \u00d811 instead: the drawing cannot tell the two apart (SOURCES.md ambiguity 4) and both are within the exam's 1 %",
 "prediction": {
  "massG": 434.715,
  "how": "tools/cswa/tb4c.py (wall_out 1, wall_in 0, ring False, skin 1); the regions' areas 581.282 (outside R42) and 936.267 (inside R41) mm\u00b2, the \u00d811 excluded (95.033 mm\u00b2)"
 },
 "exercises": [
  "sketch.offsetEntities.outer",
  "cut.regions",
  "cut.offsetFromSurface",
  "sketch.multiProfile"
 ],
 "simulatorSkips": "Offset Entities of the Tool Block's front face needs SOLIDWORKS' own outline of that face (the simulator knows a face's outline only on a plain block); cswa-08b cuts the same pocket from the explicit inset profile",
 "needsOps": [],
 "scriptAppend": [
  {
   "op": "sketch",
   "face": {
    "atPointMm": [
     70,
     10,
     "=C"
    ]
   },
   "entities": [
    {
     "offsetEntities": {
      "fromFace": {
       "atPointMm": [
        70,
        10,
        "=C"
       ]
      },
      "offsetMm": -1,
      "loops": "outer",
      "chain": true
     }
    },
    {
     "circle": {
      "centerMm": [
       "=xR",
       "=scy"
      ],
      "radiusMm": 42
     }
    }
   ]
  },
  {
   "op": "cut",
   "regionsAtMm": [
    [
     25,
     0
    ]
   ],
   "offsetFromSurface": {
    "face": {
     "atPointMm": [
      30,
      0,
      0
     ]
    },
    "distanceMm": 12
   }
  },
  {
   "op": "sketch",
   "face": {
    "atPointMm": [
     70,
     10,
     "=C"
    ]
   },
   "entities": [
    {
     "offsetEntities": {
      "fromFace": {
       "atPointMm": [
        70,
        10,
        "=C"
       ]
      },
      "offsetMm": -1,
      "loops": "outer",
      "chain": true
     }
    },
    {
     "circle": {
      "centerMm": [
       "=xR",
       "=scy"
      ],
      "radiusMm": 41
     }
    }
   ]
  },
  {
   "op": "cut",
   "regionsAtMm": [
    [
     65,
     15
    ]
   ],
   "offsetFromSurface": {
    "face": {
     "atPointMm": [
      65,
      15,
      36
     ]
    },
    "distanceMm": 1
   }
  }
 ]
}