mirror of
https://github.com/gumyr/build123d.git
synced 2025-12-06 02:30:55 -08:00
Adding new TTT part 24-SPO-06-Buffer Stand
This commit is contained in:
parent
b3019fc0a6
commit
ef7358e252
5 changed files with 73 additions and 1 deletions
BIN
docs/assets/ttt/ttt-24-SPO-06-Buffer_Stand.png
Normal file
BIN
docs/assets/ttt/ttt-24-SPO-06-Buffer_Stand.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 786 KiB |
50
docs/assets/ttt/ttt-24-SPO-06-Buffer_Stand.py
Normal file
50
docs/assets/ttt/ttt-24-SPO-06-Buffer_Stand.py
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
from build123d import *
|
||||||
|
from ocp_vscode import show
|
||||||
|
|
||||||
|
with BuildPart() as p:
|
||||||
|
with BuildSketch() as xy:
|
||||||
|
with BuildLine():
|
||||||
|
l1 = ThreePointArc((5 / 2, -1.25), (5.5 / 2, 0), (5 / 2, 1.25))
|
||||||
|
Polyline(l1 @ 0, (0, -1.25), (0, 1.25), l1 @ 1)
|
||||||
|
make_face()
|
||||||
|
extrude(amount=4)
|
||||||
|
|
||||||
|
with BuildSketch(Plane.YZ) as yz:
|
||||||
|
Trapezoid(2.5, 4, 90 - 6, align=(Align.CENTER, Align.MIN))
|
||||||
|
_, arc_center, arc_radius = full_round(yz.edges().sort_by(SortBy.LENGTH)[0])
|
||||||
|
extrude(amount=10, mode=Mode.INTERSECT)
|
||||||
|
|
||||||
|
# To avoid OCCT problems, don't attempt to extend the top arc, remove instead
|
||||||
|
with BuildPart(mode=Mode.SUBTRACT) as internals:
|
||||||
|
y = p.edges().filter_by(Axis.X).sort_by(Axis.Z)[-1].center().Z
|
||||||
|
|
||||||
|
with BuildSketch(Plane.YZ.offset(4.25 / 2)) as yz:
|
||||||
|
Trapezoid(2.5, y, 90 - 6, align=(Align.CENTER, Align.MIN))
|
||||||
|
with Locations(arc_center):
|
||||||
|
Circle(arc_radius, mode=Mode.SUBTRACT)
|
||||||
|
extrude(amount=-(4.25 - 3.5) / 2)
|
||||||
|
|
||||||
|
with BuildSketch(Plane.YZ.offset(3.5 / 2)) as yz:
|
||||||
|
Trapezoid(2.5, 4, 90 - 6, align=(Align.CENTER, Align.MIN))
|
||||||
|
extrude(amount=-3.5 / 2)
|
||||||
|
|
||||||
|
with BuildSketch(Plane.XZ.offset(-2)) as xz:
|
||||||
|
with Locations((0, 4)):
|
||||||
|
RectangleRounded(4.25, 7.5, 0.5)
|
||||||
|
extrude(amount=4, mode=Mode.INTERSECT)
|
||||||
|
|
||||||
|
with Locations(p.faces(Select.LAST).filter_by(GeomType.PLANE).sort_by(Axis.Z)[-1]):
|
||||||
|
CounterBoreHole(0.625 / 2, 1.25 / 2, 0.5)
|
||||||
|
|
||||||
|
with BuildSketch(Plane.YZ) as rib:
|
||||||
|
with Locations((0, 0.25)):
|
||||||
|
Trapezoid(0.5, 1, 90 - 8, align=(Align.CENTER, Align.MIN))
|
||||||
|
full_round(rib.edges().sort_by(SortBy.LENGTH)[0])
|
||||||
|
extrude(amount=4.25 / 2)
|
||||||
|
|
||||||
|
mirror(about=Plane.YZ)
|
||||||
|
|
||||||
|
part = scale(p.part, IN)
|
||||||
|
print(f"\npart weight = {part.volume*7800e-6/LB:0.2f} lbs")
|
||||||
|
|
||||||
|
show(p)
|
||||||
BIN
docs/assets/ttt/ttt-24-SPO-06-Buffer_Stand_object.png
Normal file
BIN
docs/assets/ttt/ttt-24-SPO-06-Buffer_Stand_object.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 84 KiB |
|
|
@ -34,7 +34,7 @@ BuildPart and Algebra Part.
|
||||||
+----------------------------------------------+------------------------------------+----+----+----+----+------------------------+
|
+----------------------------------------------+------------------------------------+----+----+----+----+------------------------+
|
||||||
| :func:`~operations_generic.fillet` | Radius Vertex or Edge | | | ✓ | ✓ | :ref:`9 <ex 9>` |
|
| :func:`~operations_generic.fillet` | Radius Vertex or Edge | | | ✓ | ✓ | :ref:`9 <ex 9>` |
|
||||||
+----------------------------------------------+------------------------------------+----+----+----+----+------------------------+
|
+----------------------------------------------+------------------------------------+----+----+----+----+------------------------+
|
||||||
| :func:`~operations_sketch.full_round` | Round-off Face along given Edge | | | ✓ | | |
|
| :func:`~operations_sketch.full_round` | Round-off Face along given Edge | | | ✓ | | :ref:`ttt-24-spo-06` |
|
||||||
+----------------------------------------------+------------------------------------+----+----+----+----+------------------------+
|
+----------------------------------------------+------------------------------------+----+----+----+----+------------------------+
|
||||||
| :func:`~operations_part.loft` | Create 3D Shape from sections | | | | ✓ | :ref:`24 <ex 24>` |
|
| :func:`~operations_part.loft` | Create 3D Shape from sections | | | | ✓ | :ref:`24 <ex 24>` |
|
||||||
+----------------------------------------------+------------------------------------+----+----+----+----+------------------------+
|
+----------------------------------------------+------------------------------------+----+----+----+----+------------------------+
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,11 @@ Feel free to click on the parts below to embark on these engaging challenges.
|
||||||
:link: ttt-23-t-24
|
:link: ttt-23-t-24
|
||||||
:link-type: ref
|
:link-type: ref
|
||||||
|
|
||||||
|
.. grid-item-card:: 24-SPO-06 Buffer Stand
|
||||||
|
:img-top: assets/ttt/ttt-24-SPO-06-Buffer_Stand_object.png
|
||||||
|
:link: ttt-24-spo-06
|
||||||
|
:link-type: ref
|
||||||
|
|
||||||
|
|
||||||
.. _ttt-ppp0101:
|
.. _ttt-ppp0101:
|
||||||
|
|
||||||
|
|
@ -240,3 +245,20 @@ Party Pack 01-10 Light Cap
|
||||||
.. dropdown:: Reference Implementation
|
.. dropdown:: Reference Implementation
|
||||||
|
|
||||||
.. literalinclude:: assets/ttt/ttt-23-t-24-curved_support.py
|
.. literalinclude:: assets/ttt/ttt-23-t-24-curved_support.py
|
||||||
|
|
||||||
|
|
||||||
|
.. _ttt-24-spo-06:
|
||||||
|
|
||||||
|
24-SPO-06 Buffer Stand
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
.. image:: assets/ttt/ttt-24-SPO-06-Buffer_Stand_object.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
.. dropdown:: Object Mass
|
||||||
|
|
||||||
|
3.92 lbs
|
||||||
|
|
||||||
|
.. dropdown:: Reference Implementation
|
||||||
|
|
||||||
|
.. literalinclude:: assets/ttt/ttt-24-SPO-06-Buffer_Stand.py
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue