<%@ Language=VBScript %> <%Option Explicit%> <% Response.Expires = 720 '*************************************************************************** '*** Constants ************************************************************* '*************************************************************************** const cStileRailWidth = 2.375 const cStockThick = .75 '*************************************************************************** Dim Flag Dim Height, Width, iNumDoors %> <% Flag = request.form("Flag") If IsEmpty(Flag) or Flag = "" or Flag = "0" then %>

# Raised/Flat Panel Door Calculator

Here is a calculator that Scott Morell has developed to assist you in building your own doors for your aquarium stand and/or canopy. This calculator will provide a materials list and basic instructions that intermediate woodworkers should be able to follow.

There are many good sources online that can help you with many of the questions you may have. Here are some that looked pretty good to me:

 Here are some reminders: 1) Use 1/2'' shank router bits if at all possible. 1/2'' shanks provide better stability and vibrate less and produce a smoother cut. 2) Due to the force of the router, it is best to make multiple light passes rather than one heavy cut. 3) Ensure that 90% of the shank is in the collet. 4) Always use a router table. 5) Reduce the RPM of your router. 6) Then test your the settings on some scrap lumber. 7) Follow the router manufacturer's recommendations. 8) Work SAFELY and keep your fingers on your hands!!!

Disclaimer:
Construct these canopies at your own risk. The authors and GARF will not be responsible for any damage or injury caused by improper use of tools or construction. The combination of wood, water, and power tools can lead to serious consequences, so please use common sense or consult a professional carpenter if you do not have the proper experience.

 Door Height Door Width 1/8" increments Number of Doors
<% End If If Flag = "1" then Height = request.form("txtHeight")' width = request.form("txtWidth") iNumDoors = request.form("txtNumDoors") Height = Convert2Decimal(height) Width = Convert2Decimal(Width) %>
 The materials list below uses a combination of lumber and/or plywood.

 Door Dimensions Door Height = <%=getfraction(height)%>" Door Width = <%=getfraction(Width)%>"

<% dim Alpha, Beta Alpha = 64 %>
 Materials List Part Thickness Width Length/Height Material Qty <%=rAlpha(Alpha)%>. Door Stiles <%=getfraction(cStockThick)%>" <%=getfraction(cStileRailWidth)%>" <%=getfraction(Height)%>" Lumber <%=iNumDoors * 2%> <%=rAlpha(Alpha)%>. Door Rails <%=getfraction(cStockThick)%>" <%=getfraction(cStileRailWidth)%>" <%=getfraction(width - cStileRailWidth * 2 + .75)%>" Lumber <%=iNumDoors * 2%> <%=rAlpha(Alpha)%>. Door Panels <%=getfraction(cStockThick)%>" <%=getfraction(Width - 2 * cStileRailWidth + 0.75 - 0.125)%>" <%=getfraction(Height - cStileRailWidth * 2 + 0.75 - 0.125)%>" Lumber or 1/4" Plywood <%=iNumDoors%>

<% Alpha = 64 Beta = 48 %>
 Assembly Procedure <%=rAlpha(Alpha)%>. Cut the Stiles and Rails to size. If making flat panel doors, cut the 1/4" plywood into panels. <%=rAlpha(Alpha)%>. If making raised panels, cut and laminate the panels. Once the glue has dried, cut the panels to size. <%=rAlpha(Alpha)%>. Inspect all pieces for rough or flawed edges. Sand as needed. <%=rAlpha(Alpha)%>. Refer to figure <%=rBeta(Beta)%>. We will call the router bit on the left the Stile Cutter. This bit will be used to cut out the slot for the panel while it trims out the inside of the door frame. We will call the router bit on the right the Rail Cutter. It is only used to cut the profile in the ends of the rails. The proper setup of these bits will be the toughest part of the job. Figure <%=chr(Beta)%>. Stile & Rail Router Bits <%=rAlpha(Alpha)%>. Set the router up with the Stile cutter. You will route one long side of all Stiles andRails. Keep in mind that the front of the door will be face down while routing it. Ensure you do a couple of practice runs on scrap. Make sure you keep a peice scrap as it will be needed later for doing the rail ends. Figure <%=chr(Beta)%>. Stile Cutter <%=rAlpha(Alpha)%>. Install the Rail cutter in the router. Use a peice of scrap from step <%=chr(alpha - 1)%> to adjust to the proper height. Route both ends of each rail ensuring that the face of the rail is down. Use your peice of scrap to push the rail through the router. This will prevent the rail ends from chipping out.. Figure <%=chr(Beta)%>. Rail Cutter. <%=rAlpha(Alpha)%>. If you are making Raised Panel doors, install the raised panel bit in the router and route all sideS of each panel <%=rAlpha(Alpha)%>. Lay out the Stiles, Rails and a panel for each door. Glue the door only at the joint where the Rails and the Stiles meet. Clamp the door for about a half hour until it sets up.. <%=rAlpha(Alpha)%>. Sand the doors, stain if desired and seal the doors with a marine finish. <%=rAlpha(Alpha)%>. The doors are designed to overlap each opening by 3/4" on all sides. I personally like to use stainless steel European style cup hinges to mount the doors. The stainless steel hinges resist corrosion and will not rust.
<% End If function GetFraction(fraction) dim period, sInteger, sFraction period = instr(1,fraction,".") if period <> 0 then sInteger = left(fraction,period -1) if sinteger = 0 then sinteger = "" end if sfraction = right(fraction,len(fraction) - period) sfraction = ConvertFraction(sFraction) else sfraction = fraction end if getfraction = sInteger & sFraction end function function ConvertFraction(temp) 'Converts the decimal to a fraction select case temp case "0625" ConvertFraction = " 1/16" case "125" ConvertFraction = " 1/8" case "1825" ConvertFraction = " 3/16" case "25" ConvertFraction = " 1/4" case "3125" ConvertFraction = " 5/16" case "375" ConvertFraction = " 3/8" case "4375" ConvertFraction = " 7/16" case "5" ConvertFraction = " 1/2" case "5625" ConvertFraction = " 9/16" case "625" ConvertFraction = " 5/8" case "6875" ConvertFraction = " 11/16" case "75" ConvertFraction = " 3/4" case "8125" ConvertFraction = " 13/16" case "875" ConvertFraction = " 7/8" case "9375" ConvertFraction = " 15/16" case else if clng("1." & temp) < 1.0625 and clng("1." & temp) > 1.01 then ConvertFraction = " 1/16" elseif clng("1." & temp) < 1.125 then ConvertFraction = " 1/8" elseif clng("1." & temp) < 1.1825 then ConvertFraction = " 3/16" elseif clng("1." & temp) < 1.25 then ConvertFraction = " 1/4" elseif clng("1." & temp) < 1.3125 then ConvertFraction = " 5/16" elseif clng("1." & temp) < 1.375 then ConvertFraction = " 3/8" elseif clng("1." & temp) < 1.4375 then ConvertFraction = " 7/16" elseif clng("1." & temp) < 1.5 then ConvertFraction = " 1/2" elseif clng("1." & temp) < 1.5625 then ConvertFraction = " 9/16" elseif clng("1." & temp) < 1.625 then ConvertFraction = " 5/8" elseif clng("1." & temp) < 1.6875 then ConvertFraction = " 11/16" elseif clng("1." & temp) < 1.75 then ConvertFraction = " 3/4" elseif clng("1." & temp) < 1.8125 then ConvertFraction = " 13/16" elseif clng("1." & temp) < 1.825 then ConvertFraction = " 7/8" elseif clng("1." & temp) < 1.9375 then ConvertFraction = " 15/16" end if end select end function function Convert2Decimal(temp) dim dFraction if instr(1,temp," ") > 1 and instr(1,temp,"/") > 1 then 'response.Write(right(temp, len(temp) - instr(1,temp," ")) & " - ") select case right(temp, len(temp) - instr(1,temp," ")) case "1/8" dFraction = ".125" case "1/4" dFraction = ".25" case "3/8" dFraction = ".375" case "1/2" dFraction = ".5" case "5/8" dFraction = ".625" case "3/4" dFraction = ".75" case "7/8" dFraction = ".875" case else dFraction = temp end select Convert2Decimal = cdbl(trim(left(temp, instr(1,temp," "))) & dFraction) else Convert2Decimal = temp end if ' response.Write(trim(left(temp, instr(1,temp," "))) & dFraction & "
") end function Function rAlpha(sAlpha) alpha = salpha + 1 rAlpha = chr(alpha) end function Function rBeta(sBeta) Beta = sBeta + 1 rBeta = chr(Beta) end function %>