main
Drew Owens 0.11.4 source 8889116 1d ago
{
 "id": "cswa-11-community-slotted-plate",
 "title": "Community: a plate with two straight slots, a hexagon pocket, a counterbored and a countersunk hole",
 "source": "community: built for the bridge's benchmark (no exam publishes it); the key is derived analytically in `derivation`",
 "official": false,
 "units": "MMGS",
 "origin": "the plate centred on the origin on Top Plane, 120 (X) x 80 (Z) x 12 (Y, up)",
 "material": {
  "name": "6061 Alloy",
  "densityKgM3": 2700
 },
 "expected": {
  "massG": 276.35927,
  "volumeMm3": 102355.285153,
  "centerOfMassMm": [
   1.375325,
   5.907388,
   0.035809
  ],
  "tolerancePct": 0.1
 },
 "keyBasis": "derived analytically (derivation): the plate less two 30 c-c x 10 slots through (centred x -30, z \u00b120), a hexagon pocket (circumradius 12, area 3\u221a3/2\u00b712\u00b2, 5 deep, at x 25), a \u00d88 hole through with a \u00d814 x 4 counterbore at (45, z -25) and a \u00d88 hole through with a \u00d816 x 90\u00b0 countersink (a 4-deep cone frustum, centroid h(R\u00b2+2Rr+3r\u00b2)/(4(R\u00b2+Rr+r\u00b2)) below the top) at (45, z +25). Exact: held to 0.1 %",
 "exercises": [
  "sketch.line",
  "sketch.arc",
  "cut.one.throughAll",
  "cut.one",
  "hole.counterbore",
  "hole.countersink",
  "sketch.face.top.positive"
 ],
 "derivation": [
  [
   "V_plate",
   "120*80*12"
  ],
  [
   "A_slot",
   "30*10 + pi*5**2"
  ],
  [
   "A_hex",
   "3*sqrt(3)/2*12**2"
  ],
  [
   "V_cb_big",
   "pi*7**2*4"
  ],
  [
   "V_cb_small",
   "pi*4**2*(12 - 4)"
  ],
  [
   "h_cs",
   "(16 - 8)/2/tan(radians(90)/2)"
  ],
  [
   "V_cs_cone",
   "pi*h_cs/3*(8**2 + 8*4 + 4**2)"
  ],
  [
   "d_cs_cone",
   "h_cs*(8**2 + 2*8*4 + 3*4**2)/(4*(8**2 + 8*4 + 4**2))"
  ],
  [
   "V_cs_small",
   "pi*4**2*(12 - h_cs)"
  ],
  [
   "V_cb",
   "V_cb_big + V_cb_small"
  ],
  [
   "V_cs",
   "V_cs_cone + V_cs_small"
  ],
  [
   "volumeMm3",
   "V_plate - 2*A_slot*12 - A_hex*5 - V_cb - V_cs"
  ],
  [
   "massG",
   "volumeMm3*2.7e-3"
  ],
  [
   "Mx",
   "-2*A_slot*12*(-30) - A_hex*5*25 - (V_cb + V_cs)*45"
  ],
  [
   "My",
   "V_plate*6 - 2*A_slot*12*6 - A_hex*5*(12 - 5/2) - V_cb_big*(12 - 2) - V_cb_small*(12 - 4)/2 - V_cs_cone*(12 - d_cs_cone) - V_cs_small*(12 - h_cs)/2"
  ],
  [
   "Mz",
   "-V_cb*(-25) - V_cs*25"
  ],
  [
   "centerOfMassMm",
   "[Mx/volumeMm3, My/volumeMm3, Mz/volumeMm3]"
  ]
 ],
 "needsOps": [],
 "script": [
  {
   "op": "new_part"
  },
  {
   "op": "sketch_rect",
   "plane": "Top Plane",
   "widthMm": 120,
   "heightMm": 80,
   "anchor": "center"
  },
  {
   "op": "extrude",
   "depthMm": 12
  },
  {
   "op": "sketch",
   "face": {
    "atPointMm": [
     0,
     12,
     0
    ]
   },
   "entities": [
    {
     "slot": {
      "center": [
       -30,
       20
      ],
      "lengthMm": 30,
      "widthMm": 10
     }
    },
    {
     "slot": {
      "center": [
       -30,
       -20
      ],
      "lengthMm": 30,
      "widthMm": 10
     }
    }
   ]
  },
  {
   "op": "cut",
   "throughAll": true
  },
  {
   "op": "sketch",
   "face": {
    "atPointMm": [
     0,
     12,
     0
    ]
   },
   "entities": [
    {
     "polygon": {
      "center": [
       25,
       0
      ],
      "sides": 6,
      "circumradiusMm": 12
     }
    }
   ]
  },
  {
   "op": "cut",
   "depthMm": 5
  },
  {
   "op": "hole",
   "atMm": [
    45,
    12,
    -25
   ],
   "diameterMm": 8,
   "throughAll": true,
   "counterbore": {
    "diameterMm": 14,
    "depthMm": 4
   }
  },
  {
   "op": "hole",
   "atMm": [
    45,
    12,
    25
   ],
   "diameterMm": 8,
   "throughAll": true,
   "countersink": {
    "diameterMm": 16,
    "angleDeg": 90
   }
  },
  {
   "op": "set_material",
   "name": "6061 Alloy",
   "densityKgM3": 2700
  }
 ]
}