Update V2 (ajout titre, modif dimension)
This commit is contained in:
+35
-23
@@ -6,8 +6,8 @@
|
|||||||
"metadata": {
|
"metadata": {
|
||||||
"collapsed": true,
|
"collapsed": true,
|
||||||
"ExecuteTime": {
|
"ExecuteTime": {
|
||||||
"end_time": "2026-05-09T01:06:35.539444869Z",
|
"end_time": "2026-05-09T14:28:10.474719577Z",
|
||||||
"start_time": "2026-05-09T01:06:34.603873035Z"
|
"start_time": "2026-05-09T14:28:05.535127271Z"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"source": [
|
"source": [
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
"\n",
|
"\n",
|
||||||
"# Fente (guide tract) — face droite, centrée en Y\n",
|
"# Fente (guide tract) — face droite, centrée en Y\n",
|
||||||
"fente_largeur = 152.0 # mm — largeur de la fente -> Y\n",
|
"fente_largeur = 152.0 # mm — largeur de la fente -> Y\n",
|
||||||
"fente_profondeur = 60.0 # mm — profondeur (longueur de la rainure) -> X\n",
|
"fente_profondeur = 80.0 # mm — profondeur (longueur de la rainure) -> X\n",
|
||||||
"fente_section = 2.0 # mm — hauteur de la section (épaisseur papier + jeu)\n",
|
"fente_section = 2.0 # mm — hauteur de la section (épaisseur papier + jeu)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"# Zone à extruder du tract\n",
|
"# Zone à extruder du tract\n",
|
||||||
@@ -176,7 +176,20 @@
|
|||||||
" add([s.translate((-cx, 5, 0)) for s in logo_shapes])\n",
|
" add([s.translate((-cx, 5, 0)) for s in logo_shapes])\n",
|
||||||
" scale(by=0.8)\n",
|
" scale(by=0.8)\n",
|
||||||
"\n",
|
"\n",
|
||||||
" extrude(amount=-1.5, mode=Mode.SUBTRACT) # 1.5 mm de profondeur\n",
|
" extrude(amount=-1, mode=Mode.SUBTRACT) # 1.5 mm de profondeur\n",
|
||||||
|
"\n",
|
||||||
|
" # Affichage du nom sur les deux cotés de la boite\n",
|
||||||
|
" left_face = faces().filter_by(Axis.Y).sort_by(Axis.Y)[0]\n",
|
||||||
|
" right_face = faces().filter_by(Axis.Y).sort_by(Axis.Y)[-1]\n",
|
||||||
|
" for side_face in [left_face, right_face]:\n",
|
||||||
|
" # side_face = Plane(side_face).rotated((0, 90, 0))\n",
|
||||||
|
" with BuildSketch(side_face) as sk:\n",
|
||||||
|
" Text(\"GUI-O-TRACTINE\\n3000\",\n",
|
||||||
|
" font_size=20,\n",
|
||||||
|
" align=Align.CENTER,\n",
|
||||||
|
" font=\"Tanker\",\n",
|
||||||
|
" rotation=-90)\n",
|
||||||
|
" extrude(amount=-1, mode=Mode.SUBTRACT)\n",
|
||||||
"\n",
|
"\n",
|
||||||
" return p.part\n",
|
" return p.part\n",
|
||||||
"\n",
|
"\n",
|
||||||
@@ -220,24 +233,23 @@
|
|||||||
"def make_couvercle():\n",
|
"def make_couvercle():\n",
|
||||||
" with BuildPart() as p:\n",
|
" with BuildPart() as p:\n",
|
||||||
" # 1. Bloc de base\n",
|
" # 1. Bloc de base\n",
|
||||||
" Box(couv_ext_x, couv_ext_y, couv_ext_z)\n",
|
" b = Box(couv_ext_x, couv_ext_y, couv_ext_z)\n",
|
||||||
|
" chamfer(b.edges(), length=2)\n",
|
||||||
"\n",
|
"\n",
|
||||||
" # 2. Évidement intérieur (lèvre qui coiffe le chapeau)\n",
|
" bottom_face = faces().sort_by(Axis.Z)[0]\n",
|
||||||
" with Locations(Location((0, 0, - emboitement_profondeur))):\n",
|
" with BuildSketch(bottom_face) as sk:\n",
|
||||||
" Box(\n",
|
" # Position relative au centre de la face (origine du sketch)\n",
|
||||||
" couv_ext_x - 2 * epaisseur_paroi,\n",
|
" with Locations(Location((0, 0))):\n",
|
||||||
" couv_ext_y - 2 * epaisseur_paroi,\n",
|
" Rectangle(couv_ext_x - 2 * epaisseur_paroi, couv_ext_y - 2 * epaisseur_paroi,)\n",
|
||||||
" emboitement_profondeur + 1,\n",
|
" extrude(amount=-emboitement_profondeur, mode=Mode.SUBTRACT)\n",
|
||||||
" mode=Mode.SUBTRACT,\n",
|
|
||||||
" )\n",
|
|
||||||
"\n",
|
"\n",
|
||||||
" # 3. Ouverture rectangulaire centrée sur la cavité\n",
|
" # 3. Ouverture rectangulaire centrée sur la cavité\n",
|
||||||
" top_face = faces().sort_by(Axis.Z)[-1]\n",
|
" top_face = faces().sort_by(Axis.Z)[-1]\n",
|
||||||
" with BuildSketch(top_face) as sk:\n",
|
" with BuildSketch(top_face) as sk:\n",
|
||||||
" # Position relative au centre de la face (origine du sketch)\n",
|
" # Position relative au centre de la face (origine du sketch)\n",
|
||||||
" with Locations(Location((cav_x + cav_dim_x / 2 - bloc_extrudeur_ext_x / 2, 0))):\n",
|
" with Locations(Location((0, 0))):\n",
|
||||||
" Rectangle(couvercle_ouv_largeur, couvercle_ouv_profondeur)\n",
|
" Rectangle(couvercle_ouv_largeur, couvercle_ouv_profondeur)\n",
|
||||||
" extrude(amount=-epaisseur_paroi* 2, mode=Mode.SUBTRACT)\n",
|
" extrude(amount=-epaisseur_paroi, mode=Mode.SUBTRACT)\n",
|
||||||
"\n",
|
"\n",
|
||||||
" return p.part\n",
|
" return p.part\n",
|
||||||
"\n",
|
"\n",
|
||||||
@@ -262,35 +274,35 @@
|
|||||||
"name": "stdout",
|
"name": "stdout",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
"+c+\n"
|
"+++\n"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"execution_count": 87
|
"execution_count": 110
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"ExecuteTime": {
|
"ExecuteTime": {
|
||||||
"end_time": "2026-05-09T00:48:40.405653163Z",
|
"end_time": "2026-05-09T14:28:52.711328232Z",
|
||||||
"start_time": "2026-05-09T00:48:40.393920716Z"
|
"start_time": "2026-05-09T14:28:52.689567682Z"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"source": "tract_extrusion_center_x_offset",
|
"source": "bloc_extrudeur_ext_x",
|
||||||
"id": "810fb3a101c2fccd",
|
"id": "810fb3a101c2fccd",
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"32.5"
|
"234.5"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 64,
|
"execution_count": 111,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"output_type": "execute_result"
|
"output_type": "execute_result"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"execution_count": 64
|
"execution_count": 111
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
|
|||||||
Reference in New Issue
Block a user