Boitier XL : corriger le montage de la carte, et passer le pipeline sous Blender - #1
Open
Silexperience210 wants to merge 5 commits into
Open
Boitier XL : corriger le montage de la carte, et passer le pipeline sous Blender#1Silexperience210 wants to merge 5 commits into
Silexperience210 wants to merge 5 commits into
Conversation
Nouveau boitier XL, en deux pieces, logeant carte + batterie + haut-parleur. Correctif de montage : la carte porte 4 bossages de 12 mm sous son capot arriere. Le modele les ignorait et supposait un dos plan, si bien que la carte reposait dessus et que l'ecran ressortait du boitier d'autant. Le XL leur menage 4 plots d'appui a la bonne cote. Forme : prisme oblique a fond plat sur toute la profondeur. Le galet du v1 ne convient pas au-dela de ~35 mm — son appui recule jusqu'a ne plus porter le centre de masse et le boitier pique du nez. Deux pieces parce que les 4 vis d'origine s'inserent PAR L'ARRIERE : dans un monobloc ferme elles seraient hors d'atteinte. Le dos ouvert les rend accessibles, le capot referme ensuite. Passage USB-C traversant (cloison + capot) : le connecteur est a l'equerre, ouverture vers l'arriere, le cable ne vient donc pas lateralement. Quatre finitions interchangeables du corps : lisse, cannelures, blocs en quinconce, et le hash du bloc genesis en relief (256 bits sur 32x8, ses 32 zeros de tete formant une bande lisse). Pipeline : construction et rendu sous Blender, sans dependance externe. Le solveur booleen MANIFOLD de Blender 5.0 est le meme noyau manifold3d qu'utilisait trimesh ; numpy est embarque. Les cotes paramtriques et la coupe de plan exacte sont portees telles quelles depuis build_case.py. Les scripts trimesh d'origine restent en place. Toutes les pieces sont verifiees etanches, 0 arete non-manifold, y compris apres relecture du STL exporte. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Remplace les apercus matplotlib du v1/v2 par les rendus Blender du XL : vue eclatee, interieur, et la finition hash genesis. Documente au passage les trois contraintes qui ont faconne le XL — les bossages de 12 mm de la carte, le fond plat impose par la stabilite, et l'acces aux vis qui impose les deux pieces. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Ajoute l'impression des deux pieces (aucun support, corps sur son fond plat) et les quatre finitions du corps, puis l'assemblage en cinq etapes. Explique pourquoi le dos est ouvert : les 4 vis d'origine s'inserent par l'arriere et seraient inatteignables dans un monobloc. Signale les deux defauts connus du v1 — ecran surelevee de 12 mm par les bossages de la carte, et decoupe USB laterale alors que le connecteur est a l'equerre vers l'arriere. Etend le depannage : ecran surelevee, cable USB qui ne tombe pas en face, capot qui ne s'emboite pas. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
BOSS_H passe de 12 a 9 mm. Les 12 mm mesures au pied a coulisse etaient le MAXIMUM du bossage, pas sa cote d'appui : l'ecran sortait 3 mm trop enfonce. Ce parametre pilote directement l'affleurement, 1 mm pour 1 mm. Ajoute validate.composants_connexes(), absent jusqu'ici et pourtant indispensable : un plot qui ne touche aucune paroi reste un solide parfaitement etanche, donc is_watertight() le declarait bon. Les 4 plots de vis du capot flottaient a 5.9 mm de la paroi et seraient sortis en pieces detachees. report() l'affiche desormais avec un marqueur explicite. STL regeneres. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
L'ecran du JC3248W535 sort a l'envers dans le sens de montage d'origine. On le remet a l'endroit en tournant la carte de 180 deg dans sa poche : les 4 vis sont a (+-HOLE_DX/2, +-HOLE_DY/2) et la poche est centree, donc les deux sont invariants par cette rotation. Le tactile suit l'ecran tout seul, son mapping etant relatif a la carte — aucune retouche firmware. Seul le passage USB-C bouge, et il ne bouge QU'EN X. Le premier essai appliquait la rotation complete (x,y) -> (-x,-y) et s'est fait rejeter par verifier_interferences() : a y = -4 la lumiere mordait de 7 mm la fraisure de la vis basse du capot, dont le sommet est a -12.5. Or le passage est tres surdimensionne (20 x 31 pour un connecteur de 11 x 5.2), donc laisse a y = +4 il couvre deja le connecteur descendu a -4.6, avec 4.3 mm de marge. Ajoute verifier_passage_usb() pour que cette marge soit calculee et non supposee : c'est le seul controle qui lie la position du connecteur a celle de la lumiere, dans les deux sens de montage. Sans le flag, les STL d'origine sont rebuildes au md5 pres. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Silexperience210
force-pushed
the
case/blender-pipeline
branch
from
August 2, 2026 21:40
4bb8a0d to
a1a45c7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pourquoi
La carte JC3248W535 porte 4 bossages de 12 mm aux angles de son capot arrière. Les boîtiers existants supposent un dos plan : la carte repose sur ces bossages au lieu de s'asseoir, et l'écran ressort du boîtier d'autant. Les deux versions imprimées sont inutilisables en l'état.
Second motif : le pipeline actuel exige
numpy,trimesh,shapely,manifold3detmatplotlib. Aucun n'étant installé, les STL n'étaient pas régénérables.Le boîtier XL
Deux pièces, 53,8 mm de profondeur, logeant carte + batterie 2000 mAh + haut-parleur.
Trois contraintes l'ont façonné, aucune n'étant un choix de style :
Le connecteur USB-C étant à l'équerre, ouverture vers l'arrière, le câble traverse par un passage droit dans la cloison et le capot — et non par une découpe latérale.
Quatre finitions interchangeables du corps : lisse, cannelures, blocs en quinconce, et le hash du bloc genesis en relief (256 bits sur 32 × 8 ; sa première rangée est lisse — ce sont ses 32 zéros de tête).
Le pipeline
Construction et rendu sous Blender, sans dépendance externe : son solveur booléen
MANIFOLDest le même noyaumanifold3dqu'utilisait trimesh, et numpy est embarqué. Les générateurs de contours et la coupe de plan exacte sont portés tels quels depuisbuild_case.py.Un test de non-régression reconstruit le v1 à géométrie inchangée : encombrement identique au millième, volume à +1,04 %.
Les scripts trimesh d'origine restent en place.
Vérifications
Toutes les pièces sont étanches, 0 arête non-manifold, y compris après relecture du STL exporté — la garantie « zéro réparation dans le slicer » est tenue. Stabilité vérifiée par projection du centre de masse dans le polygone d'appui.
Réserves avant fusion
MANUAL.md. À corriger ou retirer dans un second temps.🤖 Generated with Claude Code