Question on approach or constraint

I’m trying to constrain something to be 1/3 of a distance of a side. In woodworking, when create mortise and tenon joinery, the common rule is that your tenon is 1/3 the thickness of the material. Also, a lot of CNC projects for plywood utilize box joints where a tail might be a percentage of the length of a side.

How do I setup this constraint using parametric modeling? I love the ease of Shapr3d and have resisted Fusion 360 but having named parameters and being able to utilize formulas for dimensioning is something that is lacking in Shapr3d.

Once again I find myself trying to do something in Shapr3d that is easier to do elsewhere.

Variables and expressions are something that we’re working on as we speak and will be released in a few months. They’re indeed useful for such use cases – that’s why we’re adding them.

Until then, many of the simpler situations (such as halves, thirds etc.) can be used with some geometrics. For this particular case you could add three construction lines that are constrainted to be:

  1. tangent to each other
  2. perpendicular to the edges of the body
  3. of equal length

If that’s all set, the application will automatically calculate the sizes so that each segment would be 1/3rd in size of the edge and then your tenon can be aligned/constrainted to that.

geometric third.shapr (7.4 KB)

It’s trivial to do it for halves (we offer the halfpoints of the edges for snapping), the steps above are good for thirds, quarters are a repeat of the halving – but I admit, for smaller subdivisions and for arbitrary percentages this approach is not working well.

1 Like

Thanks for responding Peter. I figured there might be some type of hack using constraints but just couldn’t find the correct combination. I even tried the linear pattern but things didn’t adjust correctly when resizing.

Glad to hear this feature is on the radar. Formulas and named variables are the only thing causing me to deviate from using the product 100% of the time. I love using Shapr3d and find it amazingly faster than the alternatives. I’ve spent time in OpenSCAD and F360. Each have some advantages but Shapr3d is my go to.

Sure thing, we’ll let you know when we have the builds good enough to be shared with the wider public.

In Fusion360 what do you typically use named variables and expressions for? Are those relationships like the one you mentioned here or are other use cases as well?

I used F360 when it was first released but am resisting using it again due to the cost not to mention I find it much easier to do things in Shapr3d. That said, I used named parameters extensively when I used it to store dimensional values. The expressions were quite handy as you could take say something like and existing variable and divide it by 3 in this case, and store that as a new variable.

I’ve been in the IT field for over 36 years as a Dev/Architect so I guess parameters and code come more natural to me than other approaches. I wrote scripts in F360 to build out full cabinetry parts based on parameters. Have done a similar thing using Lua in another tool. Tried OpenSCAD and while I like it, it has a strengths in some areas but lacks in others. Try doing fillets in that tool and you loose your hair :slight_smile: Solidworks’s Grasshopper intrigues me but don’t want to make the jump. All of these use parametric approaches.

Thanks for the info! And I fully understand and share your love-hate relationship with OpenSCAD :slight_smile: From that group of programmatic CAD tools, I found build123d to be the most usable for me, but without a built-in constraint solver one starts to do complex mathematics very quickly which is fun but not really effective if the real goal is to create an actual 3D design…