{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# PySketcher Reference Notebook"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib widget"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from pysketcher import *"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"from ipywidgets import Dropdown,AppLayout,Output,VBox"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"from IPython.display import HTML, SVG, display, clear_output"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"selector = Dropdown(\n",
" options=[('Circle', 1), ('Rectangle', 2), ('Line', 3)],\n",
" value=2,\n",
" description='Number:',\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"drawing_tool.set_coordinate_system(xmin=-10, xmax=10,\n",
" ymin=-10, ymax=10,\n",
" axis=True)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"output = Output()\n",
"explain = Output()\n",
"applayout = AppLayout(\n",
" center=output,\n",
" footer=VBox([selector,explain]),\n",
" pane_heights=[0, 6, 1]\n",
")\n",
"with output:\n",
" clear_output()\n",
" display(drawing_tool.mpl.gcf().canvas)\n",
"def selector_eventhandler(change):\n",
" #print(change.new)\n",
" drawing_tool.erase()\n",
" if change.new == 1:\n",
" circle = Circle(point(0,0),5)\n",
" circle.draw()\n",
" with explain:\n",
" clear_output()\n",
" display(f\"Circle(point(0,0),5)\")\n",
" elif change.new == 2:\n",
" L = 8\n",
" h = 5\n",
" p = point(-(L/2),-(h/2))\n",
" rectangle = Rectangle(p,L,h)\n",
" rectangle.draw()\n",
" with explain:\n",
" clear_output()\n",
" display(f\"L={L},h={h}, p=point(-(L/2),-(h/2)), Rectangle(p,L,h)\")\n",
" elif change.new == 3:\n",
" A = point(-5,-5)\n",
" B = point(5,5)\n",
" line = Line(A,B)\n",
" line.draw()\n",
" with explain:\n",
" clear_output()\n",
" display(f\"A = point(-5,-5), B = point(5,5), line = Line(A,B) \")\n",
" \n",
" drawing_tool.display()\n",
" \n",
"selector.observe(selector_eventhandler, names='value')"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7576850f96bc461a98f4acd7fcae2419",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"AppLayout(children=(VBox(children=(Dropdown(description='Number:', index=1, options=(('Circle', 1), ('Rectangl…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"applayout"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
""
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"display(SVG(sketch2SVG()))"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAdfElEQVR4nO3dvVIja37A4T9bp4oMBM5sz7qqT/kGAF2AjYicwiUME3sDKCLXRCrmDmBCJz6F7mA0V8DQ4WbqLe9EDowabaRk5WB2ZD7Et5DU/T5PFVV088K89HQ1P/pDLI1Go1EAAJCM3817AgAAzJYABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEjML/OeAC+T53m8f/8+Li4ubqwviiI6nU5kWRZFUcT+/n40Go2JX+M5YwGA+lgajUajeU+C5/kZbZubm3H7v29zc3MchUVRxOHhYZydnU38Os8ZCwDUhzOAFbS7uztxfVEUN5azLItut/vqsQBAvbgHsEa63W6sr6/fWLe+vh55nr9qLABQLwKwRsqynLj+8vLyVWMBgHpxCTgB98Xec8YOh8MYDofj5b/+9a9xeXkZf/d3fxdLS0uvnCEAszYajeIvf/lL/P3f/3387nfOB6VGANZIo9G4cwbv8vJy4pO9zxkbEdFut+Pjx4/TmioAC+L79+/xj//4j/OeBjPmKeAKW1pauvEUcFEUsbe3d+OlYdbW1uJPf/rTnbB7ztiIu2cAr66u4ve//318//49VlZWpvdNATATg8Eg3r17F2VZxurq6rynw4w5A1hxZVmOgy3LshsfK4oitra2xh/P8zwajUZkWfbo2NuWl5djeXn5zvqVlRUBCFBhbuNJkwCsoG63G1++fImIiMPDw9jZ2Rm/NMzZ2VkcHh5Gs9mM8/PzG6/r1263o9lsxsHBwaNjAYD6cgmYFxkMBrG6uhpXV1fOAAJUkON42jz2AwCQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgB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PebKsozLy8sHL+uWZRmdTiciIs7Pzx+8DDwcDmM4HI6XB4PBdCYNAMycAKypdrsdR0dHD47Z398fR2OWZbGzsxO9Xu/er/fx48dpTxMAmIOl0Wg0mvckeNjp6em9YRYRsbOzE61Wa7xclmVsb2/HxcXFg183z/PY2NgYf87a2lr0er2JZwEnnQF89+5dXF1dxcrKynO/JQDmbDAYxOrqquN4opwBrID9/f1njf/27dujY/I8j+3t7fFDID+tr69PHL+8vBzLy8vPmgcAsJi8DEwN5Xk+MeTyPI+iKCLixyXf4+Pj8ce63W7s7u56KAQAEuAMYE1Nuozbbrej2WzGwcFBNBqN2NraitPT04iI6PV6cXZ2NutpAgBz4B5AXsS9IwDV5jieNpeAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABLzy7wnwMvkeR7v37+Pi4uLG+uLoohOpxNZlkVRFLG/vx+NRmPi13jOWACgPgRgBf2MtjzP73xsb29vHIVFUcT79+/j7Oxs4td5zlgAoD4EYAXt7u5OXF8UxY3lLMui2+2+eiwAUC/uAayRbrcb6+vrN9atr69PPFP4nLEAQL04A1gjZVlOXH95efmqsRERw+EwhsPhePnq6ioiIgaDwfMmCcBC+Hn8Ho1Gc54J8yAAE3Bf7D1nbLvdjo8fP95Z/+7duxfOCoBF8L//+7+xuro672kwYwJwQZyenkav17v34zs7O9FqtR78Go1G484ZvMvLy4lP9j5nbETE0dFR/OEPfxgvl2UZ//RP/xR//vOfK3XgGAwG8e7du/j+/XusrKzMezrPUtW5m/dsmffsVXXuV1dX8fvf//7O7UCkQQAuiP39/Vd/jVarFScnJ3fWb21tvWpsRMTy8nIsLy/fWb+6ulqpA95PKysrlZx3RHXnbt6zZd6zV9W5/+53HgdIkf/1irt+yTbLshsfK4oitra2xmf18jwfP/372FgAoL6cAaygbrcbX758iYiIw8PD2NnZGb80zNnZWRweHkaz2Yzz8/Mbr+vXbrej2WzGwcHBo2MBgPoSgBXUarWi1WrF8fHxnY9lWTZef/v1Am8H3kNjH7O8vBz/8R//MfGy8CKr6rwjqjt3854t8569qs69qvNmOpZGnv8GAEiKewABABIjAAEAEiMAAQAS4yEQniTP83j//n1cXFzcWF8URXQ6nciyLIqiiP39/XtfSuY5Y6et0+mMX0j7sX/z599D3tjYiKIooizL2NjYeOspvnou89y+k+R5Ht1uNyIizs/P4/Pnz/fOZ17bvCr7721V2Lb3qeo+XaVjSNWP18zICB5xdnY2uri4GE3aXTY2Nsbv93q90e7u7r1f5zljpy0i7rwdHx9PHLu/vz8e02q1Rv1+f2bzfM1c5rl9J7m+fY+Pj2/M77Z5bfOq7L+3VWHbTmM+i7TNq3IMqcPxmtkQgDzZ7QNKr9e784On0WhM/NznjJ22fr8/Ojs7u7HuvgP3aDQanZycjPr9/tx/UD5nLvPcvpN8+fLlxr/f6/VGETHq9XoTx89jm1dl/72tCtv2IVXcp6t4DKnq8ZrZcQ8gL9btdu/8Dcn19fXx5Y+Xjn0L11/nsNPpPPq6h41GY2EudzxlLvPevre1Wq34/PnzePnnX6x56G+OznqbV2n/va4K2/YxVdynq3wMiaju/s7bcQ8gL3b9z9Bdd3l5+aqx03b9IFyWZVxeXt75U3jXlWUZnU4nIn7cX/Xhw4cHx7+lp85lntv3Ptd/QP7222/RarXu/YE4j21elf13kkXftg+p4j5d5WPI9TlNUoX9nbchAJm6+w4erx07De12O46Ojh4cc/1m5yzLYmdnJ3q93gxmN/25zHr73jeHbrcbX79+vXfMIm3zRd5/J/37Vdq205jPvLd51Y4hj6nS/s50CcBEnZ6ePnhA2tnZGT/xdp9Go3HnN8LLy8uJZyKeM/apnvs9/PxhOelP6F1XFMX4ib2fT8AVRTG13+CfM++nzuUttu9r5/7T4eFhfP369cG5vPU2n2Te++80LOq2fcii7dPPsSjHkJeow/7OlM37JkSq4/buct+NwpNufH7O2Lfy5cuXB5+WHI1Go4uLixs3O/f7/VFEzOVm7ufMZRG27yTHx8fjhxPuuyl+Xtu8avvvbYu8be9T9X26SseQqh+veXseAuFZrl8CuP3bbFEUsbW1Nf4tMc/zKIriSWNnIc/ziTfK357n9d/uu91u7O7uzuU338fmsmjb97ZOpxMbGxuRZVmUZRmnp6f3zn0e27xq++91i75t71P1fbpqx5AqH695e0uj0Wg070mw2Lrdbnz58iU+ffoU+/v7sbOzM74JvSiKODk5iWazGefn53F0dDQ+SOzt7UWz2YyDg4NHx87Cp0+fotfrxcnJyY31t+eZ53l8+/YtIiJ6vd6jl3ve0kNzWbTte11RFPHrr7/eWNdoNKLf70fE4mzzKu2/1+dchW17n6ru0xHVOIbU5XjN2xOAAACJcQkYACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDH/B7/PWKz6sn9KAAAAAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sketch2PNG()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"head = \"\"\"\\\n",
"libraries: [\"from math import tan, radians, sin, cos\",\"from pysketcher import *\"]\n",
"\"\"\"\n",
"myfig={}\n",
"sketchParse(head,myfig)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"line=\"\"\"\n",
"A: point(-5,-5)\n",
"B: point(5,5)\n",
"line: Line(A,B)\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"drawing_tool.erase()\n",
"sketchParse(line,myfig)\n",
"# replace 'object' by the actual one\n",
"d = myfig['line'].draw() \n",
"drawing_tool.display()"
]
},
{
"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.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}