256 lines
7.1 KiB
Plaintext
256 lines
7.1 KiB
Plaintext
{
|
|
"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": 30,
|
|
"id": "0859af03-2222-4b9d-b6fe-04bbc2794516",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"c\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<cad_viewer_widget.widget.CadViewer at 0x1534a50d6d80>"
|
|
]
|
|
},
|
|
"execution_count": 30,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"podnies_karnister = False\n",
|
|
"otwarta_szuflada = Teuje\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_s/z/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-sklejka,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-sklejka,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
|
|
}
|