mirror of
https://github.com/gumyr/build123d.git
synced 2025-12-06 02:30:55 -08:00
- Unbreak the three broken tutorials (fixes #848) - This involved a rewrite of PPP-01-10 because I already had my own solution to that one and I couldn't easily tell what was going wrong with the previous solution. - Add assertions to all the tutorials so that non-raising means success - Add the TTT examples to `test_examples.py` added recently for #909 - Also added sympy to development dependencies since one of the TTT examples uses it.
38 lines
891 B
Python
38 lines
891 B
Python
"""
|
|
Too Tall Toby Party Pack 01-05 Paste Sleeve
|
|
"""
|
|
|
|
from build123d import *
|
|
from ocp_vscode import *
|
|
|
|
densa = 7800 / 1e6 # carbon steel density g/mm^3
|
|
densb = 2700 / 1e6 # aluminum alloy
|
|
densc = 1020 / 1e6 # ABS
|
|
|
|
with BuildPart() as p:
|
|
with BuildSketch() as s:
|
|
SlotOverall(45, 38)
|
|
offset(amount=3)
|
|
with BuildSketch(Plane.XY.offset(133 - 30)) as s2:
|
|
SlotOverall(60, 4)
|
|
offset(amount=3)
|
|
loft()
|
|
|
|
with BuildSketch() as s3:
|
|
SlotOverall(45, 38)
|
|
with BuildSketch(Plane.XY.offset(133 - 30)) as s4:
|
|
SlotOverall(60, 4)
|
|
loft(mode=Mode.SUBTRACT)
|
|
|
|
extrude(p.part.faces().sort_by(Axis.Z)[0], amount=30)
|
|
|
|
show(p)
|
|
|
|
|
|
got_mass = p.part.volume*densc
|
|
want_mass = 57.08
|
|
tolerance = 1
|
|
delta = abs(got_mass - want_mass)
|
|
print(f"Mass: {got_mass:0.2f} g")
|
|
assert delta < tolerance, f'{got_mass=}, {want_mass=}, {delta=}, {tolerance=}'
|
|
|