1. Welcome to Tacoma World!

    You are currently viewing as a guest! To get full-access, you need to register for a FREE account.

    As a registered member, you’ll be able to:
    • Participate in all Tacoma discussion topics
    • Communicate privately with other Tacoma owners from around the world
    • Post your own photos in our Members Gallery
    • Access all special features of the site

C0d3M0nk3y's Whitewater build

Discussion in '2nd Gen. Builds (2005-2015)' started by C0d3M0nk3y, Nov 15, 2015.

  1. Jun 3, 2019 at 6:40 AM
    #101
    briangig

    briangig Well-Known Member

    Joined:
    Apr 4, 2015
    Member:
    #152528
    Messages:
    73
    Gender:
    Male
    NH
    Vehicle:
    06 SR5 DCSB
    That looks great. I'd be interested to hear some more about how you shaped and made the holes/slots in your side supports.
     
  2. Jun 4, 2019 at 12:58 PM
    #102
    C0d3M0nk3y

    C0d3M0nk3y [OP] Well-Known Member

    Joined:
    Nov 13, 2015
    Member:
    #169500
    Messages:
    205
    2008 Tacoma Sport DCSB (silver)
    I don't have a lot of pictures when I was doing the process, but I do remember what I did. I used my 3D printer to print up some shapes I wanted to use, and then built a template. That was the easy part (and the fun part).

    I took my template and attached it to my aluminum stock. I would drill a hole in the stock where one of the bolts would go through, and then I would bolt the template to the aluminum stock. I bolted both pieces of stock to the template so I could keep both sides exact (defects would be duplicated).

    I found the bigger openings and used a drill press to drill larger holes than what my router bit would fit through. I then took the entire unit (template and stock all bolted together) and used my router table with a 1/4" trim cut router bit to shape everything. I didn't take as much time as I could have, and the bit itself heated up quite a bit. The first bit I used was from Lowes, and it kinda sucked.

    I ordered a nicer bit off of Amazon and it did a much better job. Go slow, and let the bit cool down regularly. I am sure there are better ways to get the job done, but these were the tools I had at my disposal.

    I made quite a few mistakes, but a file and sandpaper fixed most of the problems.

    Router bit that I used:
    Whiteside Router Bits RFT2100 1/4-Inch Diameter Spiral Flush Trim Up Cut
     
  3. Jun 4, 2019 at 8:11 PM
    #103
    briangig

    briangig Well-Known Member

    Joined:
    Apr 4, 2015
    Member:
    #152528
    Messages:
    73
    Gender:
    Male
    NH
    Vehicle:
    06 SR5 DCSB
    Thats awesome, thanks! I've actually done some aluminum milling using a (handheld) trim router, and I bet I could get that to work for this. Any idea what type of aluminum you were using? ie 6061 or 7075?
     
  4. Jun 7, 2019 at 9:31 AM
    #104
    C0d3M0nk3y

    C0d3M0nk3y [OP] Well-Known Member

    Joined:
    Nov 13, 2015
    Member:
    #169500
    Messages:
    205
    2008 Tacoma Sport DCSB (silver)
    I wish I could tell you what stock I used, but I can't. I went to a metal distributor in the area and bought 2 pieces of stock cut to rough 29". I did not go to the local hardware store.

    I had no prior experience cutting or shaping aluminum, so it was a big learning experience.
     
  5. Sep 22, 2019 at 7:41 PM
    #105
    C0d3M0nk3y

    C0d3M0nk3y [OP] Well-Known Member

    Joined:
    Nov 13, 2015
    Member:
    #169500
    Messages:
    205
    2008 Tacoma Sport DCSB (silver)
    Demerbox and Trekpak DIY

    The Demerbox is a Bluetooth speaker built into a pelican case. There are cheaper bluetooth speakers, but the pelican case got me. My plan has been to add the Demerbox to my home audio set-up by utilizing a raspberry pi and squeezebox as my mobile speaker, and then to use the same pi with a different SD card as a stand-alone player while I am out and about. Right now I have the raspberry pi running squeezelite and everything is going as expected, but I haven't gotten the stand-alone player yet.

    Demerbox:

    One problem with my initial setup was that the raspberry pi bounced around the inside of the Demerbox, so I needed to figure out a way of getting everything nice and tidy. That's where trekpak comes in. I didn't look very hard, but I am pretty sure you can't find a trekpak for the Demerbox, so I decided to make my own.

    For the trekpak DIY I used:
    • corrugated plastic from Michaels (my board was too short, get bigger if you can)
    • thin mini-cell foam (had lots from other projects)
    • DAP weldwood contact cement
    • 3D printer and PETG plastic to print up the pins used to attach everything (if you don't have a printer, then coat hanger wire bent to the right shape might work, but my 3D printed pins are very tight, and so far I am very happy with them)
    • time
    Inside of the Demerbox and why I had to do what I had to do:

    Measure and cut the corrugated plastic to the appropriate length (for the Demerbox, this is really short since the speakers drop into the case pretty far). Cut your foam to the same length and height as the corrugated plastic. For the outside shape, I left the corners alone, and glued the foam along the flat sides. The plastic I used would not fit around the inside of the box, so I had to attach a filler piece and I used foam to keep it all together (you can tell if you look closely).


    Use sandpaper to rough up the plastic and the foam. A light once over works well. Then use a thin coat of DAP weldwood on both the corrugated plastic and the foam. Let one dry as much as you can, and the other to get opaque (no longer shiny). Apply the foam to the plastic. If you do it right, you get one shot. If it is still wet and easy to pull apart, you didn't let it dry enough.

    Test fit the major shape inside the box.

    Repeat the previous steps for the dividers, but you don't need to leave any gaps, and you an cut the dividers at appropriate lengths after you glue everything together.

    Print up pins, or figure out some other way of attaching everything together.


    I attached pins to both the top and bottom of my dividers.

    Fit it all inside the pelican case (this should work for any pelican case, I am just using the Demerbox for mine).

    I will provide the openscad code for the pins I used. Since the corrugated plastic can be different sizes, the code can be adapted. I have 3 different sets of pins; round, square, and a combo of both round and square. for my set-up, I used the combo pins.

    If there are any questions, let me know. My set-up isn't perfect. I actually made quite a few mistakes, but it is functional right now. I suspect the trekpak is more professional than what I did. I have issues with getting the right shape at the beginning, and my pins are not as strong as what trekpak would provide.
     
    Drainbung likes this.
  6. Sep 22, 2019 at 7:52 PM
    #106
    C0d3M0nk3y

    C0d3M0nk3y [OP] Well-Known Member

    Joined:
    Nov 13, 2015
    Member:
    #169500
    Messages:
    205
    2008 Tacoma Sport DCSB (silver)
    Trekpak DIY pins

    Trekpak pins are made of aluminum, and I couldn't find a comparable source for a price I was willing to pay. You can buy the pins directly from Pelican and I suspect they are really nice, but I couldn't justify it for my project.

    Other DIY projects used coat hangers or irrigation tube stakes. These probably work okay, but I can't imagine that they stay securely in the corrugate plastic holes.

    Since I have a 3D printer, I figured I could print up some pins, and if they weren't strong enough, it only costs me a bit of plastic.

    I print up my pins in PETG since that is the plastic I have settled on. It is pretty strong and resistant to warping in hot temperatures.

    I designed 3 different types of pins: all round, all square, a combination of square and round.

    The all round would work well if you need to make odd shapes with the dividers.

    The all square would work well for squared off dividers.

    The combo should work as well as the square, just easier to get into the holes.

    I used the combo pins for my build.

    I use Openscad for the design of the pins, and you can adjust the sizes with only a few settings changes.

    Here are the various pins, with code:

    Code:
    $fn=60;
    
    pinLengthSquare=16;
    pinLengthRound=5;
    pinLengthTransition=3;
    pinDiameterSquare=3.5;
    
    pinDiameterRound=pinDiameterSquare/2;
    topAdditionalThickness=.5;
    
    roundEdge=1;
    
    pinOffset=7;
    
    
    pointyEndLength=3;
    pointyEndPoint=1;
    
    module drawPin(){
        //square part of pin
        translate([-(pinDiameterSquare-(roundEdge*2))/2,-(pinDiameterSquare-(roundEdge*2))/2,pointyEndLength+pinLengthRound+pinLengthTransition]){
            //rounded cube for upper transition part
            minkowski(){
                cube([pinDiameterSquare-(roundEdge*2),pinDiameterSquare-(roundEdge*2),pinLengthSquare]);
                sphere(roundEdge);
            }
        }
    
        //Transition section. hull 2 waffers to get smooth transition between round and square
        hull(){
            //centering the rounded cube
            translate([-(pinDiameterSquare-(roundEdge*2))/2,-(pinDiameterSquare-(roundEdge*2))/2,pointyEndLength+pinLengthRound+pinLengthTransition]){
                //rounded cube for upper transition part
                minkowski(){
                    //waffer cube used for hulling with transition. the minkowski makes the waffer bigger, but it still works
                    cube([pinDiameterSquare-(roundEdge*2),pinDiameterSquare-(roundEdge*2),.2]);
                    sphere(roundEdge);
                }
            }
            //waffer cylinder for lower transition part
            translate([0,0,pointyEndLength+pinLengthRound])cylinder(.2,pinDiameterRound,pinDiameterRound);
        }
    
        //round part of pin
        translate([0,0,pointyEndLength])cylinder(pinLengthRound,pinDiameterRound,pinDiameterRound);
    
        //pointy end
        /*hull(){
            //waffer cylinder used to hull with sphere to make pointy end
            translate([0,0,pointyEndLength])cylinder(.2,pinDiameterRound,pinDiameterRound);
            sphere(pointyEndPoint);
        }*/
        translate([0,0,pointyEndLength])sphere(pinDiameterRound);
    }
    
    module drawTop(){
        translate([-(pinDiameterSquare-roundEdge*2)/2,-(pinDiameterSquare-roundEdge*2)/2,pinLengthSquare+pinLengthRound+pinLengthTransition+pointyEndLength]){
            minkowski(){
                cube([pinOffset+pinDiameterSquare-roundEdge*2,pinDiameterSquare-roundEdge*2,topAdditionalThickness+pinDiameterSquare-roundEdge*2]);
                sphere(roundEdge);
            }
        }
    }
    
    drawPin();
    translate([pinOffset,0,0])drawPin();
    drawTop();

    All round:
    Code:
    $fn=60;
    
    pinLength=20;
    pinDiameter=2;
    pinOffset=6;
    
    pointyEndLength=3;
    pointyEndPoint=1;
    
    //pin side 1
    cylinder(pinLength,pinDiameter,pinDiameter); //simpe shaft with hard edges
    
    //pin side 2
    translate([pinOffset,0,0]){
        cylinder(pinLength,pinDiameter,pinDiameter); //simpe shaft with hard edges
    }
    
    //top connector
    translate([0,0,pinLength]){
        rotate([0,90,0])cylinder(pinOffset,pinDiameter,pinDiameter); //simpe cylinder
       
        /*translate([pinOffset/2,0,0]){
            rotate([90,0,0])cube([pinOffset,pinDiameter,pinDiameter*2],center=true); //simpe shaft with hard edges
        }*/
       
        sphere(pinDiameter); //rounded top corner 1
        translate([pinOffset,0,0])sphere(pinDiameter); //rounded top corner 2
    }
    
    //pointy end 1
    hull(){
        cylinder(.2,pinDiameter,pinDiameter);
        translate([0,0,-pointyEndLength])sphere(pointyEndPoint);
    }
    
    //pointy end 2
    hull(){
        translate([pinOffset,0,0])cylinder(.2,pinDiameter,pinDiameter);
        translate([pinOffset,0,-pointyEndLength])sphere(pointyEndPoint);
    }
    

    All square:
    Code:
    $fn=30;
    
    pinLength=20;
    pinDiameter=4;
    pinOffset=7;
    
    roundEdge=1;
    
    pointyEndLength=3;
    pointyEndPoint=1;
    
    
    module drawPin(){
        //round corners
        minkowski(){
            translate([-(pinDiameter-(roundEdge*2))/2,-(pinDiameter-(roundEdge*2))/2,pointyEndLength]){
                cube([pinDiameter-(roundEdge*2),pinDiameter-(roundEdge*2),pinLength]);
            }
            sphere(roundEdge);
        }
    
        //hull the sphere to the square to make it look pretty
        hull(){
            translate([0,0,pointyEndLength]){
                //match rounded corners of the pin
                minkowski(){
                    //waffer cube to round corners for matching rest of pin
                    cube([pinDiameter-(roundEdge*2),pinDiameter-(roundEdge*2),.2],center=true);
                    sphere(roundEdge);
                }
            }
            sphere(pointyEndPoint);
        }
    }
    
    module drawTop(){
        //translate([-pinDiameterSquare/2,-pinDiameterSquare/2,pinLengthSquare+pinLengthRound+pinLengthTransition+pointyEndLength]){
        translate([-(pinDiameter-roundEdge*2)/2,-(pinDiameter-roundEdge*2)/2,pinLength+pointyEndLength]){
            minkowski(){
                cube([pinOffset+pinDiameter-roundEdge*2,pinDiameter-roundEdge*2,pinDiameter-roundEdge*2]);
                sphere(roundEdge);
            }
        }
    }
    
    drawPin();
    translate([pinOffset,0,0])drawPin();
    drawTop();

    I printed my pins at 80% fill. They have some flex to them, but I was unable to break them using 'reasonable' force.

     
    Drainbung likes this.
  7. Mar 9, 2020 at 9:41 AM
    #107
    C0d3M0nk3y

    C0d3M0nk3y [OP] Well-Known Member

    Joined:
    Nov 13, 2015
    Member:
    #169500
    Messages:
    205
    2008 Tacoma Sport DCSB (silver)
    Update with pictures to come 'soon', but I am currently working on creating some molle panels for pelican cases and pelican knock-offs. I have had a couple of different failures already, and I might be onto something that will actually work this time.

    I wanted a ridged molle panel, but I think I am going to go with something I will sew up and put a ridged backing on.

    The problem I am running into is sourcing the correct material for a ridged molle panel for a price I would be willing to pay. I can find acrylic 1/8" sheets at reasonable prices, but they are very brittle. If I get anything thicker than 1/8", it is too thick to actually work. I would love to find some aluminum, but I haven't found a good source yet. I have some stainless steel, but shaping that will be less than fun.

    I was wanted to use a table saw and router to do the work. Instead it looks like I will be using ballistic nylon and a sewing machine instead.

    I will update with pictures when I actually have something to show.
     
    Drainbung likes this.
  8. Aug 12, 2020 at 6:34 AM
    #108
    C0d3M0nk3y

    C0d3M0nk3y [OP] Well-Known Member

    Joined:
    Nov 13, 2015
    Member:
    #169500
    Messages:
    205
    2008 Tacoma Sport DCSB (silver)
    Apache 5800 mods

    So, I picked up an Apache 5800 that had issues. It was advertised as the pelican equivalent, but it turns out someone had replaced the pelican case with this harbor freight knockoff with a broken handle. I paid under retail for it, and the place I bought it from had a no-return policy. So, I decided to make the best of it, and figured out some way of making it work.


    Since the slide out handle was broken, I decided to pull the entire plastic back panel from the case. It would reduce weight, and had no value without the handle. The problem was the bottom of the case had spots for bolts to hold the back panel in place, and it was going to be uneven sitting on the ground. So, I pulled up OpenSCAD and modeled up some feet for the case. I then used the 3D printer to print up feet for the case.

    Code:
    // upper feet
    // L shape
    // 2 cubes
    // * 1 43x100
    // * 2 123x56
    //cutout
    // * 43x80
    
    // 2 screw holes
    // screw mount 16mm x 9.4mm height
    // holes offset: 38mm
    // 16.7 mm from edge
    // thickness of material: 6mm
    // screw diameter: 5.8mm
    // object height 17.7
    
    $fn=60;
    
    screwHoleHeight = 9.4;
    screwHoleDiameter = 17;
    
    topThickness=8;
    
    roundEdge=2;
    
    screwHeadDiameter=12;
    screwHeadHeight=3;
    screwDiameter=6;
    
    footHeight=3.2;
    footOutsideOffset=2.5;
    
    cutoutWidth=43;
    cutoutLength=80-5.3+1.5;
    
    topCubeWidth=43+5.3-1.5;
    topCubeLength=70;
    
    bottomCubeWidth=57;
    bottomCubeLength=95;
    
    topScrewHoleFromEdge=16.8+5-.5;
    topScrewHoleOffset=22+7;
    
    bottomScrewHoleFromEdge=26.5+1.5;
    bottomScrewHoleOffset=29+7;
    
    module drawBigShape(){
        //top part
        translate([0,cutoutLength,0]){
            cube([topCubeLength-roundEdge/2,topCubeWidth-roundEdge/2,(screwHoleHeight+topThickness)-roundEdge/2]);
        }
    
        //bottom part
        translate([cutoutWidth,0,0]){
            cube([bottomCubeWidth-roundEdge/2,bottomCubeLength-roundEdge/2,(screwHoleHeight+topThickness)-roundEdge/2]);
        }
    
        translate([cutoutWidth+bottomCubeWidth/2-roundEdge/2,cutoutLength+topCubeWidth/2-5-roundEdge/2,0]){
            cylinder((screwHoleHeight+topThickness)-roundEdge/2,bottomCubeWidth/2,bottomCubeWidth/2);
        }
    }
    
    module drawScrewHole(){
        cylinder(screwHoleHeight,screwHoleDiameter/2,screwHoleDiameter/2);
        cylinder(40,screwDiameter/2,screwDiameter/2);
        translate([0,0,((screwHoleHeight+topThickness)-roundEdge/2)-screwHeadHeight+roundEdge]){
            cylinder(screwHeadHeight,screwHeadDiameter/2,screwHeadDiameter/2);
        }
    }
    
    module drawScrewHoleFoot(){
        difference(){
            cylinder(footHeight,(screwHeadDiameter/2)+footOutsideOffset,(screwHeadDiameter/2)+footOutsideOffset);
            cylinder(footHeight,screwHeadDiameter/2,screwHeadDiameter/2);
        }
    }
    
    // screw hole foot top
    translate([topScrewHoleFromEdge,cutoutLength+topScrewHoleOffset,(screwHoleHeight+topThickness)-roundEdge/2]){
        drawScrewHoleFoot();
    }
    // screw hole foot bottom
    translate([cutoutWidth+bottomScrewHoleOffset,bottomScrewHoleFromEdge,(screwHoleHeight+topThickness)-roundEdge/2]){
            drawScrewHoleFoot();
    }
    
    
    difference(){
        translate([roundEdge,roundEdge,0]){
            minkowski(){
                drawBigShape();
                sphere(roundEdge);
            }
        }
        //coutout
        cube([cutoutWidth+roundEdge,cutoutLength+roundEdge,90]);
        translate([-250,-250,-100]){
            cube([500,500,100]);
        }
        //screw hole top
        translate([topScrewHoleFromEdge,cutoutLength+topScrewHoleOffset,0]){
            drawScrewHole();
        }
        //screw hole bottom
        translate([cutoutWidth+bottomScrewHoleOffset,bottomScrewHoleFromEdge,0]){
            drawScrewHole();
        }
    }
    
    Code:
    // upper feet
    // 2 screw holes
    // screw mount 16mm x 9.4mm height
    // holes offset: 38mm
    // 16.7 mm from edge
    // thickness of material: 6mm
    // screw diameter: 5.8mm
    // object height 17.7
    
    $fn=60;
    
    screwHoleHeight = 9.4;
    screwHoleDiameter = 16;
    
    screwHoleOffset = 38;
    
    
    edgeMove=25;
    topThickness=8;
    
    footLength=screwHoleOffset+edgeMove;
    footWidth=16.7*2;
    roundEdge=2;
    
    screwHeadDiameter=12;
    screwHeadHeight=4.5;
    screwDiameter=6;
    
    footHeight=3;
    footOutsideOffset=2.5;
    
    
    module drawScrewHole(){
        cylinder(screwHoleHeight,screwHoleDiameter/2,screwHoleDiameter/2);
        cylinder(40,screwDiameter/2,screwDiameter/2);
        translate([0,0,((screwHoleHeight+topThickness)-roundEdge/2)-screwHeadHeight+roundEdge]){
            cylinder(screwHeadHeight,screwHeadDiameter/2,screwHeadDiameter/2);
        }
    }
    
    module drawScrewHoleFoot(){
        difference(){
            cylinder(footHeight,(screwHeadDiameter/2)+footOutsideOffset,(screwHeadDiameter/2)+footOutsideOffset);
            cylinder(footHeight,screwHeadDiameter/2,screwHeadDiameter/2);
        }
    }
    
    
    translate([footWidth/2,edgeMove/2,(screwHoleHeight+topThickness)-roundEdge/2]){
        drawScrewHoleFoot();
        translate([0,screwHoleOffset,0]){
            drawScrewHoleFoot();
        }
    }
    
    difference(){ //flatten bottom
        difference(){
            minkowski(){
                cube([footWidth,footLength,(screwHoleHeight+topThickness)-roundEdge/2]);
                sphere(roundEdge);
            }
    
            translate([footWidth/2,edgeMove/2,0]){
                drawScrewHole();
                translate([0,screwHoleOffset,0]){
                    drawScrewHole();
                }
            }
        }
       
    //big cube used to flatten base
    translate([-250,-250,-100]){
        cube([500,500,100]);
    }
    }

    After the bottom of the case was figured out, I then moved on to the lid, and a lid organizer. I had visions of fabricating my own organizer, but in the end, buying a lid organizer is cheaper and easier if you find one at the right price (under $40). I will have a writeup on my DIY rigid Molle Panel shortly, but figured I would get the Apache stuff done first.

    Installing a mesh lig organizer on pelican cases is pretty easy, they tend to have the holes pre-drilled. The Apache just has nubs on the inside where you can drill your own holes. You have to be careful that you don't drill all the way through the case.





    I am still working on the interal storage for the case. I am currently doing the DYI TrekPack thing, but I don't like how the corners work with that, so I am going to probably switch over to some stuff I 3D print, and use some abs/acrilic walls and glue some trekpack stuff to the sides. It will possibly be the best of both worlds, but we shall see. I am currently working on my kitchen box (nanuk 960 box I got cheap).
     
    Drainbung likes this.
  9. Aug 12, 2020 at 6:55 AM
    #109
    C0d3M0nk3y

    C0d3M0nk3y [OP] Well-Known Member

    Joined:
    Nov 13, 2015
    Member:
    #169500
    Messages:
    205
    2008 Tacoma Sport DCSB (silver)
    DIY Molle Panel

    Final result

    I will start out by saying, this took a lot more effort and time than I thought it would, and I would probably have saved money if I had just bought one of these from someone who makes them already. With that being said, I needed to figure out what the best dimensions are for a rigid molle panel. The dimensions for molle panels are pretty well documented, but I didn't find much on the rigid versions. I did find a model online, and tried to print it up, and took measurements from that.

    After some trial and error, I ended up creating a model that works for me. I modeled it in OpenSCAD, and put all the parameters at the beginning of the script. I then printed up my model, and used that to create a template I would then use to create my real panel.

    3D model

    Code:
    $fn=100;
    
    // dimentions of molle holes
    molleHoleY = 27;
    molleHoleX = 32;
    molleHoleSideOffset = 6;
    molleHoleTopOffset = 23.7;
    
    // edge around the whole frame
    holeOffsetFromTop = 29.5;
    holeOffsetFromSide = 6;
    
    cornerRadius = 6;
    
    boltDiameter = 3.2;
    
    nutHeight = 2.7;
    nutDiameter = 6.4;
    
    plateThickness = 3;
    
    numberOfHolesSideToSide = 4;
    numberOfHolesTopToBottom = 3;
    
    sideOffset = 10;
    bottomOffset = 0;
    
    bracketX = (molleHoleX+holeOffsetFromSide)*numberOfHolesSideToSide+holeOffsetFromSide+sideOffset*2;
    bracketY = holeOffsetFromTop+molleHoleY+((molleHoleY+molleHoleTopOffset)*numberOfHolesTopToBottom)-molleHoleY+bottomOffset;
    
    module nut(){
        $fn=6;
        cylinder(nutHeight+.1,nutDiameter/2,nutDiameter/2);
    }
    
    module molleHole(){
        cube([molleHoleX,molleHoleY,plateThickness+2]);
    }
    
    module cornerCutout(){
        difference(){
            cube(size = [cornerRadius/2,cornerRadius/2,plateThickness+2]);
            cylinder(plateThickness+3,cornerRadius/2,cornerRadius/2);
        }
    }
    
    module drawHoles(numberSideToSide,numberTopToBottom){
        for (i=[0:numberTopToBottom]){
            translate([0,molleHoleTopOffset*i+molleHoleY*i,0]){
                drawHolesSideToSide(numberSideToSide);
            }
        }
    }
    
    
    
    module drawHolesSideToSide (numberSideToSidePassed){
        for (i=[0:numberSideToSidePassed]){
            translate([holeOffsetFromSide+(molleHoleX+molleHoleSideOffset)*i,holeOffsetFromTop,-1]){
                molleHole();
            }
            //translate([(holeOffsetFromSide+(molleHoleX+molleHoleSideOffset)*i)+(molleHoleX/2),holeOffsetFromTop+molleHoleY+(molleHoleTopOffset/2),0]){
            translate([(holeOffsetFromSide+(molleHoleX+molleHoleSideOffset)*i)+(molleHoleX/2),(holeOffsetFromTop-molleHoleTopOffset)+(molleHoleTopOffset/2),0]){
                cylinder(plateThickness+2,boltDiameter/2,boltDiameter/2);
                nut();
            }
            translate([(holeOffsetFromSide+(molleHoleX+molleHoleSideOffset)*i)+(molleHoleX/2),holeOffsetFromTop+molleHoleY+(molleHoleTopOffset/2),0]){
            //translate([(holeOffsetFromSide+(molleHoleX+molleHoleSideOffset)*i)+(molleHoleX/2),(holeOffsetFromTop-molleHoleTopOffset)+(molleHoleTopOffset/2),0]){
                cylinder(plateThickness+2,boltDiameter/2,boltDiameter/2);
                nut();
            }
        }   
    }
    
    difference(){
        cube([bracketX,bracketY,plateThickness]);
    
        // drawHoles(numberSideToSide,numberTopToBottom) always -1
        translate([sideOffset,0,0]){
            drawHoles(numberOfHolesSideToSide-1,numberOfHolesTopToBottom-1);
        }
        //corner cutouts
        translate([bracketX-cornerRadius/2+.01,cornerRadius/2-.01,-1]){
            rotate([0,0,270]){cornerCutout();}
        }
        translate([cornerRadius/2-.01,cornerRadius/2-.01,-1]){
            rotate([0,0,180]){cornerCutout();}
        }
        translate([cornerRadius/2-.01,bracketY-cornerRadius/2+.01,-1]){
            rotate([0,0,90]){cornerCutout();}
        }
        translate([bracketX-cornerRadius/2+.01,bracketY-cornerRadius/2+.01,-1]){
            rotate([0,0,0]){cornerCutout();}
        }
    }
    Template fabricating (you will notice where the router did cut into the template on the edges, oops):

    Once I was done with the template (made with some plastic sheet I had laying around), I then picked up an ABS 3mm plastic sheet. I tried acrylic earlier (had some laying around), and it did not go well. I am sure I could get acrylic to work, but it isn't worth it. Other plastics may be better than ABS, but I didn't try.

    Template mounted to ABS

    Final ABS rigid molle panel

    I then began mounting the molle pouces to the pane. If I use every strap, it bunches inside the pouch, so on the bigger pouches I tend to only thread the outside straps, and just clip in the center straps. It is a compromise I am willing to make.



    One thing, the term rigid is relative. There is a LOT of flex in this panel, and it is intended to hang on top of a not-pelican case (nanuk 960).

    Flex:


    So, I determined where I could add additional bracing on the back of the panel where I was not mounting any pouches. I then 3D printed up some brackets that were 6mm thick (distance I had between where the panel would sit, and the actual lid of the case).

    After they were mounted, the flex is still there, but not near as bad

    A lot of work, but I now have a method for creating more of these. I also finally tuned my 3d printer where I am happy with the results. There was some serious frustration with the 3d printer on completing small circles, but I have that resolved now.

    In theory, if you can find someone that can fabricate a model you send them, you could design up the molle panel from the script above and send them the results. I would always recomend printing up a sample first and make sure it meets your needs before doing a larger item. My printer dimentions limited me to a 4x3 molle panel (used as a template).
     
    Drainbung likes this.
  10. Sep 2, 2020 at 7:37 AM
    #110
    C0d3M0nk3y

    C0d3M0nk3y [OP] Well-Known Member

    Joined:
    Nov 13, 2015
    Member:
    #169500
    Messages:
    205
    2008 Tacoma Sport DCSB (silver)
    Kitchen Box

    I have been using a cheap rubbermaid box for all of my main cooking gear. I do have a couple of small ammo cans for the smaller items that fit in my bed platform drawers, but for the big items, it is the rubbermaid. About a year ago I picked up a cheap Nanuk 960 case (about the same size as a Pelican 1610, but from another company). It turns out that this case is a really good size for a kitchen box, so, I figured I could do something with it.

    Pelican has this organization thing called the TrekPak system, but it is super expensive, and it really isn't as rigid as I would like for my kitchen box, so I went about modeling up brackets that I could print on my 3d printer, and use some extra plastic sheets I have laying around.

    The end result:


    The internal structure is made of PETG printed brackets attached to acrylic plastic sheets, held together by M3 nuts and bolts. The acrylic sheets just happen to be what I had on hand (they were purchased for very little, so cost was kept down).


    I used some extra mini-cell foam I had laying around along with some padding I purchased from some costume shop online to pad out the outside of the structure. I was in the process of padding out the internal compartments when I lost motivation and stopped. It is a kitchen box, these pots and pans don't really need internal padding.


    I ended up printing up a bracket to hold the cutting board in place so it won't bang around in my 'open' compartment that is going to hold all of the miscellaneous items I still have to pack (propane tanks for the stove, spatula, etc).


    Mostly put together with the core items I want to carry with me

    This kitchen box carries:
    • 2 burner stove (grey box)
    • 1 large skillet (commercial skillet bought used from a restaurant going out of business sale)
    • 2 small skillets (commercial skillets bought at the same sale as the big one)
    • MSR pots (camping pots that I have had for ages)
    • 8" Lodge dutch oven
    • 2x10" enameled plates
    • 1 cutting board (9"x10" cut to size to fit in the space)
    • 6.5" Santoku knife
    • 3.5" paring knife
    • other small things
    When all is said and done, the box is pretty heavy, but it does have wheels and some beefy handles. It can also be tied down when traveling.

    Is it overkill? Yup.

    Do I have any regrets right now? Nope.
     
    BigRus75 likes this.
  11. Sep 2, 2020 at 8:01 AM
    #111
    C0d3M0nk3y

    C0d3M0nk3y [OP] Well-Known Member

    Joined:
    Nov 13, 2015
    Member:
    #169500
    Messages:
    205
    2008 Tacoma Sport DCSB (silver)
    Pelican (and not Pelican) brackets

    For the kitchen box, I ended up 3d printing lots of T-brackets and corner brackets to hold together the various walls I put together. Here are the models I used.

    Corner Top:


    Corner long:


    Code (openSCAD) for the corner brackets:
    Code:
    $fn=100;
    
    cornerRadius = 40;
    cornerZ = 140;
    bracketLength = 20;
    bracketThickness = 16;
    
    wallThickness = 3.5;
    wallZoffset = 0;
    wallYoffset = -4;
    
    boltHeadHeight = 3.2;
    boltHeadDiameter = 5.7;
    boltLength = bracketThickness-boltHeadHeight;
    boltDiameter = 3.2;
    
    nutHeight = 2.7;
    nutDiameter = 6.4;
    
    //corner cut, only on some pelican cases. this should be optional
    cornerCutoutRadius = 8;
    cornerCutoutZ = 50.5;
    cornerCutoutOffSet = 1.5;
    
    module bolt(){
        // bolt head
        cylinder(boltHeadHeight+.1,boltHeadDiameter/2,boltHeadDiameter/2);
        translate([0,0,-boltLength-.2]){cylinder(boltLength+.2,boltDiameter/2,boltDiameter/2);}
        //nut on other end
        translate([0,0,-boltLength-.2]){nut();}
    }
    
    module nut(){
        $fn=6;
        cylinder(nutHeight+.1,nutDiameter/2,nutDiameter/2);
    
    }
    
    module drawBolts(offsetXY,offsetZ){
        translate([(cornerRadius/2)-boltHeadHeight+.1,offsetXY,offsetZ]){rotate([0,90,0]){bolt();}}
        translate([-offsetXY,-(cornerRadius/2)+boltHeadHeight-.1,offsetZ]){rotate([90,90,0]){bolt();}}
    }
    
    module wallCutout1(){
         cube([wallThickness,bracketLength+20,cornerZ+1]);
    }
    
    module wallCutout2(){
         cube([bracketLength+20,wallThickness,cornerZ+1]);
    }
    
    //rounded part of corner
    module cornerPart(){
        cylinder(cornerZ,cornerRadius/2,cornerRadius/2);
        translate([(cornerRadius/2)-(bracketThickness),0,0]){cube([bracketThickness,bracketLength,cornerZ]);}
        translate([-bracketLength,-((cornerRadius/2)),0]){cube([bracketLength,bracketThickness,cornerZ]);}
    }
    
    module cutOutPart(){
        translate([(cornerRadius/2)-(bracketThickness),-((cornerRadius/2))+bracketThickness,0]){
        rotate([0,0,90]){
            cube([1000,100,cornerZ]);
            }
        }
        //right side (remove any curve)
        translate([0,bracketLength,0]){cube([100,100,cornerZ]);}
    
        //top side (remove any curve)
        translate([-bracketLength,-bracketLength-40,0]){rotate([0,0,90]){cube([100,100,cornerZ]);}}
    
    }
    
    module cornerCutout(){
        //translate([cornerRadius/3+cornerCutoutRadius*2,-cornerRadius/3+cornerCutoutRadius*2,0]){cylinder(cornerCutoutZ,cornerCutoutRadius/2,cornerCutoutRadius/2);}
        translate([cornerRadius/3+cornerCutoutRadius/3-cornerCutoutOffSet,-cornerRadius/3-cornerCutoutRadius/3+cornerCutoutOffSet,0]){cylinder(cornerCutoutZ,cornerCutoutRadius/2,cornerCutoutRadius/2);}
    }
    
    
    difference(){
        cornerPart();
        //optional cutout in corner (for pelican 1400)
        //cornerCutout();
        //wall cutout
        translate([(cornerRadius/2)-bracketThickness/2-wallThickness/2,wallYoffset,wallZoffset]){wallCutout1();}
        translate([-bracketLength-wallYoffset-20,-((cornerRadius/2))+bracketThickness/2-wallThickness/2,wallZoffset]){wallCutout2();}   
        //bolt1
        drawBolts(10,cornerZ*1/8);
        //drawBolts(10,cornerZ*2/8);
        //drawBolts(10,cornerZ*3/8);
        drawBolts(10,cornerZ*4/8);
        //drawBolts(10,cornerZ*5/8);
        //drawBolts(10,cornerZ*6/8);
        drawBolts(10,cornerZ*7/8);
    
        //drawBolts(10,30);
        //drawBolts(10,60);
        //drawBolts(10,75);
        //drawBolts(10,90);
        //drawBolts(10,105);
    
        cutOutPart();
       
        //cornerCutout();
    }
    
    

    T-Bracket top:


    T-Bracket long:


    Code (openSCAD) for T-Brackets:
    Code:
    $fn=100;
    
    bracketLength = 23;
    bracketThickness = 12;
    bracketZ = 165;
    
    wallThickness = 3.5;
    wallZoffset = 0;
    wallYoffset = 0;
    
    boltHeadHeight = 3.2;
    boltHeadDiameter = 5.7;
    boltLength = bracketThickness-boltHeadHeight;
    boltDiameter = 3.2;
    
    nutHeight = 2.7;
    nutDiameter = 6.4;
    
    //corner cut, only on some pelican cases. this should be optional
    cornerCutoutRadius = 4;
    cornerCutoutZ = 24;
    
    
    module bolt(){
        // bolt head
        cylinder(boltHeadHeight+.1,boltHeadDiameter/2,boltHeadDiameter/2);
        translate([0,0,-boltLength-.2]){cylinder(boltLength+.2,boltDiameter/2,boltDiameter/2);}
        //nut on other end
        translate([0,0,-boltLength-.2]){nut();}
    }
    
    module nut(){
        $fn=6;
        cylinder(nutHeight+.1,nutDiameter/2,nutDiameter/2);
    }
    
    module drawBolts(offsetXY,offsetZ){
        // right
        translate([offsetXY,-bracketThickness/2+boltHeadHeight,offsetZ]){rotate([90,90,0]){bolt();}}
        // left
        translate([-offsetXY,-bracketThickness/2+boltHeadHeight,offsetZ]){rotate([90,90,0]){bolt();}}
    
    
        // top
        translate([bracketThickness/2-boltHeadHeight,offsetXY,offsetZ]){rotate([0,90,0]){bolt();}}
    
    }
    
    module mainBracket(){
        // right
        translate([0,-bracketThickness/2,0]){cube([bracketLength,bracketThickness,bracketZ]);}
        // left
        translate([-bracketLength,-bracketThickness/2,0]){cube([bracketLength,bracketThickness,bracketZ]);}
        // top
        translate([bracketThickness/2,0,0]){rotate([0,0,90]){cube([bracketLength,bracketThickness,bracketZ]);}}
    }
    
    module wallCutout(){
        cube([bracketLength,wallThickness,bracketZ+1]);
    }
    
    
    difference(){
        mainBracket();
        // right wall
        translate([wallYoffset,-wallThickness/2,wallZoffset]){wallCutout();}   
        // left wall
        translate([-bracketLength-wallYoffset,-wallThickness/2,wallZoffset]){wallCutout();}   
        // top wall cutout
        translate([wallThickness/2,wallYoffset,wallZoffset]){rotate([0,0,90]){wallCutout();}}   
        // bolt 1
        //drawBolts(15,15);
        drawBolts(15,bracketZ*1/8);
        //drawBolts(15,bracketZ*2/8);
        //drawBolts(15,bracketZ*3/8);
        drawBolts(15,bracketZ*4/8);
        //drawBolts(15,v*5/8);
        //drawBolts(15,bracketZ*6/8);
        drawBolts(15,bracketZ*7/8);
    
        //cut out so only parts show
        //translate([-100,0,0]){cube([200,200,200]);} //for backplate only
    
        //translate([-100,-200,0]){cube([200,200,200]);} //for side 1 and 2, cut off backplate
        //translate([-200,0,0]){cube([200,200,200]);} //for side 1   
        //translate([0,0,0]){cube([200,200,200]);} //for side 2   
    
    }
    
    
     
  12. Oct 16, 2020 at 12:59 PM
    #112
    PaidtoPlay08

    PaidtoPlay08 Well-Known Member

    Joined:
    Aug 28, 2019
    Member:
    #303600
    Messages:
    363
    Gender:
    Male
    Oregon
    Vehicle:
    2008 Tacoma DCSB
    Fox 2.5 Coilovers Fox 2.0 Rear shocks SPC UCAs Dakar Medium Duty Leaf Pack 285/70/17 BFG KO2s Method 316 17x8.5
    Was your truck not level with the canopy and Icon stage 2 lift? Did the full dakar leaf pack level out the back with the weight of the canopy? How is the ride?
     
  13. Oct 16, 2020 at 7:51 PM
    #113
    BigRus75

    BigRus75 Member

    Joined:
    May 1, 2020
    Member:
    #326498
    Messages:
    5
    Gender:
    Male
    First Name:
    Rusty
    Maui
    Vehicle:
    2019 Cement Tacoma DCSB TRD OR
    ICON Stage 4, ICON Alloys REbound/Satin Black, Nitto Trail Grappler LT285/75R17, Smittybilt Overlander RTT, Smittybilt Awning, HoneyBadger Front Bumper, Cali Raised 25 Degree Rock Sliders w/ Kickout, Cali Raised Overland bed rack 10”, Cali Raised TRD PRO Grille, Cali Raised LED Pod ditch lights, Cali Raised LED Pod rear Rack lights, Cali Raised Vehicle Accessory 8 Switch Control System, Pro Comp 6 LED Rock Light kit, Rough Country 30” Curved CREE LED Light Bar(Dual Row|Black Series), Safari Snorkel, Rotopax 2 gal water, Rotopax 2 gal fuel, Line-X Bumper & Sliders, Trasharoo, WeatherTech Floorliners full set, Window tint front.
    Brahda, I can't figure out how you attached the drawer fronts. Magic perhaps? Looks like a single piece not the ol' drawer box with additional piece for the fronts therefor double thick fronts. I don't see any obvious screw heads on the outer side on the drawer front and couldn't see any hardware or pockets holes on the backside of the drawer front in previous photos that have shown the backside of the drawer fronts.
     
  14. Oct 20, 2020 at 7:18 AM
    #114
    C0d3M0nk3y

    C0d3M0nk3y [OP] Well-Known Member

    Joined:
    Nov 13, 2015
    Member:
    #169500
    Messages:
    205
    2008 Tacoma Sport DCSB (silver)
    Sorry I haven’t gotten back to this earlier. I need to take some pictures, but it was lots of wood glue and basic L brackets. Pocket holes would have been a good option, but I don’t have a good pocket hole jig and the not good one I do have I am no good at using. When I get a chance, I will try to grab some pictures.
     
    BigRus75[QUOTED] likes this.
  15. Feb 16, 2021 at 9:25 PM
    #115
    Jayhat

    Jayhat Well-Known Member

    Joined:
    Feb 3, 2021
    Member:
    #354979
    Messages:
    109
    Gender:
    Male
    Nice work.

    I tried out some DIY trekpak stuff a while back. I used shirt folding clips as pins and they worked really well. One on bottom and one on top.

    NiftyPlaza U Shape Clear Durable Plastic Alligator Clips Shirts Folding Ties Socks Pants Hold Garments in Place (500 Alligator Clips) https://www.amazon.com/dp/B078PN5LZX/ref=cm_sw_r_cp_api_glt_fabc_51NZ3FDB3KP177PJHY37
     
    C0d3M0nk3y[OP] likes this.

Products Discussed in

To Top