From f15729f5ad18e4774ec6984d6edac1199edb06df Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 15 Oct 2019 20:44:53 -0700 Subject: [PATCH] NEW: shaker plate model (#1) --- shaker_plate.stl | Bin 0 -> 167584 bytes src/shaker_plate.ipynb | 89 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 shaker_plate.stl create mode 100644 src/shaker_plate.ipynb diff --git a/shaker_plate.stl b/shaker_plate.stl new file mode 100644 index 0000000000000000000000000000000000000000..f81ceec14e41175f4e1a1d7785b42e1b6ec34ad3 GIT binary patch literal 167584 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�!}=SH?Wz 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 literal 0 HcmV?d00001 diff --git a/src/shaker_plate.ipynb b/src/shaker_plate.ipynb new file mode 100644 index 0000000..d16e5ac --- /dev/null +++ b/src/shaker_plate.ipynb @@ -0,0 +1,89 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import math\n", + "\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = plt.subplots()\n", + "plt.xlim(-5, 150)\n", + "plt.ylim(-5, 150)\n", + "ax.set_aspect(1)\n", + "\n", + "cx, cy, r1, r2, r3, rh, rp = 72.5, 72.5, 72.5, 63.5, 50.0, 6.0, 4.5\n", + "\n", + "ax.add_artist(plt.Circle((cx, cy), r1, color='red'))\n", + "print('tube coords (lower left)')\n", + "for angle in np.arange(0, math.pi*2, math.pi/12):\n", + " x = (r2 * math.cos(angle)) + cx\n", + " y = (r2 * math.sin(angle)) + cy\n", + " print(round(x - rh, 1), round(y - rh, 1))\n", + " ax.add_artist(plt.Circle((x, y), rh, color='black'))\n", + "print('###')\n", + "print('post coords (lower left)')\n", + "for angle in np.arange(0, math.pi*2, math.pi*2/3):\n", + " x = (r3 * math.cos(angle)) + cx\n", + " y = (r3 * math.sin(angle)) + cy\n", + " print(round(x - rh, 1), round(y - rh, 1))\n", + " ax.add_artist(plt.Circle((x, y), rh, color='white'))\n", + "print('###')\n", + "print('post-hole coords (lower left)')\n", + "for angle in np.arange(0, math.pi*2, math.pi/3):\n", + " x = (r3 * math.cos(angle)) + cx\n", + " y = (r3 * math.sin(angle)) + cy\n", + " print(round(x - rp, 1), round(y - rp, 1))\n", + " ax.add_artist(plt.Circle((x, y), rp, color='black'))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}