main
Drew Owens 0.11.4 source 8889116 1d ago
{
 "id": "cswa-12-community-up-to-plates",
 "title": "Community: three plates joined by pillars ending up to next, up to a face and 8 short of a face; a drafted boss, a cut up to a face, a drafted pocket",
 "source": "community: built for the bridge's benchmark (no exam publishes it); the key is derived analytically in `derivation`",
 "official": false,
 "units": "MMGS",
 "origin": "three 80 x 50 x 10 plates on Front Plane at z 0, 40 and 80 (+Z), corner at the origin",
 "material": {
  "name": "6061 Alloy",
  "densityKgM3": 2700
 },
 "expected": {
  "massG": 369.687533,
  "volumeMm3": 136921.308673,
  "centerOfMassMm": [
   40.525243,
   24.723219,
   45.869733
  ],
  "tolerancePct": 0.1
 },
 "keyBasis": "derived analytically (derivation): three plates; \u00d812 pillars from z = 10 to the NEXT face (z 40), to 8 short of the top plate's back face (z 72, through the middle plate) and UP TO that face (z 80); a \u00d820 boss 12 high drafted 5\u00b0 inward (a frustum); a \u00d88 hole cut from the top face up to the bottom face (10 of each plate); a 20 x 10 pocket 6 deep drafted 10\u00b0 (area (20-2kt)(10-2kt), k = tan 10\u00b0). Every reading is told apart at 0.1 %: up to next instead of up to the face weighs 2.5 % less, the offset beyond the face instead of short of it 0.66 % more, the boss without its draft 0.28 % more (drafted outward 0.58 %), the pocket without its draft 0.13 % less (outward 0.28 %). Exact: held to 0.1 %",
 "exercises": [
  "extrude.upToNext",
  "extrude.offsetFromSurface",
  "extrude.upToSurface",
  "extrude.draft",
  "cut.upToSurface",
  "cut.draft",
  "sketch.offset.front.positive",
  "sketch.face.front.positive",
  "sketch.face.front.negative"
 ],
 "derivation": [
  [
   "V_plate",
   "80*50*10"
  ],
  [
   "a_p",
   "pi*6**2"
  ],
  [
   "V_A",
   "a_p*(40 - 10)"
  ],
  [
   "V_C1",
   "a_p*(40 - 10)"
  ],
  [
   "V_C2",
   "a_p*((80 - 8) - 50)"
  ],
  [
   "V_B1",
   "a_p*(40 - 10)"
  ],
  [
   "V_B2",
   "a_p*(80 - 50)"
  ],
  [
   "k5",
   "tan(radians(5))"
  ],
  [
   "r_top",
   "10 - 12*k5"
  ],
  [
   "V_boss",
   "pi*12/3*(10**2 + 10*r_top + r_top**2)"
  ],
  [
   "z_boss",
   "90 + 12*(10**2 + 2*10*r_top + 3*r_top**2)/(4*(10**2 + 10*r_top + r_top**2))"
  ],
  [
   "V_hole",
   "pi*4**2*10"
  ],
  [
   "k10",
   "tan(radians(10))"
  ],
  [
   "V_pocket",
   "200*6 - 30*k10*6**2 + 4/3*k10**2*6**3"
  ],
  [
   "z_pocket",
   "(200*6**2/2 - 60*k10*6**3/3 + 4*k10**2*6**4/4)/V_pocket"
  ],
  [
   "volumeMm3",
   "3*V_plate + V_A + V_C1 + V_C2 + V_B1 + V_B2 + V_boss - 3*V_hole - V_pocket"
  ],
  [
   "massG",
   "volumeMm3*2.7e-3"
  ],
  [
   "Mx",
   "3*V_plate*40 + V_A*12 + (V_C1 + V_C2)*68 + (V_B1 + V_B2)*40 + V_boss*40 - 3*V_hole*25 - V_pocket*60"
  ],
  [
   "My",
   "3*V_plate*25 + (V_A + V_C1 + V_C2 + V_B1 + V_B2 + V_boss)*25 - 3*V_hole*40 - V_pocket*40"
  ],
  [
   "Mz",
   "V_plate*(5 + 45 + 85) + V_A*25 + V_C1*25 + V_C2*(50 + 72)/2 + V_B1*25 + V_B2*65 + V_boss*z_boss - V_hole*(5 + 45 + 85) - V_pocket*z_pocket"
  ],
  [
   "centerOfMassMm",
   "[Mx/volumeMm3, My/volumeMm3, Mz/volumeMm3]"
  ]
 ],
 "needsOps": [],
 "script": [
  {
   "op": "new_part"
  },
  {
   "op": "sketch_rect",
   "plane": "Front Plane",
   "xMm": 0,
   "yMm": 0,
   "widthMm": 80,
   "heightMm": 50
  },
  {
   "op": "extrude",
   "depthMm": 10
  },
  {
   "op": "sketch_rect",
   "plane": {
    "offsetFrom": "Front Plane",
    "offsetMm": 40
   },
   "xMm": 0,
   "yMm": 0,
   "widthMm": 80,
   "heightMm": 50
  },
  {
   "op": "extrude",
   "depthMm": 10
  },
  {
   "op": "sketch_rect",
   "plane": {
    "offsetFrom": "Front Plane",
    "offsetMm": 80
   },
   "xMm": 0,
   "yMm": 0,
   "widthMm": 80,
   "heightMm": 50
  },
  {
   "op": "extrude",
   "depthMm": 10
  },
  {
   "op": "sketch_circle",
   "plane": {
    "offsetFrom": "Front Plane",
    "offsetMm": 10
   },
   "centerMm": [
    12,
    25
   ],
   "radiusMm": 6
  },
  {
   "op": "extrude",
   "upToNext": true
  },
  {
   "op": "sketch_circle",
   "plane": {
    "offsetFrom": "Front Plane",
    "offsetMm": 10
   },
   "centerMm": [
    68,
    25
   ],
   "radiusMm": 6
  },
  {
   "op": "extrude",
   "offsetFromSurface": {
    "face": {
     "atPointMm": [
      68,
      25,
      80
     ]
    },
    "distanceMm": 8
   }
  },
  {
   "op": "sketch_circle",
   "plane": {
    "offsetFrom": "Front Plane",
    "offsetMm": 10
   },
   "centerMm": [
    40,
    25
   ],
   "radiusMm": 6
  },
  {
   "op": "extrude",
   "upToSurface": {
    "face": {
     "atPointMm": [
      40,
      25,
      80
     ]
    }
   }
  },
  {
   "op": "sketch_circle",
   "face": {
    "atPointMm": [
     25,
     40,
     90
    ]
   },
   "centerMm": [
    25,
    40
   ],
   "radiusMm": 4
  },
  {
   "op": "cut",
   "upToSurface": {
    "face": {
     "atPointMm": [
      25,
      40,
      0
     ]
    }
   }
  },
  {
   "op": "sketch_rect",
   "face": {
    "atPointMm": [
     60,
     40,
     0
    ]
   },
   "xMm": 60,
   "yMm": 40,
   "widthMm": 20,
   "heightMm": 10,
   "anchor": "center"
  },
  {
   "op": "cut",
   "depthMm": 6,
   "draftDeg": 10
  },
  {
   "op": "sketch_circle",
   "face": {
    "atPointMm": [
     40,
     25,
     90
    ]
   },
   "centerMm": [
    40,
    25
   ],
   "radiusMm": 10
  },
  {
   "op": "extrude",
   "depthMm": 12,
   "draftDeg": 5
  },
  {
   "op": "set_material",
   "name": "6061 Alloy",
   "densityKgM3": 2700
  }
 ]
}