Start
This commit is contained in:
parent
9f38c08bb8
commit
5e92eacb64
|
@ -0,0 +1,126 @@
|
||||||
|
{
|
||||||
|
"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
|
||||||
|
}
|
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,55 @@
|
||||||
|
from IPython.display import display
|
||||||
|
from IPython import get_ipython
|
||||||
|
import ipywidgets as widgets
|
||||||
|
|
||||||
|
def show_snippet_panel():
|
||||||
|
snippets = {
|
||||||
|
"📥 Start": '''
|
||||||
|
from build123d import *
|
||||||
|
from jupyter_cadquery import show, show_all,open_viewer, show_clear
|
||||||
|
from IPython.display import display
|
||||||
|
import ipywidgets as widgets''',
|
||||||
|
|
||||||
|
"🧲 Import STEP": '''from build123d import *
|
||||||
|
model = import_step("element.step")
|
||||||
|
show_object(model)''',
|
||||||
|
|
||||||
|
"🖥️ view": '''
|
||||||
|
cv = None # viewer globalny
|
||||||
|
|
||||||
|
def open_bottom(b):
|
||||||
|
global cv
|
||||||
|
print("Otwieram viewer (split-bottom)")
|
||||||
|
cv = open_viewer("Build123d", anchor="split-bottom")
|
||||||
|
|
||||||
|
def open_right(b):
|
||||||
|
global cv
|
||||||
|
print("Otwieram viewer (right)")
|
||||||
|
cv = open_viewer("Build123d", anchor="right")
|
||||||
|
|
||||||
|
# Przycisk 1 – bottom
|
||||||
|
btn_bottom = widgets.Button(description="Viewer dół")
|
||||||
|
btn_bottom.on_click(open_bottom)
|
||||||
|
|
||||||
|
# Przycisk 2 – right
|
||||||
|
btn_right = widgets.Button(description="Viewer prawo")
|
||||||
|
btn_right.on_click(open_right)
|
||||||
|
|
||||||
|
# Wyświetl przyciski
|
||||||
|
display(widgets.HBox([btn_bottom, btn_right]))
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
|
||||||
|
dropdown = widgets.Dropdown(
|
||||||
|
options=["-- wybierz snippet --"] + list(snippets.keys()),
|
||||||
|
description="Snippet:"
|
||||||
|
)
|
||||||
|
|
||||||
|
def on_select(change):
|
||||||
|
key = change["new"]
|
||||||
|
if key != "-- wybierz snippet --":
|
||||||
|
get_ipython().set_next_input(snippets[key], replace=False)
|
||||||
|
dropdown.value = "-- wybierz snippet --"
|
||||||
|
|
||||||
|
dropdown.observe(on_select, names="value")
|
||||||
|
display(dropdown)
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg width="29.546752373017426mm" height="19.158647085745443mm" viewBox="0 0 29.546752373017426 19.158647085745443" xmlns="http://www.w3.org/2000/svg" version="1.1">
|
||||||
|
<g id="Sketch" transform="translate(5.289674,5.289674) scale(1,-1)">
|
||||||
|
<path id="Sketch_w0000" d="M 5.0 5.0 L -5.0 5.0 L -5.0 -5.0 L 5.0 -4.999999999999999 L 19.59934 -13.579299000000002 L 23.967404287271986 -6.146191035648753 L 5.0 5.0 " stroke="#212529" stroke-width="0.7 px" style="stroke-width:0.7;stroke-miterlimit:4;stroke-dasharray:none;stroke-linecap:square;fill:none;fill-opacity:1;fill-rule: evenodd"/>
|
||||||
|
<title>b'Sketch'</title>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 735 B |
Loading…
Reference in New Issue