Skip to content

feat(desktop): the assistant makes a screw lid for a round container - #324

Merged
ManuelStaggl merged 1 commit into
mainfrom
feat/screw-lid
Nov 11, 2026
Merged

ManuelStaggl merged 1 commit into
mainfrom
feat/screw-lid

Conversation

@ManuelStaggl

Copy link
Copy Markdown
Collaborator

Second of the standards the product owner chose on 2026-11-11: a screw lid, which improvised is nearly always too tight or too loose.

  • lidSteps / lidThread / lidSkirt / lidProblem (mechanisms.ts): a thread with flat crests and roots and flanks at 45° (prints without support on the standing neck and in the lid lying on its top), coiled onto the neck with solid.coil over a drawn section. Pitch 3, 4 or 5 mm and depth 1.1, 1.2 or 1.5 mm by the neck's diameter (after the neck finishes of bottles and usual printed jars), 1.75 turns of engagement, 1 to 3 starts. The lid is made by the mechanism: a cap that stops with its inner top on the rim, the same thread half a pitch lower and the gap further out, so the two mesh as built; flutes to grip; the last 0.6 mm of its top are a cone for the bed.
  • partbuddy_mechanism {kind: lid}: the container, the name the lid shall have, the centre of the rim and the neck's outer diameter; starts, gap (three quarters of the nozzle, at least 0.3 mm). to is no longer required by the schema. A name that is taken is refused; a thread that does not touch the neck is taken back with what the neck must be.
  • Print faces for the plate view: a print face set through SolidCraft was not seen by PartBuddy's plate view, which keeps its own print-faces.json. The lid's face is now kept and sent to the window (design:print-faces-changed), and so are the print faces of a template (the stop of the adjustable stop lay as designed on the plate until now). printFaceName waits for the engine after a project switch and logs when a face is not kept.
  • Not used: solid.thread. Its trapezoidal form has 15° flanks, which overhang in print, and the phase of two threads cannot be set, so they overlapped as built. Found on the way: 0.40.0-rc.4 refuses to chamfer the top edge of a plain cylinder from about 60 mm of diameter, hence the cone.

Checked: eslint, typecheck, all unit tests; against SolidCraft 0.40.0-rc.4 a new contract test (jar and lid through the fake assistant: 2 bodies, no overlap, no failed feature; on the plate the lid lies on its top), the template test (the stop lies on its top on the plate) and the print face, screw joint and closure tests. With solidcraft-cli: necks of 16, 40, 60, 100 and 200 mm with 1 to 3 starts build without interference. Not printed; the clearance is the middle of a disputed range (0.2 to 0.6 mm in the sources).

🤖 Generated with Claude Code

partbuddy_mechanism takes kind lid. It coils a thread with 45° flanks
onto the neck and makes the lid with the matching thread, flutes to grip
and its top as print face. The two mesh as built and print without
support. Print faces set by a mechanism or a template are now kept for
the plate view, so the lid and the stop lie there as they will print.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@ManuelStaggl
ManuelStaggl merged commit 0880418 into main Nov 11, 2026
7 checks passed
@ManuelStaggl
ManuelStaggl deleted the feat/screw-lid branch November 11, 2026 09:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant