Log in

View Full Version : Mortise and tenon joints



waynelocke
04-09-2005, 11:21 AM
I have doing some mortise and tenon joints and I draw them and make cut files in my usual way. I have no programing skills but it seems that this is a process that could be programed parametrically and would be a great addition to the virtual tools.
If you could coose single or double tenons, size and length, and tahe allowance between the mostises and the tenons. If you could fill in for the mortises and have it generate the mating tenons, it would be a terrific thing for the furniture building Shopbotters. Has anyone done this?
Wayne Locke

waynelocke
04-09-2005, 11:22 AM
I have got to start proofreading before posting.
Wayne

gerald_d
04-09-2005, 12:16 PM
Wayne, registered members have 30 minutes to edit a post on this Forum. Click on the
3 icon at the far top right corner of your post.
How do you hold your tenons? Flat on the table, or vertically up at the end of the table? I am quite sure that the clever "virtual tool" writers could write a "bot" for this. In fact, I am sort of surprised that there is no "vir-bot" for this yet??

waynelocke
04-09-2005, 01:30 PM
I cut the tenons vertically.
Wayne

mrdovey
04-09-2005, 01:59 PM
Wayne...

You might find http://www.iedu.com/DeSoto/jigs.html interesting. Near the bottom of this page there's a link to another with photos of the earliest versions of my jig.

...Morris

davidallen
04-09-2005, 04:23 PM
you could use the same rig I setup to cut dovetails and finger joints for boxes. check the posts from a couple of years ago.

waynelocke
04-09-2005, 05:09 PM
The physical jig I can handle. The programming is what would be really useful and what I have no idea about.
Wayne

Brady Watson
04-09-2005, 05:33 PM
Or...if you are really crafy, you could make an indexing plate that would allow you to turn the router 90° in the ZY plane and put the work piece on vacuum pods...now you can do dovetails, drill holes in places you couldn't before, and essentially have a poor man's 5th axis (really a 4th axis unless you make a gimbal mount to swing the router in the XZ plane as well)

Food for thought...

-Brady

mrdovey
04-09-2005, 06:21 PM
Wayne...

The jig isn't difficult; and the cuts are all straight cuts - unless you want to round your tenons to fit rounded mortises - so what, in particular, are you finding difficult in the programming?

...Morris

waynelocke
04-09-2005, 07:02 PM
I would like to make either a single or double tenon, be able to enter some numbers and get a cut file for the tenons and a matching file for the mortises which would be rounded to fit. I can make the file but every tenon requires at least some drawing to generate a tool path and the tenon needs to be a bit smaller than the mortise by about .005 or so. I was just hopeful that someone had tackled this because it seems such a common problem and such a perfect fit for cnc. It would solve the woodworking paradox of rounding the tenon or squaring the mortise.

Brady, that would be great to be able to turn the router 90 degrees. I have at times thought about and considered it, however, my shop is on a slope and I have a hole in the floor where I can hold a 10' long piece vertically to mortise. It would be great to just walk up to the SB and just enter numbers with no drawing.
Gerald, thanks immensely. I can't believe after all this time I never knew how to edit my post or about the 30 minute rule. This is an edited post. It makes me feel almost literate to see it.
Wayne

mrdovey
04-09-2005, 10:15 PM
Wayne...

If you have a jig to hold the workpiece vertically, it's easy to cut a tenon. The job is much simplified if you make a sketch like this top view of a single tenon (assumed to be secured in an end-of-table jig):

4
and identify the parameters that need to be defined to cut exactly what you want. I show a list of parameters - but the tenon could be defined in other ways.

Since it's easier to cut a rounded tenon than a square-cornered mortise, I took the easy way out.

Represent each of the parameters with a variable instead of a value and write a program that uses those variables to get the job done. When that task is finished, you can produce whatever tenon you want just by assigning the appropriate values to those variables at the beginning of the program.

For two tenons, figure out what additional parameters are needed to define the second tenon and proceed as in the single tenon case.

...Morris

gerald_d
04-10-2005, 01:47 AM
..... remember that we need a matching mortise cut file from the first parameters, that is about 0.05" (definably) smaller than the tenon - from entering the parameters once......

mikejohn
04-10-2005, 01:54 AM
Why smaller?

gerald_d
04-10-2005, 04:29 AM
Because it is Sunday morning, I am not awake yet, have made a mistake, and my 30 minutes has expired.
It should read bigger. Thanks for keeping me on my toes.

mikejohn
04-10-2005, 07:52 AM
Gerald
If that was the only mistake I made in a day, I would be a happy man

let me tell you sometime about the guy working for me who flew 4 hours to the target area, only to discover his film magazines were empty!!

.........Mike

fleinbach
04-10-2005, 08:23 AM
["let me tell you sometime about the guy working for me who flew 4 hours to the target area, only to discover his film magazines were empty!! "]

Bin there done that!

waynelocke
04-10-2005, 10:34 AM
Maybe I have not been clear. I can hold the piece. I can draw the mortise and tenon. I can make the cut file. I can cut the joint. I would like to avoid going to my design computer in my office and drawing every joint and making a cut file. In short, I reinvent the wheel every joint.

My question essentially was, has someone made a parametric program for this? If not , why not. It seems such a good fit for Shopbot and is such a common woodworking joint.

Morris, I appreciate your input, but it is akin to directions for heart surgery which includes detailed directions to the hospital, checking in, and prepping the patient and ends with a simple, do a bypass. When you say, "write a program" to a non-programer you might as well say, "do a bypass". How would you begin to program this?

Wayne

beacon14
04-10-2005, 10:53 AM
Wayne,

The way to write a program is to think like a programmer - create a logical system that solves the problem using variables for the critical dimensions, formulas for telling the machine where to go based on the values of those variables, and INPUTs and IF...THEN statements for navigating within the program. If you are not already familiar with the programming commands of the language you choose to program in, then that is your first step: learn the language. What you want could be done in any of a number of programming languages. I use the ShopBot command language because the extent of my programming education was a course in BASIC in Jr. High School (almost 30 years ago) and the ShopBot code is easy to follow if you know a little about BASIC programming. (It's also easy to learn if you don't know BASIC yet.) One word of warning - programming is based on mathematical formulas and logic; some people "get it" easily and others just don't. If you are one of the latter you might be better off hiring someone to write the code for you (or trading for something you are good at). I would be happy to send you my drilling program - it doesn't do what you want to do but it would be a good example of how a ShopBot Part File program is set up and organized and how the INPUTs and IF..THENs work.

Perhaps we should have a thread about programming in ShopBot for parametric projects like this.

bleeth
04-10-2005, 11:16 AM
An excellent idea Dave B.
Dave A.-looked for the post with your jig and couldn't find it.

Dave R.

mrdovey
04-10-2005, 11:47 AM
Wayne...

The starting point is the jig, because you will need to be able to position the workpiece at the right position, angle, and height - and at least some parts of your program will probably be designed specifically for that jig.

Once you've positioned the workpiece, you can start the spindle - and move to the location where you'd like to begin cutting with the J2 command and lower the bit into the end of the workpiece with the MZ command.

You could then use the CP command to cut one rounded end, the MY command to cut the first flat side, the CP command again to cut the other rounded end, and the MY command to cut the other flat side.

You can use the M2, MX, and MY commands to clean up the shoulders - and when you're done you use the JZ command to raise the bit away from the work and J2 to move it to where it's out of your way.

These commands and how to use them are described in the ShopBot Command Reference - and they're easy to use.

If you're willing to give it a try, I (and I'm sure others) will be willing to coach and critique to help out.

It really isn't all that complicated!

...Morris

paco
04-10-2005, 01:27 PM
I'm in!!

That could be really COOL to work on public/common programming projects... I'm just about to start my brain cells on a paricular calculation that I'm sure I could speed up with some help... but I'll try myself first...

Back to Wayne "problem"/Morris suggestion, I see this as a two part project; we need two file that is one for the tenon and one for the mortise... what would be the rule we would need to respect about a good tenon/mortise strenght and fitness?

Anybody else in?

srwtlc
04-10-2005, 02:32 PM
To save a bunch of typing, here's a good primer (http://www.woodworkersjournal.com/articles/mortiseandtenon.cfm).

The mortise files would have to be run 2D offset after positioning the tool to the proper location.

mrdovey
04-10-2005, 04:22 PM
Paco...

The first rule should probably be that the tenon should not be larger than the mortise in any dimension.


Here's a quick and dirty piece of sample code:


draft code

5 (2.3 k)

I hope this helps.
...Morris

mrdovey
04-10-2005, 05:50 PM
There are a couple of "oops"es in the sample code (the draft code was too quick and very dirty):

[1] I haven't seen a bit with a 2-1/2" CEL, so take that with a grain of salt.

[2] I screwed up the diameter for the CP commands; but suspect that everyone can spot (and correct) that error without much difficulty. I don't normally use any of the provided arc/circle cutting commands and forgot to add the diameter of the bit to the thickness of the tenon for a correct (true) path diameter.

Sorry.

...Morris

ron brown
04-11-2005, 08:41 AM
Morris,

One of the things I have never done is any programming - well a little 25 years ago - and struggled to learn it then. Thanks for the intro into the tenon program.

[1] - about 15 years ago I bought four 1/2" diameter X 3" CEL router bits. I have one left. I use it only on projects it is really needed.

[2] - "Tenon thickness" will be a good place to put "clearance". This dimension will depend on personal tastes and glue type, IMO.

[3] - I really like the *** Add code here to clean up shoulder *** - this really should be done before the tenon is finished. It will also need some "if" commands.

Thanks for taking the time to give us ignorant folks a start.

Ron

mrdovey
04-13-2005, 10:04 AM
Ron...

I doubt there are many ignorant folks around here - and suspect that many of the non-newbies could have provided a better intro program.

Really good code would probably cut the tenon in multiple passes with the depth of each pass calculated from the diameter of the bit.

I only have 5+" on z travel available, so I tend to think in that reference frame. I can only envy your ability to use a 3" CEL bit on your machine!

...Morris

beacon14
04-17-2005, 04:38 PM
new thread: programming with SB commands (http://www.talkshopbot.com/forum/messages/29/7427.html?1113769932)