smellsofbikes,
@smellsofbikes@mastodon.social avatar

A dubious idea I have about cutting curved dovetails so a box would look like an impossible dovetail box, but would in fact have the top open on an arc rather than a diagonal slide like most impossible dovetails.
The axis of rotation is the left corner, where there's a green line.

kbob,
@kbob@chaos.social avatar

@smellsofbikes Clever idea. The printer is busy, but I have STL files ready to send...

My rotation point is inside the box. The dovetails are just lofts, not proper conical surfaces, but I suspect they're within manufacturing tolerance.

smellsofbikes,
@smellsofbikes@mastodon.social avatar

@kbob oh that's cool! I didn't think to try 3d printing it. I have a small CNC mill.

kbob,
@kbob@chaos.social avatar

@smellsofbikes Done. As I said, I fudged on the math. Though I think the correct shape just a revolve of a trapezoid that's planar but doesn't intersect the revolution axis.

A box assembled from two dovetailed halves. The top is blue, and the bottom is yellow.

kbob,
@kbob@chaos.social avatar

@smellsofbikes I decided to use Archimedean spiral infill to indicate where the center of rotation is. I spent more time tricking PrusaSlicer into putting the spiral center in the right place than I did modeling the dovetails.

In the end, I made the box part of a bigger object that has the rotation axis at its center. Then I cut away the unneeded part.

Blue is PETG on textured sheet; yellow is PLA on smooth sheet.

Two halves of a box with a large arrow-shaped protrusion sticking out from one corner. The circles in the infill are centered in the box plus arrow.

oblomov,
@oblomov@sociale.network avatar

@kbob @smellsofbikes nice! Do you have a video of the opening/closing mechanism?

kbob,
@kbob@chaos.social avatar

@oblomov @smellsofbikes It's not much to see, but sure.

I made the clearances loose, so it just slips together.

I pick up the two pieces of the dovetail box and rotate them together. Then I rotate them apart.

oblomov,
@oblomov@sociale.network avatar

@kbob @smellsofbikes oh nice. For some reason I had the misguided impression the motion would be vertical. Now that I see it In something wherever that came from, LOL.

smellsofbikes,
@smellsofbikes@mastodon.social avatar

It took a lot more math than I expected to make the intersections of the dovetail arcs the same width for both radii. If I were better with freecad I could make this a constraint and have the system calculate it.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@smellsofbikes Nerdsniped... What dimensions do you want? ☺

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@smellsofbikes So I'm now working on a completely parametric design based entirely on robust constraints. I would expect a design rotating on that corner edge to be a right pain to actually assemble, so what I'm modeling puts a pin in the corner defining the axis of rotation. A reamed pin hole will provide a precise reference for mounting on a rotary table, and then when it's finished will align the top and the base to fit together.

For manufacture, my idea is to make drawings that show a distance across spheres for measuring the dovetails, since you can't measure a curved dovetail with gauge pins...

However, I've run into what I think is a bug in the development version of FreeCAD I'm running with the TNP mitigations in place, so I might have a short detour for a bug report. We'll see... ☺

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@smellsofbikes Second time in a few days that git pull and rebuild fixed a bug before I could even report it. I haven't done the lid yet, nor any drawings for measuring across spheres, but the lid will be easier because subtracting a shapebinder of the base from the lid will make the corresponding dovetails.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@smellsofbikes Oh now I understand the problem! I didn't see it until I got it modeled this far. Now I realize we're talking four custom dovetail cutters for perfection. (You have a d-bit grinder? 😀) Realistically the straighter of the two dovetails will be good enough to look right if cut with a normal dovetail cutter, but the extremely angled one won't.

Now I understand why it was hard to constrain robustly without mathing it out! Back to the drawing board for me!

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@smellsofbikes Perhaps the hardest part is that the dovetail cutter itself would need a curved profile in order to project a straight line on the box surface. I think that the steeper the dovetail angle, the more obvious this effect would be. I can't tell from your screen shot; were you accounting for this in your design?

smellsofbikes,
@smellsofbikes@mastodon.social avatar

@mcdanlj I was not because I definitely don't have the patience to try to make a dovecutter. Although for wood I guess that might not be so bad.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@smellsofbikes I could model the lid dovetail with some clearance and try 3D printing... 🤔

smellsofbikes,
@smellsofbikes@mastodon.social avatar

@mcdanlj I would LOVE to see this, and was thinking about doing the same thing. Or giving it a run on the cnc mill and seeing if a 60 degree dovetail in pine would cut something that was Good Enough.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@smellsofbikes Ok, when I'm back at the computer I'll model the lid dovetail separately instead of subtracting the base from the lid, and add a clearance parameter.

For fudging the visible edge, I'd consider getting a 40° internal angle, 20° per side cutter, to reduce the visible curve at the edge.

Another idea would be SLM or SLS now that it's relatively cheap. But... not in 316 stainless!

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@smellsofbikes The eye probably wants the clearance to be normal to the surfaces, but actually what we want is horizontal and vertical clearance, so despite the illusion, the vertical and horizontal clearances here are the same 0.1mm, which is a parameter so people can adjust for their printers.

I have pushed the new files. I suspect that stable FreeCAD can read the Parts file. A current weekly build should be able to read the Assembly file that puts them together properly. The lid should be able to rotate in the assembly because I use a Revolute joint, but I haven't figured out how to do that.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@smellsofbikes The problem with the lid not revolving was that I was using Gesture navigation. Switching (temporarily) to Touchpad and making sure the assembly itself is the active object allows me to rotate the lid around by dragging it.

(I tried to post a screencast showing this success, but Mastodon rejected it for being 1000fps (it's not) and I'm not going to debug that right now... ☺)

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@smellsofbikes OK, I think that sketching on the face and revolving around the axis of rotation, then cutting off the extra, gives me a theoretically-correct object. However, to machine it might actually take eight different dovetail cutters; one for each face on each part, because the base would need convex cutters and the lid would need concave cutters.

I'm unlikely to machine this myself, but https://gitlab.com/mcdanlj/RotationalImpossibleDovetail has both the original wrong version and the updated files. I haven't yet set up the spreadsheet with the driving parameters to actually be a configuration table, but it's set up to trivially convert to a configuration table.

If you try to machine any variant of this, I do not envy you the headache but will enjoy pictures... 😀

</nerdsnipe>

Base of rotational impossible dovetail box
Lid of rotational impossible dovetail box

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@smellsofbikes Addendum: Somewhat ironically, this was done in very latest #FreeCAD (as of a couple hours ago) with the TNP mitigations enabled (FC_USE_TNP_FIX defined), but this particular model is, I think, fully robust against topological ambiguity even without the mitigation, since I tried to define everything against fixed datums, nothing relative to geometrical elements.

smellsofbikes,
@smellsofbikes@mastodon.social avatar

@mcdanlj I have been thinking about how I'd actually cut this. It's really cool that you took this on and I learned a bunch by looking at how you modeled it.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@smellsofbikes I'm trying to validate my construction by creating an assembly, making the lid partially transparent, and rotating it around the pin, but I still can't figure out how to get the lid to rotate in the assembly.

smellsofbikes,
@smellsofbikes@mastodon.social avatar

@mcdanlj I've played with a couple of the Assembly workbenches and whew, the amount of work I felt like I had to go through to get something moving the way I intended was really high... but it's been at least two years since I last battled that, and I know they've been working on that.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@smellsofbikes They have made excellent progress on the new integrated Assembly Workbench. It's fairly streamlined, and they have kept it to a small number of flexible constraints ("joints"). It's not finished yet, but they paid attention to UX while building it. They are clearly intending it to be generally usable in a few months, since it was one of the defining features for "1.0" and they are currently hoping to get there by August, last I read. 🤞

Unfortunately, the author of Assembly4 took umbrage at some of what Ondsel wrote in their rationale for building a new workbench with a C++ solver, and he became so abusive that he was permanently banned from the FreeCAD forum. 😭

chrishuck,
@chrishuck@fosstodon.org avatar

@mcdanlj @smellsofbikes You guys are going to make me take this on tomorrow. I feel like I need to have this on my desk at work to have some fun with our machinists.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@chrishuck @smellsofbikes Approximating the cuts with a straight dovetail cutter and accepting curved lines on the side, or making a set of custom dovetail cutters?

If you have a CNC lathe handy, I think you have a better chance than me of making all the custom dovetail cutters. I think with Realthunder's fork, the ability to use imported geometry as defining geometry in a sketch could make the cutters easier to define.

The fact that any set of eight cutters would be specific to a single size of box (ignoring height) makes this feel like a lot of work to me.

chrishuck,
@chrishuck@fosstodon.org avatar

@mcdanlj @smellsofbikes Oh, I would just 3D print it. Even with the equipment we have at work, I think it would be a tough sell with the shop manager we have to let me machine such an item. It’s hard enough getting him to make the parts I need for actual work stuff. 🙄

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@chrishuck @smellsofbikes I just pushed a fix to my model. I had somehow gotten a sketch attachment not parameterized. Now the box resizes when the parameters are changed.

My model with 200mm square plan

ryancoordinator,
@ryancoordinator@fosstodon.org avatar

@mcdanlj @chrishuck @smellsofbikes sign me up for 3d printing one of these too!

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@ryancoordinator @chrishuck @smellsofbikes Love to hear how it goes!

I suggest setting height and width parameters for a fairly small box while testing dovetailClearance values. I chose 3mm for the pin diameter because I have 3mm stainless rod handy; choose something you have easily available.

I am still playing around with design, so haven't started printing. I'm planning to slow my printer down substantially because some of these sharp corners might have the tendency to ring a little, even with resonance compensation.

kbob,
@kbob@chaos.social avatar

@mcdanlj @smellsofbikes If the box is square, and rotation axis is on the diagonal, wouldn't four cutters be enough because the surfaces on each side of the diagonal would have the same shape?

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@kbob @smellsofbikes I don't think they have the same shape; they are curved to create different conic sections as far as I can tell intuitively. I haven't tried to math it or model it though, so feel free to show why I'm wrong.

To model it, I would create the four dovetail surfaces, and then find the intersections with the plane defined by the axis of rotation and the opposite corner.

To math it, I would ask someone else better than me at that sort of thing to do it for me. 💃

kbob,
@kbob@chaos.social avatar

@mcdanlj @smellsofbikes Here's a picture that shows the same two tool edges each cutting two dovetail edges. They are indeed curved tool edges, but it's the same curve. So two tools can cut those two dovetails, and two more tools can cut the other two dovetails.

You should be able to intersect the tools' cuts with a plane that intersects the axis and get the tools profiles. (I have no idea how to convert that into an actual tool, though. I have never gotten into CNC.)

kbob,
@kbob@chaos.social avatar

@mcdanlj @smellsofbikes Oops, yes, it's eight tools. Four tools for the tails, and four more tools for the slots the tails go into. Arrgh.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@kbob @smellsofbikes @chrishuck I used a sketch to look at what the cutters would have to look like. For my example 4mm high dovetails 15mm max width, 30° angle, and a 60mm outside box with rotation point 4mm inset in both X and Y in from the corner, it looks like if one used straight cutters instead of curved cutters, the max deviation from the defined curve would be about .016 mm, which in reality would be half of that if you split the difference top to bottom. In imperial, that's about 3 tenths (ten thousandths of an inch) which is beyond the skills of most home gamers like me.

Also, good luck finding a set of 10.736°, 17.541°, 30.399°, and 30.965° dovetail cutters off the shelf! 🤣

Realistically, I do wonder how close the most extreme angle would have to be to deceive the eye on casual inspection. Especially after some creative deburring work. It doesn't have to be straight, it only has to look straight.

Extreme close-up view of dimension showing max deviation of chord from conic section

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@kbob @smellsofbikes @chrishuck Never having taken analytic geometry, I am not equipped to find the chord mathematically, even though I can model it concretely.

I haven't figured out how to model it in a robust parametric way. An analytical solution would let me use expressions to determine cutter angles for each surface parametrically, so if anyone wants to contribute those expressions I'm all (virtual) ears. Besides an analytical solution, it's possible that the TNP mitigations could make a model sufficiently robust in practice to allow configuration.

For recording iterative solutions, I could reasonably set up multiple configuration tables, including one just for the combinations of parameters that impact dovetail edge shape, and keep that separate from other configuration.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@kbob @smellsofbikes @chrishuck I was being silly.

I was thinking that I needed to find the conic section, then project it into a plane, then take the chord.

I was making it hard.

It's just triangles.

chrishuck,
@chrishuck@fosstodon.org avatar

@mcdanlj @kbob @smellsofbikes I was about 20 miles into a 60 mile ride today when I realized that figuring out the shape of the dovetail cutters is a simple projection of the final edge onto a plane that passes through the center of rotation. That’s if you want 45-degree dovetails that are equal on all sides. I thought it would be fun to have unequal angles to allow standard cutters, just to make the final result seem even more “impossible”.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@chrishuck @kbob @smellsofbikes Yup, that was the realization I had.

I've realized that even the curved surfaces could be cut with CNC and a steeper dovetail cutter. For an apparent 30° angle (what I've modeled) you could use a 45° dovetail cutter and do fine passes at Z intervals of something like half the tip radius of the cutter. The machine won't get bored... ☺

Doesn't really require CNC. Could even do lots of stations manually on a rotary table if you don't mind being bored out of your skull for a few hours and aren't afraid of misreading one number once and scrapping the part! 😅

All this makes me think that I want to model each piece twice, one with the theoretically exact curve, and one that is a model of using a conical cutter of a nearby angle (by some measure of "nearby" that might include "make a customer cutter" or could be manually selected for "cutters you can buy cheaply"). 🤔

This means I should take all the expressions out of my constraints and put them in the spreadsheet, and alias them well because I'll be using them more.

f4grx,
@f4grx@chaos.social avatar

@mcdanlj @smellsofbikes the cover will be particularly tricky to mill to the exact dovetail travel radiuses. Much harder than the box itself, in fact. Many adjustments will be required I guess.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@f4grx It's not obvious to me why the cover is harder than the base of the box. Given all 8 custom dovetail cutters necessary to produce truly straight lines on the surfaces, it seems like both are the same work?

With my idea of the lid rotating on a locating pin in the corner, I'd think that machining the lid first, then the box base, and starting from the inmost surface out, would let you take light passes until each surface in turn engages between the base and the lid, until all four surfaces match?

done,

@smellsofbikes did you end up creating using the revolve tool? Or did you make a cut tool and use booleans? What was your approach that required math? I hope between FreeCAD and Fusion, I’d love to use FreeCAD alone but I find as a newbie Fusion is way more forgiving.

smellsofbikes,
@smellsofbikes@mastodon.social avatar

@done I used the cutting revolve on this, and my math was crummy: drawing it out on graph paper and doing some trig to figure out the length of the intersecting angle was and then just assigning a value to that constraint in the sketch. @mcdanlj did a much better job in his version of it, also in the replies.
Freecad is for sure a higher learning curve. I've been using it for years so I'm kinda used to it.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@done If you want to become more comfortable with #FreeCAD, @concretedog has a freely-downloadable introduction.

https://blog.freecad.org/2022/10/05/new-book-freecad-for-makers/

I find that written tutorial material for FreeCAD is somewhat limited. MangoJelly and Joko Engineering are two helpful YouTube channels.

The current development versions of FreeCAD have a lot of usability improvements. ❤️

GustavinoBevilacqua,
@GustavinoBevilacqua@mastodon.cisti.org avatar

@smellsofbikes

Genial!

smellsofbikes,
@smellsofbikes@mastodon.social avatar

@GustavinoBevilacqua One kinda neat thing about this is you could put the center of rotation at a number of different points and have different lid slide behavior depending on which it is. As the axis of rotation tends towards infinity, the behavior tends to be a slide, of course, but as it gets closer to the box, or even inside the box, the behavior gets pretty weird.

xorn,
@xorn@mastodon.social avatar

@smellsofbikes @GustavinoBevilacqua Linear translation being a rotation with axis at infinity is the part of screw theory that always leaves me with the feeling that reality is a joke and nobody will explain the punchline to me because it'll make it un-funny

oblomov,
@oblomov@sociale.network avatar

@xorn @smellsofbikes @GustavinoBevilacqua

it all starts making much more sense when going through the geometric algebra formulation.

But translations being rotations around axis at infinity makes sense more naturally if you consider that points/lines at infinity are the meeting places of parallel lines/planes, and rotations are motions through bundles of lines all intersecting in one point.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • DreamBathrooms
  • ngwrru68w68
  • tester
  • magazineikmin
  • thenastyranch
  • rosin
  • khanakhh
  • InstantRegret
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • mdbf
  • tacticalgear
  • JUstTest
  • osvaldo12
  • normalnudes
  • cubers
  • cisconetworking
  • everett
  • GTA5RPClips
  • ethstaker
  • Leos
  • provamag3
  • anitta
  • modclub
  • megavids
  • lostlight
  • All magazines