|
|
|
|
@ -6,8 +6,8 @@
|
|
|
|
|
"metadata": { |
|
|
|
|
"collapsed": true, |
|
|
|
|
"ExecuteTime": { |
|
|
|
|
"end_time": "2026-05-17T23:28:42.138106727Z", |
|
|
|
|
"start_time": "2026-05-17T23:28:27.883466201Z" |
|
|
|
|
"end_time": "2026-05-19T11:55:17.570088671Z", |
|
|
|
|
"start_time": "2026-05-19T11:55:03.200373107Z" |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
"source": [ |
|
|
|
|
@ -78,6 +78,8 @@
|
|
|
|
|
"\n", |
|
|
|
|
"# Bac\n", |
|
|
|
|
"bac_hauteur = 100.0 # mm\n", |
|
|
|
|
"# Hauteur du bord de la lèvres qui tient\n", |
|
|
|
|
"bac_hauteur_levre = 30 # mm\n", |
|
|
|
|
"\n", |
|
|
|
|
"# Fixations couvercle\n", |
|
|
|
|
"vis_diam = 4 + 1\n", |
|
|
|
|
@ -418,20 +420,32 @@
|
|
|
|
|
" top_face = faces().sort_by(Axis.Z)[-1]\n", |
|
|
|
|
"\n", |
|
|
|
|
" with BuildSketch(top_face) as sk:\n", |
|
|
|
|
" # Position relative au centre de la face (origine du sketch)\n", |
|
|
|
|
" with Locations(Location((0, 0))):\n", |
|
|
|
|
" Rectangle(bloc_extrudeur_ext_x + emboitement_jeu * 2,\n", |
|
|
|
|
" bloc_extrudeur_ext_y + emboitement_jeu * 2)\n", |
|
|
|
|
"\n", |
|
|
|
|
" extrude(amount=-emboitement_profondeur, mode=Mode.SUBTRACT)\n", |
|
|
|
|
"\n", |
|
|
|
|
" with BuildSketch(top_face) as sk:\n", |
|
|
|
|
" # Position relative au centre de la face (origine du sketch)\n", |
|
|
|
|
" with Locations(Location((0, 0))):\n", |
|
|
|
|
" Rectangle(bloc_extrudeur_ext_x - epaisseur_paroi / 2,\n", |
|
|
|
|
" bloc_extrudeur_ext_y - epaisseur_paroi / 2)\n", |
|
|
|
|
" Rectangle(bloc_extrudeur_ext_x - epaisseur_paroi,\n", |
|
|
|
|
" bloc_extrudeur_ext_y - epaisseur_paroi)\n", |
|
|
|
|
"\n", |
|
|
|
|
" extrude(amount=-(bac_hauteur - (epaisseur_paroi)), mode=Mode.SUBTRACT)\n", |
|
|
|
|
"\n", |
|
|
|
|
" with BuildSketch(Plane(top_face).offset(-(bac_hauteur_levre + emboitement_profondeur))):\n", |
|
|
|
|
" Rectangle(bloc_extrudeur_ext_x,\n", |
|
|
|
|
" bloc_extrudeur_ext_y)\n", |
|
|
|
|
"\n", |
|
|
|
|
" extrusion_height = bac_hauteur - (epaisseur_paroi + bac_hauteur_levre + emboitement_profondeur)\n", |
|
|
|
|
" extrude(amount=-extrusion_height, mode=Mode.SUBTRACT)\n", |
|
|
|
|
"\n", |
|
|
|
|
" with BuildSketch(Plane(top_face).offset(-emboitement_profondeur)):\n", |
|
|
|
|
" Rectangle(bloc_extrudeur_ext_x - epaisseur_paroi,\n", |
|
|
|
|
" bloc_extrudeur_ext_y - epaisseur_paroi)\n", |
|
|
|
|
" with BuildSketch(Plane(top_face).offset(-(bac_hauteur_levre + emboitement_profondeur))):\n", |
|
|
|
|
" Rectangle(bloc_extrudeur_ext_x,\n", |
|
|
|
|
" bloc_extrudeur_ext_y)\n", |
|
|
|
|
" loft(mode=Mode.SUBTRACT)\n", |
|
|
|
|
"\n", |
|
|
|
|
" extrude(amount=-(bac_hauteur - epaisseur_paroi), mode=Mode.SUBTRACT)\n", |
|
|
|
|
"\n", |
|
|
|
|
" return p.part\n", |
|
|
|
|
"\n", |
|
|
|
|
@ -494,31 +508,73 @@
|
|
|
|
|
] |
|
|
|
|
} |
|
|
|
|
], |
|
|
|
|
"execution_count": 157 |
|
|
|
|
"execution_count": 2 |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
"metadata": { |
|
|
|
|
"ExecuteTime": { |
|
|
|
|
"end_time": "2026-05-14T23:44:03.217747593Z", |
|
|
|
|
"start_time": "2026-05-14T23:44:03.171779231Z" |
|
|
|
|
"end_time": "2026-05-18T23:18:32.922490156Z", |
|
|
|
|
"start_time": "2026-05-18T23:18:32.423433469Z" |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
"cell_type": "code", |
|
|
|
|
"source": "fente_profondeur", |
|
|
|
|
"source": [ |
|
|
|
|
"bac_hauteur_levre = 30\n", |
|
|
|
|
"\n", |
|
|
|
|
"def make_bac_recup():\n", |
|
|
|
|
" with BuildPart() as p:\n", |
|
|
|
|
" # Corps extérieur\n", |
|
|
|
|
" Box(bac_ext_x, bac_ext_y, bac_hauteur)\n", |
|
|
|
|
"\n", |
|
|
|
|
" top_edges = faces().sort_by(Axis.Z)[-1].edges()\n", |
|
|
|
|
" lateral_edges = edges().filter_by(Axis.Z)\n", |
|
|
|
|
" chamfer(top_edges + lateral_edges, length=2)\n", |
|
|
|
|
"\n", |
|
|
|
|
" top_face = faces().sort_by(Axis.Z)[-1]\n", |
|
|
|
|
"\n", |
|
|
|
|
" with BuildSketch(top_face) as sk:\n", |
|
|
|
|
" Rectangle(bloc_extrudeur_ext_x + emboitement_jeu * 2,\n", |
|
|
|
|
" bloc_extrudeur_ext_y + emboitement_jeu * 2)\n", |
|
|
|
|
"\n", |
|
|
|
|
" extrude(amount=-emboitement_profondeur, mode=Mode.SUBTRACT)\n", |
|
|
|
|
"\n", |
|
|
|
|
" with BuildSketch(top_face) as sk:\n", |
|
|
|
|
" Rectangle(bloc_extrudeur_ext_x - epaisseur_paroi,\n", |
|
|
|
|
" bloc_extrudeur_ext_y - epaisseur_paroi)\n", |
|
|
|
|
"\n", |
|
|
|
|
" extrude(amount=-(bac_hauteur - (epaisseur_paroi)), mode=Mode.SUBTRACT)\n", |
|
|
|
|
"\n", |
|
|
|
|
" with BuildSketch(Plane(top_face).offset(-(bac_hauteur_levre + emboitement_profondeur))):\n", |
|
|
|
|
" Rectangle(bloc_extrudeur_ext_x,\n", |
|
|
|
|
" bloc_extrudeur_ext_y)\n", |
|
|
|
|
"\n", |
|
|
|
|
" extrusion_height = bac_hauteur - (epaisseur_paroi + bac_hauteur_levre + emboitement_profondeur)\n", |
|
|
|
|
" extrude(amount=-extrusion_height, mode=Mode.SUBTRACT)\n", |
|
|
|
|
"\n", |
|
|
|
|
" with BuildSketch(Plane(top_face).offset(-emboitement_profondeur)):\n", |
|
|
|
|
" Rectangle(bloc_extrudeur_ext_x - epaisseur_paroi,\n", |
|
|
|
|
" bloc_extrudeur_ext_y - epaisseur_paroi)\n", |
|
|
|
|
" with BuildSketch(Plane(top_face).offset(-(bac_hauteur_levre + emboitement_profondeur))):\n", |
|
|
|
|
" Rectangle(bloc_extrudeur_ext_x,\n", |
|
|
|
|
" bloc_extrudeur_ext_y)\n", |
|
|
|
|
" loft(mode=Mode.SUBTRACT)\n", |
|
|
|
|
"\n", |
|
|
|
|
"\n", |
|
|
|
|
" return p.part\n", |
|
|
|
|
"\n", |
|
|
|
|
"show(make_bac_recup())" |
|
|
|
|
], |
|
|
|
|
"id": "a3d65d64eb54186b", |
|
|
|
|
"outputs": [ |
|
|
|
|
{ |
|
|
|
|
"data": { |
|
|
|
|
"text/plain": [ |
|
|
|
|
"92.5" |
|
|
|
|
"name": "stdout", |
|
|
|
|
"output_type": "stream", |
|
|
|
|
"text": [ |
|
|
|
|
"+\n" |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
"execution_count": 106, |
|
|
|
|
"metadata": {}, |
|
|
|
|
"output_type": "execute_result" |
|
|
|
|
} |
|
|
|
|
], |
|
|
|
|
"execution_count": 106 |
|
|
|
|
"execution_count": 164 |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
"metadata": { |
|
|
|
|
@ -599,8 +655,8 @@
|
|
|
|
|
{ |
|
|
|
|
"metadata": { |
|
|
|
|
"ExecuteTime": { |
|
|
|
|
"end_time": "2026-05-17T23:37:18.404982125Z", |
|
|
|
|
"start_time": "2026-05-17T23:37:03.924008868Z" |
|
|
|
|
"end_time": "2026-05-18T23:37:55.903337866Z", |
|
|
|
|
"start_time": "2026-05-18T23:37:52.010830090Z" |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
"cell_type": "code", |
|
|
|
|
@ -616,12 +672,12 @@
|
|
|
|
|
"True" |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
"execution_count": 158, |
|
|
|
|
"execution_count": 166, |
|
|
|
|
"metadata": {}, |
|
|
|
|
"output_type": "execute_result" |
|
|
|
|
} |
|
|
|
|
], |
|
|
|
|
"execution_count": 158 |
|
|
|
|
"execution_count": 166 |
|
|
|
|
} |
|
|
|
|
], |
|
|
|
|
"metadata": { |
|
|
|
|
|