reorder supermicro-sc808t stuff
This commit is contained in:
82
openscad/own/supermicro_sc808t/hdd-holder/box.scad
Normal file
82
openscad/own/supermicro_sc808t/hdd-holder/box.scad
Normal file
@@ -0,0 +1,82 @@
|
||||
/**
|
||||
* Model that draws a box that can have screws and slots and that can be used as a negative on another box and obtain the difference.
|
||||
* can be used as a negative on another box and obtain the difference.
|
||||
*
|
||||
* @author Joaquín Fernández
|
||||
* @url https://gitlab.com/joaquinfq/openscad/blob/master/Modules/Models/box.scad
|
||||
* @license CC-BY-NC-4.0
|
||||
*
|
||||
* @ @param {Float} width Width of the model to generate.
|
||||
* @ @param {Float} height Height of the model to generate.
|
||||
* @param {Float} length Length of the model to be generated.
|
||||
* @param {Float} thickness Thickness of the block where the model will be inserted.
|
||||
* @param {Float} screw Diameter of the screw to be used.
|
||||
* @param {Float} slot Length of the slot where the screws will be inserted.
|
||||
* @param {Float} tolerance Value to be used to adjust the standard dimensions.
|
||||
* @param {Float[]} side Coordinates of the side holes.
|
||||
* @param {Float[]} bottom Coordinates of the bottom holes.
|
||||
*/
|
||||
module modelBox(width, height, length, thickness, screw = 0, slot = 0, side = [], bottom = [])
|
||||
{
|
||||
cube([ width, height, length ]);
|
||||
// Side holes
|
||||
for (_side = side)
|
||||
{
|
||||
if (slot)
|
||||
{
|
||||
hull()
|
||||
{
|
||||
for (_n = [ - slot / 2, slot / 2 ])
|
||||
{
|
||||
translate([ width / 2, _side[0], _side[1] + _n ])
|
||||
{
|
||||
rotate([ 0, 90, 0 ])
|
||||
{
|
||||
cylinder(d = screw, h = width + thickness * 2, center = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
translate([ width / 2, _side[0], _side[1] ])
|
||||
{
|
||||
rotate([ 0, 90, 0 ])
|
||||
{
|
||||
cylinder(d = screw, h = width + thickness * 2, center = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Bottom holes
|
||||
for (_bottom = bottom)
|
||||
{
|
||||
if (slot)
|
||||
{
|
||||
hull()
|
||||
{
|
||||
for (_n = [ - slot / 2, slot / 2 ])
|
||||
{
|
||||
translate([ width - _bottom[0], 0, _bottom[1] + _n ])
|
||||
{
|
||||
rotate([ 90, 0, 0 ])
|
||||
{
|
||||
cylinder(d = screw, h = thickness);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
translate([ width - _bottom[0], 0, _bottom[1] ])
|
||||
{
|
||||
rotate([ 90, 0, 0 ])
|
||||
{
|
||||
cylinder(d = screw, h = thickness);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user