Making tenons

Page 2 of 2  
I have used this method on gardern benches and it works.
It just requires more time to get that strip to fit just right and those dados cut just right.
It does work... I was looking for a quicker method.
Mike in Arkansas wrote:

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Wed, 06 Dec 2006 16:14:04 GMT, Pat Barber

And making individual mortise and tenon joints is quicker? You're a better man than I!
(BTW, sorry about re-describing the method before reading the whole thread)
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
I have used this method.. It is always a little problematic getting the upper and lowers "just right" but the method does work... That's a lot of parts with wet glue trying to make it fit together.
Jim Northey wrote:

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I don't know about the rest of the troops, but personally I use a single groove 1/2" thick long engough for _all_ the slats to fit in, no tenons needed, and shoot a brad or 2 through the back side if necessary.
--
For every complicated, difficult problem, there is a simple, easy
solution that does not work.
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
I've been using a stack dado, just the outside blades, swapped side for side with a spacer between. it has a max width of 3/4" or so, but that covers a lot of ground.
I have had to make some custom spacers, but that's what lathes are for, eh?
works pretty well in my shop.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Pat Barber (in Z7gdh.153104$ snipped-for-privacy@bgtnsc05-news.ops.worldnet.att.net) said:
| I must have read a thousand articles and looked at | many variations of jigs that produce a tenon. | | I have never come up with a jig that I liked that | produced a tenon in a reasonable amount of time.
| What do all the troops use for this operation ????
Just remember that you /did/ ask...
Follow the link below for a look at how I cut /angled/ 1/4" tenons (in 1/4" hard maple stock) to /exactly/ fit a routed mortise using ~30 seconds/tenon.
Scroll to the bottom to see a stack of tenoned parts.
-- Morris Dovey DeSoto Solar DeSoto, Iowa USA http://www.iedu.com/DeSoto/Bevel.html
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
I didn't forget and that is a very cool solution to a rather difficult problem. It never occurred to me that a CNC router couldn't actually cut any known angles without a little help.
Not having ever seen a shopbot in person, I can now see that it really has no way to move the cutter head to any angle other than 90.(that may be a bad assumption)
Are "all" your cuts in a flat bed position or can the cutter be positioned at other angles ???
Morris Dovey wrote:

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Pat Barber (in PwFdh.438626$ snipped-for-privacy@bgtnsc04-news.ops.worldnet.att.net) said:
| I didn't forget and that is a very cool solution to | a rather difficult problem. It never occurred to me that | a CNC router couldn't actually cut any known angles without | a little help. | | Not having ever seen a shopbot in person, I can now see that | it really has no way to move the cutter head to any angle | other than 90.(that may be a bad assumption) | | Are "all" your cuts in a flat bed position or can the cutter | be positioned at other angles ???
The ShopBot's standard spindle is fixed perpendicular to the xy plane; but it's possible to order up a rotating/tilting spindle head that provides 5 degrees of freedom - but the cost of that head (alone) is several times the cost of a standard 'Bot. I built a 4' wide clamp across one end of the bot so that I could hold workpieces vertically for dovetailing, etc (you can see the the handwheels that tighten the clamp in one of the photos you saw); but I had a job that needed tenons cut at odd angles and built the tilting fixture. Most of the time I manage to get away with tilting the workpiece.
AFAICT the biggest challenge in CNC work is designing fixtures that are both accurate and robust - and there are times when I have the urge to hit the start button and run for cover. :-)
To get around the ShopBot 3-axis limitation, I've built another (smaller, 3-1/2 axis) machine with a spindle that can be manually tilted - and have been playing with a "next" machine that will place the tilt under program control. You can get a quick look at my first joinery machine by following the link in my sig.
-- Morris Dovey DeSoto Solar DeSoto, Iowa USA http://www.iedu.com/DeSoto/JBot.html
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
I got to wondering about the "positioning" of the head of the router and what sort of software would be needed for that screwball math.
I saw a full blown CNC setup at the IWF and I got to wondering how the guys made the head position it's self at a angle and the proper position overhead both north to south and east to west all at the same time.(very poor wording)
I know math is the answer but the machine must also "know" how big it's table is ??? Very neat stuff.
I have been a "business programmer" for over 30 years and don't have a clue about how CNC might even start to work.
Is there certain CNC language for each machine, or do they use a generic version that works for everybody ???
You do some very interesting stuff ....
Morris Dovey wrote:

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Pat Barber (in jIGdh.160432$ snipped-for-privacy@bgtnsc05-news.ops.worldnet.att.net) said:
| I got to wondering about the "positioning" of the head of the | router and what sort of software would be needed for that | screwball math.
Not as complicated as you might think. There is an industry-standard set of motion control commands that, in effect, allow the programmer to say 'go to x y z'; where x, y, and z are the coordinates of the endpoint of the motion. Typically x and y lie in the plane of the table and z is a distance up or down from the table.
Math is handled pretty much as in any other programming language; and I've found myself doing more trig than I ever expected - but very seldom any math beyond what that covered in high school.
| I saw a full blown CNC setup at the IWF and | I got to wondering how the guys made the head | position it's self at a angle and the proper | position overhead both north to south and east | to west all at the same time.(very poor wording)
On a five-axis setup I would expect that the rotational position of the head (azimuth) is an angular coordinate - and the tilt angle (elevation?) just another angular coordinate.
| I know math is the answer but the machine must also | "know" how big it's table is ??? Very neat stuff.
Maybe. My ShopBot doesn't know - but will refuse programmed commands to move the spindle beyond boundaries (that I usually don't bother to set).
| I have been a "business programmer" for over 30 years and | don't have a clue about how CNC might even start to work.
'S not a big deal. A bit of programming background can't hurt (I started programming in 1959 and made my living at it until 2001 - see www.iedu.com/mrd/mrd_res1.html for a rundown) but isn't really necessary.
| Is there certain CNC language for each machine, or do they | use a generic version that works for everybody ???
Most modern machines use "G-Code" (I think there's a formal spec, but can't remember its ID). The ShopBot uses a proprietary langauge; but comes with a set of language converters which include a g-code capability. The JBot's "native" language is g-code. I have a list of g-code commands here somewhere - if you're interested I can e-mail a copy.
| You do some very interesting stuff ....
I'm easily bored. If I didn't try new stuff from time to time, I'd go nuts (not necessarily a far trip) 8-]
-- Morris Dovey DeSoto Solar DeSoto, Iowa USA http://www.iedu.com/DeSoto
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
I would like to see the short version of the instructions if it's not a lot of trouble.. My email works just as I post it....
Morris Dovey wrote:

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Pat Barber (in Pm_dh.445391$ snipped-for-privacy@bgtnsc04-news.ops.worldnet.att.net) said:
| I would like to see the short version of the instructions | if it's not a lot of trouble.. My email works just as I | post it....
On the way - wait.
-- Morris Dovey DeSoto Solar DeSoto, Iowa USA http://www.iedu.com/DeSoto
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

It gets even easier with g-code standard programming. The words are essentially libraries that are modified by the arguments. So to make, for instance, a circle, you don't even need to know the math involved- a sample line would just look like this-
G112 X0.563 Y1.225 R0.625;
Where G112 calls the circle subroutine, the X and Y set the center of the circle, and R sets the radius. G41/G42 on a previous line set the cutterhead correction to right or left side of the line.
Trig is useful to an extent, but not absolutely necessary if a guy is using CAM to generate G-codes. It's not even strictly necessary if you manually draft the part on graph paper.

The standard commands I use define the table size with G92, so it does "know" how big the table is. The G92 command defines the upper left corner of the work area, and the origin point defines the lower right corner. There are set boundries as well, but it can't position itself properly without that G92 line in place.

There is a standardized spec, but most machines have a few specialized words like the G112 example above- to do the same thing with standard codes, you'd need to set an arc or two using G02 or G03.
Here's a link to the how it all works- it's actually pretty easy once you get the basic idea.
http://www.linuxcnc.org/handbook/gcode/g-code.html
If that's a bit thick, here's a sample of what a simple laser cutter program might look like to cut a 12 washers from a sheet of 11ga. steel.
// Washer program, makes a washer 2" in dia. with a 5/8" hole
G92 X50. Y50. [Tells the machine that the work area is 50" x 50"]
M102(CRS0.125); [Recalls the library that contains the cutting conditions for the material, including Z-height, intensity, feed rate, pulse rate on corners, gas pressure and focus]
G98 X.5 Y3.625 I2.25 J2.25 P2 K3; [Starts the canned cycle, and sets an individual origin point dedicated work area for each washer (I and J), P and K determine how many times the cycle should be repeated along the X and Y axis]
M100; [Enables laser mode] U1; [Tells the machine to begin memorizing the canned cycle]
G41; [Sets the kerf compensation to the left of the line defined by the program- this is assuming that the circle will be cut in a clockwise direction- if it were being cut counterclockwise, G42 would be selected]
G00 X1.0 Y1.0; [Rapidly moves the head to the center of the washers to be cut, referenced to the changing origin point defined by the G98 command.]
G112 X1.0 Y1.0 R.625 Q.08; [Recalls the circle cutting library, sets the center at (1,1), defines the circle has having a radius of 5/8" {note that in this case, this will make a hole that with a diameter of 5/8"- it's not really a true radius} The Q value tells the controller to start the lead-in cut .08" from the inside of the circle.]
G112 X1.0 Y1.0 R2.0 Q-.08; [Recalls the circle cutting library, sets the center at (1,1), defines the circle as having a radius of 2 inches, and the Q value tells the controller to start the lead-in cut .08" from the outside of the circle {because it is a negative value}]
M180; [Proprietary M-code to tell the work chute to cycle so that part will fall out of the sheet and into the collector]
G00 M40; [Cancels modal G112 code, and cutter correction]
M104; [Cancel cutting mode]
V1; [Ends canned cycle]
G75 U1 Q3 P1; [Canned cycle handling- G75 determines that the parts will be cut in a line along the X axis before moving the the next row in the Y axis- G76 means the opposite. U1 recalls the canned cycle defined between U1; and V1; Q3 defines the corner the cutting pattern will start in, and P1 tells it to start with the first part- if the cycle is interrupted, the P value can be altered to restart the cycle where it is needed]
M101; [Laser mode off]
G50; [Origins all axis]
M00; [End program]
This is kind of a "Hello world" program for a CNC machine, but it should give you some idea of what is going on. It might look a little daunting, but it's really a very high-level programming language and requires little more than a list of the codes and the ability to visualize spatial relationships. CNC Routers, mills and lathes work in much the same way, though the arguments that follow the words will vary depending on the machine. I just used the laser cutter as an example becuase I set the thing up several times a day, and it's what I'm most used to right now.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
That is much simpler than I would have thought.
The command structure don't look much worse than some of the older macro languages I ran across years ago.
Some things never change. Many of the "modern" languages these younger guys are learning is just a souped up version of the same old thing.
Prometheus wrote:

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Mon, 11 Dec 2006 15:54:39 GMT, Pat Barber

Yep. I figured a sample would make that clear. It looks like a lot when you're just eyeing up a list of codes without context, but the logic is very basic when it's in context.

No, it's fairly straight forward, and it's been in use for quite a while- so it may even be a slightly modified contemporary of the macro languages you remember.

Most things never change, we just tell one another they have.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

Say Morris-
I'm not very familiar with the ShopBot's design, but I know you've built one or two of the things. Did you ever consider stealing a page from the lathe, and put an indexing head on it between the motor mount and the Z-axis ways? It probably wouldn't lend itself to automation very easily, but might be more robust and accurate (and definately smaller) than a bunch of jigs for the parts being milled. I'd imagine you'd want to use screws to lock it in place rather than a sliding pin, but it might be an interesting way to solve the problem
If you're interested in the idea, I'm going to be making one for a Gingery lathe sometime in the next six months or so on the laser cutter at work and it would be fairly trivial to run an extra one once the program is loaded.

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Prometheus (in snipped-for-privacy@4ax.com) said:
| Say Morris- | | I'm not very familiar with the ShopBot's design, but I know you've | built one or two of the things. Did you ever consider stealing a | page from the lathe, and put an indexing head on it between the | motor mount and the Z-axis ways? It probably wouldn't lend itself | to automation very easily, but might be more robust and accurate | (and definately smaller) than a bunch of jigs for the parts being | milled. I'd imagine you'd want to use screws to lock it in place | rather than a sliding pin, but it might be an interesting way to | solve the problem
It would be - and I have; but the right answer is to tilt the z-axis ways themselves - which would require a complete re-design of the gantry and y-axis. Tilting the spindle alone would require moving z- and x-axis together during plunges; and as far as I can determine, the 'Bot doesn't have adequate precision to handle this at all tilt angles. (The JBot does, but that's a whole different story.)
I /have/ seriously considered rebuilding the gantry; but without metalworking equipment, I have doubts about doing it myself. If I jobbed it out (in this area), it would be prohibitively expensive and I'd need to worry about the quality of the result.
The problem is aggravated by the fact that the 'Bot already isn't as rigid as I'd prefer; and by the fact that my 5HP/3-phase spindle is capable of producing significant cutting forces. I already find myself playing software games to avoid chatter marks on some cuts - and I /really/ don't want to make the problem even a little worse.
But even if that problem were solved the fixturing problem just won't go away. It seems to be a major consideration for every job - and would be even if I could spring for the 5-axis head - because no matter how well-controlled the spindle and cutter might be, the _workpiece_ still wants to be "squirmy".
| If you're interested in the idea, I'm going to be making one for a | Gingery lathe sometime in the next six months or so on the laser | cutter at work and it would be fairly trivial to run an extra one | once the program is loaded.
Thank you - it's a most generous offer - and if I had hopes that I could make it work on the 'Bot, I'd take you up on it in a flash. I hate to say no; but will because my machine isn't up to it.
-- Morris Dovey DeSoto Solar DeSoto, Iowa USA http://www.iedu.com/DeSoto
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

Gotcha. That is the way I've seen it done in the past (with the entire ways tilting), and probably why I have not seen a divider head used.

Yep- that's a big job. For your consideration, I've seen a fair amount of industrial metalworking equipment made with layers of sheet material cut and then welded into stacks to make the larger parts. If you ever do decide to tackle it, you might get by with a cutting torch, a welder, a grinder and a whole lot of determination. Probably not worth the effort financially- but sometimes it's not just about that.

No problem. After seeing your reply, it certainly does make sense not to go that route. It's a possibility that the divider would work at the bottom of the gantry, but that would need to be much larger than the one I'll be making, and probably far too unwieldy to make much sense.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Tue, 05 Dec 2006 15:21:29 GMT, Pat Barber

That's what I do, it's all about how carefully you set up. Granted, the joints usually end up needing to be individually numbered and worked for a perfect fit, but that is usually the fault of my chisel work when excavating the mortises, not the tenons.

Now here's an idea for you....
I know that mortise and tenon joints are great, and I use them a lot. However, when I have done this, I have to confess that I use another method. The guy that told me about it called it cheater's mortises.
Basically, you take the apron and the runner and cut a dado 1/2" wide and an appropriate depth in each. Cut another piece of stock that is 1/2" wide, and mill out a series of grooves that are 1.125" wide with the appropriate spacing between slats. Make one of these for each dado. Those pieces should now look like a kid's drawing of a comb. If you have cut carefully, you should be able to glue stock B into the dadoes cut into the aprons and runners with a virtually invisible glue line, leaving you with pieces that have the appearance of having been perfectly mortised. Then, just slide the slats in without making tenons. The nature of the dado and insert method should have left clean enough "mortise" sides so that the shoulders aren't necessary to hide imperfections, and your mechanical joints will still be in the corners of the frame to act against racking forces.
It's not the purist approach, but it's a really slick compromise, and it sure saves a lot of effort!
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Related Threads

HomeOwnersHub.com is a website for homeowners and building and maintenance pros. It is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.