REPY-2.0 1.0
Mechanical module for modular robotics
Component BasicSquaredPCB::build ( ) [protected, virtual]
{
    //-- PCB:
    Component pcb = RoundedTablet( side, side, thickness, side/20 );

    //-- Holes:
    Component hole_base = Cylinder( drill_diam/2.0, thickness + 0.1);
    Component hole01 = hole_base.translatedCopy(  drill_x/2.0,  drill_y/2.0, 0);
    Component hole02 = hole_base.translatedCopy( -drill_x/2.0,  drill_y/2.0, 0);
    Component hole03 = hole_base.translatedCopy(  drill_x/2.0, -drill_y/2.0, 0);
    Component hole04 = hole_base.translatedCopy( -drill_x/2.0, -drill_y/2.0, 0);
    Component holes = hole01 + hole02 + hole03 + hole04;

    //-- Make board:
    Component basic_board = pcb - holes;

    //-- Add some links:
    //-- 4 for the upper side drills:
    basic_board.addLink( RefSys(  drill_x/2.0,  drill_y/2.0, thickness/2.0));
    basic_board.addLink( RefSys( -drill_x/2.0,  drill_y/2.0, thickness/2.0));
    basic_board.addLink( RefSys(  drill_x/2.0, -drill_y/2.0, thickness/2.0));
    basic_board.addLink( RefSys( -drill_x/2.0, -drill_y/2.0, thickness/2.0));

    //-- 4 for the lower side drills (looking downwards):
    basic_board.addLink( RefSys(  drill_x/2.0,  drill_y/2.0, -thickness/2.0).relRotate(180,0,0));
    basic_board.addLink( RefSys( -drill_x/2.0,  drill_y/2.0, -thickness/2.0).relRotate(180,0,0));
    basic_board.addLink( RefSys(  drill_x/2.0, -drill_y/2.0, -thickness/2.0).relRotate(180,0,0));
    basic_board.addLink( RefSys( -drill_x/2.0, -drill_y/2.0, -thickness/2.0).relRotate(180,0,0));

    //-- Put some color:
    basic_board.color( 0.2, 0.2, 0.5);

    return basic_board;
}
 All Classes Functions Variables