camper/.ipynb_checkpoints/Camper-checkpoint.ipynb

327 lines
9.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "code",
"execution_count": 71,
"id": "0a626b10-f8c1-4fa1-a186-71d6f989e162",
"metadata": {},
"outputs": [],
"source": [
"from build123d import *\n",
"\n",
"from jupyter_cadquery import show, show_all,open_viewer, show_clear\n",
"\n",
"from IPython.display import display\n",
"import ipywidgets as widgets"
]
},
{
"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": 73,
"id": "fadf9175-fa62-4758-b8df-8da736b62990",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "88ca83c276564176aa843f956498a2c9",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(Button(description='Viewer dół', style=ButtonStyle()), Button(description='Viewer prawo', style…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cv = None # viewer globalny\n",
"\n",
"def open_bottom(b):\n",
" global cv\n",
" print(\"Otwieram viewer (split-bottom)\")\n",
" cv = open_viewer(\"Build123d\", anchor=\"split-bottom\")\n",
"\n",
"def open_right(b):\n",
" global cv\n",
" print(\"Otwieram viewer (right)\")\n",
" cv = open_viewer(\"Build123d\", anchor=\"right\")\n",
"\n",
"# Przycisk 1 bottom\n",
"btn_bottom = widgets.Button(description=\"Viewer dół\")\n",
"btn_bottom.on_click(open_bottom)\n",
"\n",
"# Przycisk 2 right\n",
"btn_right = widgets.Button(description=\"Viewer prawo\")\n",
"btn_right.on_click(open_right)\n",
"\n",
"# Wyświetl przyciski\n",
"display(widgets.HBox([btn_bottom, btn_right]))\n"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "177fa70e-22e7-4c1e-823f-faf4b807a78c",
"metadata": {},
"outputs": [],
"source": [
"comet_up = import_step(\"/home/workdir/Camper/cometup.step\")\n",
"comet_down = import_step(\"/home/workdir/Camper/cometdown.step\")\n",
"comet_up.color = Color(117/255,117/255,117/255)\n",
"comet_down.color = Color(117/255,117/255,117/255)\n",
"okranik = comet_up.move(Location((-1165.250-130,150+30,546.500-24),((0,0,-0))))\n",
"zkranik = comet_down.move(Location((-1165.250-130,150+30,546.500-24),((0,0,-0))))\n"
]
},
{
"cell_type": "code",
"execution_count": 66,
"id": "b7afe8de-f86e-4a84-91c2-1321d247f20e",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "4478a79aadec4062b1de03595ea21780",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Button(description='open/closed', style=ButtonStyle())"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"podnies_karnister = False\n",
"otwarta_szuflada = True\n",
"\n",
"# Funkcja przełączająca wartość\n",
"def toggle_szuflada(change):\n",
" global otwarta_szuflada\n",
" otwarta_szuflada = not otwarta_szuflada\n",
"\n",
"button = widgets.Button(description=\"open/closed\")\n",
"button.on_click(toggle_szuflada)\n",
"display(button)"
]
},
{
"cell_type": "code",
"execution_count": 72,
"id": "0859af03-2222-4b9d-b6fe-04bbc2794516",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cccccccc\n"
]
}
],
"source": [
"\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",
"\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",
"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",
"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",
" with Locations((dl_sz/4,0,wys_sz/2)):\n",
" Box(dl_sz/2,sz_sz-2*prowadnica,sklejka)\n",
" else: \n",
" with Locations((-dl_sz/4,0,wys_sz/2)):\n",
" Box(dl_sz/2,sz_sz-2*prowadnica,sklejka)\n",
" with Locations((dl_sz/4,0,wys_sz/2)):\n",
" Box(dl_sz/2,sz_sz-2*prowadnica,sklejka)\n",
" with Locations((0,0,sklejka)):\n",
" add(wyciecie,mode=Mode.SUBTRACT)\n",
" \n",
" \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+sklejka)):\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,0,0)):\n",
" Hole(20)\n",
" to_edges = zlew.edges().filter_by(Axis.Z)\n",
" fillet(to_edges,radius=10)\n",
"\n",
" zlew.color = Color(114/255,114/255,114/255)\n",
"\n",
"# comet_up.move(Location((szuflada_stan)))\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",
"if otwarta_szuflada == True:\n",
" show(szkielet,szuflada,karnister,zlew,okranik)\n",
"else:\n",
" show(szkielet,szuflada,karnister,zlew,zkranik)\n",
"# show(comet_up)\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
}