Browse Source

INtégration des dimension mesurées, ajout des ailettes de maintien

master
hadware 2 months ago
parent
commit
9414f4fc99
  1. 55
      tractrudeuse_v2.ipynb

55
tractrudeuse_v2.ipynb

@ -6,8 +6,8 @@
"metadata": { "metadata": {
"collapsed": true, "collapsed": true,
"ExecuteTime": { "ExecuteTime": {
"end_time": "2026-05-12T22:59:12.711790474Z", "end_time": "2026-05-14T02:35:48.111465748Z",
"start_time": "2026-05-12T22:59:04.480803556Z" "start_time": "2026-05-14T02:35:34.544312989Z"
} }
}, },
"source": [ "source": [
@ -40,15 +40,16 @@
"tracte_extrusion_center_y_offset = tract_extrusion_cote / 2 + tract_extrusion_y_offset\n", "tracte_extrusion_center_y_offset = tract_extrusion_cote / 2 + tract_extrusion_y_offset\n",
"\n", "\n",
"# extrudeuse\n", "# extrudeuse\n",
"hauteur_extrudeuse = 80 # mm\n", "hauteur_extrudeuse = 53 # mm\n",
"longueur_extrudeuse = 205 # mm\n", "# TODO: dimensions exactes mesurées, ajouter du jeu éventuellement\n",
"largueur_extrudeuse = 122.3 # mm\n", "longueur_extrudeuse = 130 # mm\n",
"# représente l'offsent du centre de la zone d'extrusion par rapport à l'avant de l'extreuse\n", "largueur_extrudeuse = 100 # mm\n",
"# représente l'offset du centre de la zone d'extrusion par rapport à l'avant de l'extrudeuse\n",
"# TODO: a compéter\n", "# TODO: a compéter\n",
"# offset par rapport à l'avant de l'extrudeuse\n", "# offset par rapport à l'avant de l'extrudeuse\n",
"zone_extrusion_offset_avant = 40 # mm\n", "zone_extrusion_offset_avant = 50 # mm\n",
"# offset par rapport au bas de l'extrudeuse\n", "# offset par rapport au bas de l'extrudeuse\n",
"zone_extrusion_offset_hauteur = 30 # mm\n", "zone_extrusion_offset_hauteur = 12 # mm\n",
"\n", "\n",
"# Cavité perforatrice\n", "# Cavité perforatrice\n",
"jeu_cavite = 2 # mm\n", "jeu_cavite = 2 # mm\n",
@ -56,6 +57,12 @@
"cav_dim_y = largueur_extrudeuse + jeu_cavite\n", "cav_dim_y = largueur_extrudeuse + jeu_cavite\n",
"cav_hauteur = hauteur_extrudeuse # mm — profondeur de creusement depuis le dessus\n", "cav_hauteur = hauteur_extrudeuse # mm — profondeur de creusement depuis le dessus\n",
"\n", "\n",
"# Ailettes de maintient de la cheville du gond de la poignée d'extrudeuse\n",
"ailettes_ecart = 24 # mm\n",
"ailettes_epaisseur = 3 # mm\n",
"ailettes_hauteur = 30 # mm\n",
"ailettes_profondeur = 20 # mm\n",
"\n",
"# Trou d'évacuation (confettis)\n", "# Trou d'évacuation (confettis)\n",
"evac_taille = 48.0 # mm — côté du carré (45 + jeu)\n", "evac_taille = 48.0 # mm — côté du carré (45 + jeu)\n",
"\n", "\n",
@ -70,8 +77,8 @@
"\n", "\n",
"# Couvercle\n", "# Couvercle\n",
"couvercle_epaisseur = 5 # mm\n", "couvercle_epaisseur = 5 # mm\n",
"couvercle_ouv_largeur = 150 # mm — ouverture X\n", "couvercle_ouv_largeur = 110 # mm — ouverture X\n",
"couvercle_ouv_profondeur = 60 # mm — ouverture Y\n", "couvercle_ouv_profondeur = 30 # mm — ouverture Y\n",
"\n", "\n",
"# Bac\n", "# Bac\n",
"bac_hauteur = 100.0 # mm\n", "bac_hauteur = 100.0 # mm\n",
@ -251,7 +258,7 @@
" cx = (min_x + max_x) / 2\n", " cx = (min_x + max_x) / 2\n",
"\n", "\n",
" with BuildSketch(front_plane) as sk:\n", " with BuildSketch(front_plane) as sk:\n",
" 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, mode=Mode.SUBTRACT) # 1.5 mm de profondeur\n", " extrude(amount=-1, mode=Mode.SUBTRACT) # 1.5 mm de profondeur\n",
@ -261,7 +268,7 @@
" right_face = faces().filter_by(Axis.Y).sort_by(Axis.Y)[-1]\n", " right_face = faces().filter_by(Axis.Y).sort_by(Axis.Y)[-1]\n",
" for side_face in [left_face, right_face]:\n", " for side_face in [left_face, right_face]:\n",
" # side_face = Plane(side_face).rotated((0, 90, 0))\n", " # side_face = Plane(side_face).rotated((0, 90, 0))\n",
" with BuildSketch(side_face) as sk:\n", " with BuildSketch(side_face.translate((0, 0, -5))) as sk:\n",
" Text(\"GUI-O-TRACTINE\\n3000\",\n", " Text(\"GUI-O-TRACTINE\\n3000\",\n",
" font_size=20,\n", " font_size=20,\n",
" align=Align.CENTER,\n", " align=Align.CENTER,\n",
@ -302,6 +309,21 @@
" maximum=bottom_plane.origin.Z + encoche_profondeur)\n", " maximum=bottom_plane.origin.Z + encoche_profondeur)\n",
" chamfer(top_edges, length=1)\n", " chamfer(top_edges, length=1)\n",
"\n", "\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",
" Rectangle(ailettes_profondeur, ailettes_epaisseur,\n",
" align=(Align.MAX, Align.MIN))\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",
" minimum=cav_dim_x / 2 - 0.01,\n",
" maximum=cav_dim_x / 2 + 0.01))\n",
" chamfer(face_edges, length=3)\n",
" top_edges = (edges(Select.LAST).filter_by(Axis.X).sort_by(Axis.Z)[-4:])\n",
" chamfer(top_edges, length=0.5)\n",
"\n",
"\n",
" with BuildPart() as p_bottom:\n", " with BuildPart() as p_bottom:\n",
" add(bottom)\n", " add(bottom)\n",
" top_face = faces().filter_by(Plane.XY).sort_by(Axis.Z)[-1]\n", " top_face = faces().filter_by(Plane.XY).sort_by(Axis.Z)[-1]\n",
@ -313,7 +335,8 @@
" with Locations(sockets_offsets):\n", " with Locations(sockets_offsets):\n",
" Rectangle(encoche_longueur - 0.3, encoche_largueur - 0.3)\n", " Rectangle(encoche_longueur - 0.3, encoche_largueur - 0.3)\n",
" extrude(amount=encoche_profondeur - 0.3, mode=Mode.ADD)\n", " extrude(amount=encoche_profondeur - 0.3, mode=Mode.ADD)\n",
" top_edges = edges(Select.LAST).filter_by_position(Axis.Z, minimum=top_plane.origin.Z + encoche_profondeur / 2, maximum= top_plane.origin.Z + encoche_profondeur * 2)\n", " top_edges = edges(Select.LAST).filter_by_position(Axis.Z, minimum=top_plane.origin.Z + encoche_profondeur / 2,\n",
" maximum=top_plane.origin.Z + encoche_profondeur * 2)\n",
" chamfer(top_edges, length=1)\n", " chamfer(top_edges, length=1)\n",
"\n", "\n",
" return Compound(children=[p_top.part, p_bottom.part])\n", " return Compound(children=[p_top.part, p_bottom.part])\n",
@ -345,8 +368,8 @@
" 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((0, 0))):\n", " with Locations(Location((0, 0))):\n",
" Rectangle(bloc_extrudeur_ext_x - epaisseur_paroi /2,\n", " Rectangle(bloc_extrudeur_ext_x - epaisseur_paroi / 2,\n",
" bloc_extrudeur_ext_y - epaisseur_paroi /2)\n", " bloc_extrudeur_ext_y - epaisseur_paroi / 2)\n",
"\n", "\n",
" extrude(amount=-(bac_hauteur - epaisseur_paroi), mode=Mode.SUBTRACT)\n", " extrude(amount=-(bac_hauteur - epaisseur_paroi), mode=Mode.SUBTRACT)\n",
"\n", "\n",
@ -407,7 +430,7 @@
"name": "stdout", "name": "stdout",
"output_type": "stream", "output_type": "stream",
"text": [ "text": [
"++++\n" "++c+\n"
] ]
} }
], ],

Loading…
Cancel
Save