Ajout de trous, ajustement dimensions
This commit is contained in:
+36
-20
@@ -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",
|
||||
@@ -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": {
|
||||
|
||||
Reference in New Issue
Block a user