Skip to content

New Generator: Apothecary Drawer Box #786

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

dstotz
Copy link
Contributor

@dstotz dstotz commented Apr 22, 2025

Adds a new generator for Apothecary style drawer box and optional drawers using existing generators

@dstotz dstotz force-pushed the apothecary-drawers branch from 49b1019 to 4c102a3 Compare April 22, 2025 18:22
@florianfesti
Copy link
Owner

This really should be 3 different PRs. Anyway let's have a look at the commits one by one.

While I think adding the dimensions to the label is useful for some people I am not a fan of adding a new parameter to rectangularWall. This adds just to much code for a small feature and leaves it incomplete almost everywhere. I'd rather see the labels standard parameter growing an option to enable this for all pieces. Probably by making it a choice with none, description, measurements and both. Just keep the default as description and you don't even need to touch any example SVGs.

I am all for making the use of the Dockerfile for development purposes easier. This would just be merged if it was a separate PR.

Now to the main course. We totally want something like this generator. Having an actual image would be appreciated, though.
I wonder if there is a more elegant way of solving the finger joints. If you force a even number of fingers you can just do all uneven fingers. As the edges of adjacent pieces are in opposite directions they should fit together. That way you only need one type of edge. The Platonic generator does something not completely unlike this. This feature should probably added to the FingerJointEdge as a general feature enabled by a private parameter in the FingerJointSettings similar to the angle.

While not a requirement to be merged an option to just add rails similar to the HobbyCase generator might be a nice addition.

@dstotz
Copy link
Contributor Author

dstotz commented May 5, 2025

@florianfesti thanks for the feedback! I will go ahead and break this out into multiple changes so we can work on each independently and rebase as needed. Would you prefer to have this PR get closed and I'll open a new one once all dependent changes are merged? Or are you okay with me leaving this PR open and I'll reference the other PR's in a comment so they are linked?

For the labels, I totally understand. I was hoping quick and dirty would do the trick, but in the end it's not a good look. I'll give your recommendation a shot.

As for the alternating finger joints, I will definitely take a look into that. If I am unable to make that work without too much difficulty, would you be open to keeping the joint implementation in-line as-is and then creating an issue for a future todo to refactor it and make it reusable?

And I do have an image of a smaller test print I did so you can see how it looks. I was just going to wait until I printed the full size 3x4 setup before submitting the real image, but if you think this is good enough, I can go ahead and crop and add this one now.
IMG_1780

@dstotz dstotz force-pushed the apothecary-drawers branch from 4c102a3 to 4d0034d Compare May 5, 2025 20:12
@dstotz dstotz marked this pull request as draft May 5, 2025 20:14
@dstotz
Copy link
Contributor Author

dstotz commented May 5, 2025

Relies on #794 for passing label_formats arg to sub-generators

dstotz added 2 commits May 5, 2025 15:15
Adds a new label_format option that can be used to specify an option to allow for displaying measurements of a part instead of or in addition to the generators provided label. Made description the default option to preserve existing behavior.
New generator for Apothecary Drawer Box and optional drawers using
existing generators. New custom edge added for alternating finger joints
to save on material costs.
@dstotz dstotz force-pushed the apothecary-drawers branch from 4d0034d to d7f20d5 Compare May 5, 2025 21:54
@dstotz dstotz force-pushed the apothecary-drawers branch from 6ca6ae7 to 874af95 Compare May 6, 2025 20:14
@dstotz
Copy link
Contributor Author

dstotz commented May 6, 2025

@florianfesti I tried out the platonic implementation but it didn't work for my use case since I don't want them to actually interlock, I want them to intentionally alternate skipping a joint.

I ended up going with the FingerJointSettings approach you recommended which really let me dry up the implementation and make this reusable.

I'm going to move this PR off of draft and it is ready for review!

@dstotz dstotz marked this pull request as ready for review May 6, 2025 20:16
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.

2 participants