Feature: Support stacking lip notches#136
Open
Dooez wants to merge 17 commits into
Open
Conversation
greg19
suggested changes
Feb 9, 2026
greg19
left a comment
Contributor
There was a problem hiding this comment.
Can you move the type stubs to a separate PR? This will probably fix most of the failing checks. Then please squash the commits.
Author
|
Is an explicit squash necessary? |
Contributor
Squashing commits and rebasing against master makes it much easier for reviewers. |
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.
An implementation of notches for stacking lip to prevent slipping of smaller bins when placed on top of longer bins.
Only rectangular bins are supported because custom bins would require to differentiate between outer and inner vertical edges. I wasn't able to do it quickly and unfortunately I cannot spend more time on this project at the moment.
While figuring out how the workbench is implemented I've added some pseudo classes for easier understanding. There is a chance that the inheritance tree is not entirely correct, but it mostly works.
It's for language server typing annotations only, so obviously not required and can be removed.
I've tried to avoid coupling to freecad stubs since with 1.1 there are native python bindings in FreeCAD.
A screenshot and a couple of prints are attached.
The notches work reasonably well, but for longer parts, thin walls bend and allow for easier sliding.
Thickening the walls helps.
Adding thicker ridges to the bottom of the bin underneath the notches may be another generation option in the future.
The amount of commits is due to poor initial formatter and linter setup.


