{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "0a626b10-f8c1-4fa1-a186-71d6f989e162", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Overwriting auto display for cadquery Workplane and Shape\n", "Overwriting auto display for build123d BuildPart, BuildSketch, BuildLine, ShapeList\n" ] } ], "source": [ "from build123d import *\n", "\n", "from jupyter_cadquery import show, show_all,open_viewer, show_clear\n", "\n", "from hinge import Hinge\n", "\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "67a54d02-2fd4-4f9a-8391-64e8617a5aef", "metadata": {}, "outputs": [], "source": [ "#cv = open_viewer(\"Build123d\", anchor=\"split-bottom\")" ] }, { "cell_type": "code", "execution_count": 3, "id": "cd726fcd-9dea-4a0d-9710-519b45a58f88", "metadata": {}, "outputs": [], "source": [ "cv = open_viewer(\"Build123d\", anchor=\"right\")" ] }, { "cell_type": "code", "execution_count": 33, "id": "0859af03-2222-4b9d-b6fe-04bbc2794516", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "+\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "podnies_karnister = False\n", "otwarta_szuflada = True\n", "\n", "\n", "# Wymiary szkieletu boxa (mm)\n", "dl = 1810.5\n", "sz = 570.5\n", "wys = 560\n", "profil = 40\n", "profil_8040 = 80 \n", "sklejka = 15\n", "prowadnica = 19\n", "\n", "# Wymiary karnistra\n", "dl_k = 360\n", "sz_k = 500\n", "wys_k = 230\n", "\n", "\n", "# Wymiary Skrzyni\n", "dl_sz = 1100\n", "sz_sz = sz - (2*profil)\n", "wys_sz = wys - profil\n", "\n", "# wymiary zlewu\n", "\n", "dl_z = 320\n", "sz_z = 260\n", "wys_z = 150\n", "odstep_zlewu_od_konca = 260\n", "\n", "dl_sklejki = dl-dl_sz\n", "\n", "\n", "with BuildPart() as szkielet:\n", " with Locations((0,-sz/2 + profil/2,0)):\n", " # Poziome\n", " with Locations((0, 0, profil/2), (0, sz - profil, profil/2)):\n", " Box(dl-(2*profil), profil, profil_8040)\n", " with Locations((0, 0, wys - profil), (0, sz - profil, wys - profil)):\n", " Box(dl-(2*profil), profil, profil)\n", " # Pionowe\n", " with Locations((dl/2-(profil/2),0,wys/2-(profil/2)),(dl/2-(profil/2),sz-(profil),wys/2-(profil/2))):\n", " Box(profil,profil,wys)\n", " with Locations((-dl/2+(profil/2),0,wys/2-(profil/2)),(-dl/2+(profil/2),sz-(profil),wys/2-(profil/2))):\n", " Box(profil,profil,wys)\n", " # Boczne\n", " with Locations((dl/2-(profil/2),sz/2-(profil/2),0),(dl/2-(profil/2),sz/2-(profil/2),wys-(profil))):\n", " Box(profil,sz-(2*profil),profil)\n", " # sklejka pod karnister\n", " with Locations((dl/2-dl_sklejki/2,0,0)):\n", " Box(dl_sklejki,sz,sklejka)\n", "\n", "\n", "\n", "if podnies_karnister == True:\n", " podnies_karnister = 600\n", "else: \n", " podnies_karnister = wys_k/2 + profil/2 + sklejka\n", "\n", "with BuildPart() as karnister:\n", " with Locations((dl/2-dl_k/2-profil,0,podnies_karnister)):\n", " Box(dl_k,sz_k,wys_k)\n", " \n", "karnister.part.color = Color(\"Blue\")\n", "\n", "\n", "\n", "if otwarta_szuflada == True:\n", " szuflada_stan = (-dl/2+dl_sz/2-dl_sz,0,wys/2-profil+15)\n", "else:\n", " szuflada_stan = (-dl/2+dl_sz/2,0,wys/2-profil+15)\n", " \n", "\n", "with BuildPart() as szuflada:\n", " with Locations(szuflada_stan):\n", " Box(dl_sz,sz_sz-(2*prowadnica),wys_sz)\n", " offset(amount=-15, openings=szuflada.faces().filter_by(Axis.Z)[-1])\n", " if otwarta_szuflada == True:\n", " with Locations((-dl_sz/4,45.960,wys_sz/2+154.68)):\n", " Box(dl_sz/2,sz_sz-2*prowadnica,sklejka, rotation=(-45,0,0))\n", " else: \n", " with Locations((-dl_sz/4,0,wys_sz/2)):\n", " Box(dl_sz/2,sz_sz-2*prowadnica,sklejka)\n", " \n", " with Locations((dl_sz/4,0,wys_sz/2)):\n", " Box(dl_sz/2,sz_sz-2*prowadnica,sklejka)\n", " \n", "with BuildPart() as wyciecie:\n", " with Locations(szuflada_stan):\n", " with Locations((dl_sz/2 - sz_z/2 - odstep_zlewu_od_konca ,0,wys_sz/2-wys_z/2-sklejka/2+1)):\n", " Box(sz_z,dl_z,wys_z)\n", " to_edges = wyciecie.edges().filter_by(Axis.Z)\n", " fillet(to_edges,radius=20)\n", "\n", "\n", "with BuildPart() as zlew:\n", " with Locations(szuflada_stan):\n", " with Locations((dl_sz/2 - sz_z/2 - odstep_zlewu_od_konca ,0,wys_sz/2-wys_z/2-sklejka/2+1)):\n", " Box(sz_z,dl_z,wys_z)\n", " # with Locations(zlew.faces().last):\n", " # Hole(10)\n", " offset(amount=-10,openings=zlew.part.faces().filter_by(Axis.Z)[-1])\n", " test = zlew.faces().last\n", " with Locations((0,dl_z/2-50,0)):\n", " Hole(20)\n", " to_edges = zlew.edges().filter_by(Axis.Z)\n", " fillet(to_edges,radius=10)\n", "\n", "\n", "\n", "\n", "with BuildPart() as razem:\n", " add(szkielet)\n", " add(szuflada)\n", " add(karnister)\n", " with Locations((0,0,sklejka)):\n", " add(wyciecie,mode=Mode.SUBTRACT)\n", " add(zlew)\n", "\n", "\n", "\n", "# with BuildPart() as model:\n", "# add(Hinge(20, 40, 6, 2, 3,False))\n", "\n", "# show(model.part)\n", "\n", "\n", "\n", "# render_part(my_part.part) # jeśli używasz jupyter + ocp_vscode\n", " \n", "\n", "\n", "# show(szuflada)\n", "# show_all()\n", "show(razem)\n", "# show(zlew,test)" ] }, { "cell_type": "code", "execution_count": null, "id": "96345b66-b36c-477d-8929-eebee31d89ed", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "a6ee791b-7852-4eda-b268-889766967eb2", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "141cbaf3-fdda-47ad-9409-0a28455c1d13", "metadata": {}, "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.12.10" } }, "nbformat": 4, "nbformat_minor": 5 }