{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import cadquery as cq" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from jupyter_cadquery import show, set_defaults, open_viewer, Camera\n", "from jupyter_cadquery.replay import enable_replay, disable_replay, reset_replay, get_context, replay, Replay, _CTX\n", "from ocp_tessellate.convert import to_assembly\n", "\n", "cv = open_viewer(\"Box\", cad_width=780, height=525)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "set_defaults(reset_camera=Camera.RESET, show_parent=False, axes=True, axes0=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Sketch" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "use_replay = True\n", "\n", "if use_replay:\n", " enable_replay(show_bbox=False, warning=False)\n", " reset_replay()\n", " show_object = replay\n", "else:\n", " disable_replay()\n", " show_object = show" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "result = (\n", " cq.Sketch()\n", " .segment((0.,0),(2.,0.))\n", " .segment((0.,2))\n", " .close()\n", " .arc((.6,.6),0.4,0.,360.)\n", " .assemble(tag='face')\n", " .edges('%LINE',tag='face')\n", " .vertices()\n", " .chamfer(0.2)\n", " .reset()\n", ")\n", "r = show_object(result, show_bbox=False)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "result = (\n", " cq.Workplane()\n", " .transformed((0,90,90),(2,0,0))\n", " .box(5,5,1)\n", " .faces('>X')\n", " .sketch()\n", " .regularPolygon(2,3,tag='outer')\n", " .regularPolygon(1.5,3,mode='s')\n", " .vertices(tag='outer')\n", " .fillet(.2)\n", " .reset()\n", " .finalize()\n", " .extrude(0.5)\n", ")\n", "r = show_object(result, show_bbox=True) # , show_result=False)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "result = (cq\n", " .Sketch()\n", " .trapezoid(4, 3, 90)\n", " .vertices()\n", " .circle(0.5, mode='s')\n", " .reset()\n", " .vertices()\n", " .fillet(0.25)\n", " .reset()\n", " .rarray(0.6, 1, 5, 1)\n", " .slot(01.5, 0.4, mode='s', angle=90)\n", " .reset()\n", ")\n", "show_object(result)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "result = (\n", " cq.Workplane()\n", " .box(5,5,1)\n", " .faces('>Z')\n", " .workplane()\n", " .rarray(2,2,2,2)\n", " .rect(1.5,1.5)\n", " .extrude(.5)\n", " .faces('>Z')\n", " .sketch()\n", " .circle(0.4)\n", " .wires()\n", " .distribute(6)\n", " .circle(0.1,mode='a')\n", " .clean()\n", " .finalize()\n", " .cutBlind(-0.5,taper=10)\n", ")\n", "\n", "# show(result,reset_camera=False)\n", "show_object(result, show_bbox=True)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "s = (\n", " cq.Sketch()\n", " .trapezoid(3,1,110)\n", " .vertices()\n", " .fillet(0.2)\n", ")\n", "\n", "result = (\n", " cq.Workplane()\n", " .box(5,5,5)\n", " .faces('>X')\n", " .workplane()\n", " .transformed((0, 0, -90))\n", " .placeSketch(s)\n", " .cutThruAll()\n", ")\n", "\n", "show_object(result, show_bbox=True)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "s1 = (\n", " cq.Sketch()\n", " .trapezoid(3, 1, 110)\n", " .vertices()\n", " .fillet(0.2)\n", " .reset()\n", ")\n", "\n", "s2 = (\n", " cq.Sketch()\n", " .rect(2,1)\n", " .vertices()\n", " .fillet(0.2)\n", " .reset()\n", " .moved(cq.Location(cq.Vector(0, 0, 3)))\n", ")\n", "\n", "result = (\n", " cq.Workplane()\n", " .placeSketch(s1, s2)\n", " .loft()\n", ")\n", "\n", "r = show_object(result, show_bbox=True)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "result = (\n", " cq.Sketch()\n", " .rect(1, 2, mode='c', tag='base')\n", " .vertices(tag='base')\n", " .circle(.7)\n", " .reset()\n", " .edges('|Y', tag='base')\n", " .ellipse(1.2, 1, mode='i')\n", " .reset()\n", " .rect(2, 2, mode='i')\n", " .clean()\n", ")\n", "\n", "r = show_object(result, debug=False)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "a = cq.Sketch().rect(1, 2, mode='c', tag='base')\n", "a._faces" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "result = (\n", " cq.Sketch()\n", " .segment((0,0), (0,3.),\"s1\")\n", " .arc((0.,3.), (1.5,1.5), (0.,0.),\"a1\")\n", " .constrain(\"s1\",\"Fixed\",None)\n", " .constrain(\"s1\", \"a1\",\"Coincident\",None)\n", " .constrain(\"a1\", \"s1\",\"Coincident\",None)\n", " .constrain(\"s1\",'a1', \"Angle\", 45)\n", " .solve()\n", " .assemble()\n", ")\n", "replay(result)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "result = (\n", " cq.Sketch()\n", " .arc((0,0),1.,0.,360.)\n", " .arc((1,1.5),0.5,0.,360.)\n", " .segment((0.,2),(-1,3.))\n", " .hull()\n", ")\n", "replay(result)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "language_info": { "name": "python", "pygments_lexer": "ipython3" }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" } }, "nbformat": 4, "nbformat_minor": 4 }