127 lines
3.6 KiB
Plaintext
127 lines
3.6 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "9a610a27-cc42-4311-a288-ad89e86b5b73",
|
||
"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",
|
||
"from jupyter_cadquery import show, show_all,open_viewer,show_clear\n",
|
||
"from IPython.display import display\n",
|
||
"import ipywidgets as widgets"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"id": "68ca929c-7e78-4ce9-bafc-a336328244db",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "d4c2b63ffa7a48cfa7c929f5cb97270f",
|
||
"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": [
|
||
" \n",
|
||
"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": null,
|
||
"id": "010eed22-3a06-4d28-bdce-4cc8e593b1aa",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# -*- coding: utf-8 -*-\n",
|
||
"from build123d import *\n",
|
||
"\n",
|
||
"# Rozpoczynamy tworzenie nowego szkicu 2D\n",
|
||
"# Wszystko, co narysujemy wewnątrz tego bloku 'with', będzie częścią 'my_sketch'\n",
|
||
"with BuildSketch() as my_sketch:\n",
|
||
" # Używamy Polyline, aby narysować kształt, podając współrzędne kolejnych punktów\n",
|
||
" Polyline(\n",
|
||
" (0, 10), # Punkt startowy\n",
|
||
" (0, 30), # Linia prosto w górę\n",
|
||
" (30, 30), # Linia w prawo\n",
|
||
" (60, 15), # Linia ukośna w dół i w prawo\n",
|
||
" (50, 0), # Linia ukośna w dół i w lewo\n",
|
||
" (20, 0), # Linia w lewo\n",
|
||
" close=True # Automatycznie zamykamy kształt, rysując linię do punktu startowego\n",
|
||
" )\n",
|
||
" # Tworzymy wypełnioną powierzchnię (Face) z narysowanego, zamkniętego konturu\n",
|
||
" make_face()\n",
|
||
"\n",
|
||
"# Wyświetlamy gotowy szkic\n",
|
||
"# Możesz też użyć show_all(), jeśli masz więcej obiektów\n",
|
||
"show(my_sketch)"
|
||
]
|
||
}
|
||
],
|
||
"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
|
||
}
|