From 801bd267eb921484d4c3753531da56ef4b95599a Mon Sep 17 00:00:00 2001 From: hadware Date: Sat, 16 May 2026 18:12:53 +0200 Subject: [PATCH] Ajout de trous, ajustement dimensions --- tractrudeuse_v2.ipynb | 62 +++++++++++++++++++++++++++---------------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/tractrudeuse_v2.ipynb b/tractrudeuse_v2.ipynb index 51fd568..fc883a8 100644 --- a/tractrudeuse_v2.ipynb +++ b/tractrudeuse_v2.ipynb @@ -6,8 +6,8 @@ "metadata": { "collapsed": true, "ExecuteTime": { - "end_time": "2026-05-15T00:06:41.549639954Z", - "start_time": "2026-05-15T00:06:27.739048425Z" + "end_time": "2026-05-16T16:06:57.388758263Z", + "start_time": "2026-05-16T16:06:29.224097165Z" } }, "source": [ @@ -61,7 +61,7 @@ "cav_hauteur = hauteur_extrudeuse # mm — profondeur de creusement depuis le dessus\n", "\n", "# Ailettes de maintient de la cheville du gond de la poignée d'extrudeuse\n", - "ailettes_ecart = 24 # mm\n", + "ailettes_ecart = 26 # mm\n", "ailettes_epaisseur = 3 # mm\n", "ailettes_hauteur = 30 # mm\n", "ailettes_profondeur = 20 # mm\n", @@ -96,7 +96,7 @@ "# Fixation couplage des deux sous-parties du bloc extrudeur\n", "vis_couplage_diam_pas = 2.8\n", "vis_couplage_diam = 4\n", - "vis_couplage_diam_trou = 10\n", + "vis_couplage_diam_trou = 8\n", "vis_couplage_longueur = 20\n", "\n", "# Encoches d'emboitages\n", @@ -104,6 +104,10 @@ "encoche_longueur = 20\n", "encoche_largueur = epaisseur_paroi / 3\n", "\n", + "# Fente Bypass\n", + "bypass_longueur = 50\n", + "bypass_epaisseur = 2\n", + "\n", "# ─────────────────────────────────────────────────────────────────────────────\n", "# DIMENSIONS DÉRIVÉES\n", "# ─────────────────────────────────────────────────────────────────────────────\n", @@ -197,9 +201,9 @@ "\n", " extrude(amount=-fente_profondeur, mode=Mode.SUBTRACT)\n", " edges_stop = (edges(Select.LAST)\n", - " .filter_by(Axis.Y)\n", - " .filter_by(lambda x: x.is_interior)\n", - " .sort_by(Axis.Z)[-2:])\n", + " .filter_by(Axis.Y)\n", + " .filter_by(lambda x: x.is_interior)\n", + " .sort_by(Axis.Z)[-2:])\n", "\n", " # ptit coup de chamfrein sur la fente\n", " chamfer(\n", @@ -209,7 +213,7 @@ " length=5\n", " )\n", " # ptit coup de chamfrein le bord intérieur haut du butoir de la fente\n", - " chamfer(edges_stop,length=1)\n", + " chamfer(edges_stop, length=1)\n", "\n", " # # 4. Trou d'évacuation (perce le fond depuis en dessous)\n", " cav_floor = faces().filter_by(Axis.Z).sort_by(Axis.Z)[1]\n", @@ -245,10 +249,11 @@ " -bloc_extrudeur_ext_z / 2 + fente_z_abs + fente_hauteur)[0])\n", "\n", " # Position relative au centre de la face (origine du sketch)\n", - " y_offsets = (bloc_extrudeur_ext_y / 2 - epaisseur_paroi,\n", - " -(bloc_extrudeur_ext_y / 2) + epaisseur_paroi)\n", + " y_offsets = (bloc_extrudeur_ext_y / 2 - epaisseur_paroi / 2 - 2,\n", + " -(bloc_extrudeur_ext_y / 2) + epaisseur_paroi / 2 + 2)\n", " x_offsets = (bloc_extrudeur_ext_x / 2 - (fente_profondeur + 10),\n", - " - bloc_extrudeur_ext_x / 2 + epaisseur_paroi)\n", + " - bloc_extrudeur_ext_x / 2 + epaisseur_paroi,\n", + " bloc_extrudeur_ext_x / 2 - epaisseur_paroi)\n", " hole_locations = list(product(x_offsets, y_offsets))\n", " # Trous de couplage des deux parties du bloc une fois séparées\n", " with Locations(Plane(\n", @@ -324,7 +329,7 @@ " # l'une dans l'autre\n", " y_offsets = (bloc_extrudeur_ext_y / 2 - epaisseur_paroi / 2,\n", " -(bloc_extrudeur_ext_y / 2) + epaisseur_paroi / 2)\n", - " x_offsets = (bloc_extrudeur_ext_x / 2 - epaisseur_paroi * 2,\n", + " x_offsets = (bloc_extrudeur_ext_x / 2 - epaisseur_paroi * 3,\n", " - bloc_extrudeur_ext_x / 2 + epaisseur_paroi * 3)\n", " sockets_offsets = list(product(x_offsets, y_offsets))\n", " with BuildPart() as p_top:\n", @@ -345,9 +350,9 @@ "\n", " with BuildSketch(bottom_plane):\n", " with Locations((cav_dim_x / 2, 0)):\n", - " with GridLocations(x_spacing=0, y_spacing=ailettes_ecart, x_count=1, y_count=2):\n", + " with GridLocations(x_spacing=0, y_spacing=ailettes_ecart + ailettes_epaisseur, x_count=1, y_count=2):\n", " Rectangle(ailettes_profondeur, ailettes_epaisseur,\n", - " align=(Align.MAX, Align.MIN))\n", + " align=(Align.MAX, Align.CENTER))\n", " extrude(amount=ailettes_hauteur, mode=Mode.ADD)\n", " face_edges = (edges(Select.LAST).filter_by(Axis.Z)\n", " .filter_by_position(Axis.X,\n", @@ -372,6 +377,17 @@ " maximum=top_plane.origin.Z + encoche_profondeur * 2)\n", " chamfer(top_edges, length=1)\n", "\n", + " bottom_face = faces().filter_by(Plane.XY).sort_by(Axis.Z)[0]\n", + " bypass_slot_plane = Plane(\n", + " origin=(bloc_extrudeur_ext_x / 2, 0, bottom_face.center().Z + emboitement_profondeur),\n", + " x_dir=(1, 0, 0),\n", + " z_dir=(0, 0, 1)\n", + " ).rotated((0, -50, 0))\n", + " with BuildSketch(bypass_slot_plane):\n", + " Rectangle(40, bypass_longueur)\n", + " extrude(amount=bypass_epaisseur, mode=Mode.SUBTRACT)\n", + " chamfer(edges(Select.LAST).filter_by(Axis.Y).sort_by(Axis.Z)[-2:], length=2)\n", + "\n", " return Compound(children=[p_top.part, p_bottom.part])\n", "\n", "\n", @@ -467,7 +483,7 @@ ] } ], - "execution_count": 108 + "execution_count": 124 }, { "metadata": { @@ -527,7 +543,7 @@ " offset_plane = plane.offset(bras_patte_dist)\n", " with BuildSketch(offset_plane):\n", " with Locations((bottom_face.center().Z,)):\n", - " Rectangle(2,5, align=(Align.MIN, Align.CENTER))\n", + " Rectangle(2, 5, align=(Align.MIN, Align.CENTER))\n", " with BuildSketch(face):\n", " add(face.rotate(Axis.Y, 90)) # ← utilise directement la face comme sketch\n", " loft()\n", @@ -535,12 +551,12 @@ " patte_plane = Plane(\n", " origin=offset_plane.origin,\n", " x_dir=-offset_plane.y_dir,\n", - " z_dir=(0,0,1)\n", + " z_dir=(0, 0, 1)\n", " ).offset(bottom_face.center().Z)\n", " with BuildSketch(patte_plane):\n", - " Rectangle(5,bras_patte_dist - 1, align=(Align.CENTER, Align.MIN))\n", + " Rectangle(5, bras_patte_dist - 1, align=(Align.CENTER, Align.MIN))\n", " with BuildSketch(patte_plane.offset(-pourtour_hauteur)):\n", - " Rectangle(5,5, align=(Align.CENTER, Align.MIN))\n", + " Rectangle(5, 5, align=(Align.CENTER, Align.MIN))\n", "\n", " loft()\n", "\n", @@ -572,8 +588,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2026-05-12T23:02:00.063069947Z", - "start_time": "2026-05-12T23:01:52.552843497Z" + "end_time": "2026-05-15T13:58:22.949409543Z", + "start_time": "2026-05-15T13:58:10.759490392Z" } }, "cell_type": "code", @@ -589,12 +605,12 @@ "True" ] }, - "execution_count": 20, + "execution_count": 121, "metadata": {}, "output_type": "execute_result" } ], - "execution_count": 20 + "execution_count": 121 } ], "metadata": {