102 lines
3.0 KiB
OpenSCAD
102 lines
3.0 KiB
OpenSCAD
// Styles and tech plumbing
|
|
CUTOUT_OVERCOMMIT = 10; // how much bigger to make *_hole modules bigger than they accurately need to be, workaround for preview (F5)
|
|
|
|
/* If the COLORSCHEME is "semantic", pieces will be
|
|
* colored by function, otherwise by material
|
|
*/
|
|
COLORSCHEME = "semantic";
|
|
//COLORSCHEME = "decorative";
|
|
|
|
//COLOR_WOOD = [0.23, 0.2, 0.2, 0.5]; // RGBA currently buggy
|
|
COLOR_WOOD = [0.23, 0.2, 0.2];
|
|
//COLOR_STEEL = [0.8, 0.8, 0.8, 0.8]; // RGBA currently buggy
|
|
COLOR_STEEL = [0.8, 0.8, 0.8];
|
|
COLOR_CUTOUT = [1, 0, 0.5];
|
|
|
|
COLOR_SEMANTIC_USABLE_SURFACE = [0, 0.5, 1];
|
|
COLOR_SEMANTIC_CABLE_MANAGEMENT = [0.5, 1, 0];
|
|
COLOR_SEMANTIC_LOAD_BEARING = [1, 0.5, 0];
|
|
|
|
// All measurements in mm
|
|
// Outer measurements
|
|
MAIN_WIDTH = 1800;
|
|
MAIN_HEIGHT = 700;
|
|
MAIN_DEPTH = 900;
|
|
|
|
TOP_THICKNESS = 25;
|
|
|
|
BACKPLATE_THICKNESS = 15;
|
|
STAND_HEIGHT = 500;
|
|
STAND_DEPTH = 150;
|
|
STAND_THICKNESS = 20;
|
|
|
|
CABLE_TRAY_HEIGHT = 150;
|
|
CABLE_TRAY_LIP = 50; // backplate -> |_. <- lip
|
|
CABLE_TRAY_THICKNESS = 10;
|
|
|
|
CABLE_SLOT_NUM = 3;
|
|
CABLE_SLOT_NUM_SIDETABLE = 2;
|
|
CABLE_SLOT_WIDTH = 100;
|
|
CABLE_SLOT_DEPTH = 90; // roughly 2 rack units
|
|
CABLE_SLOT_TOP_OFFSET = 50;
|
|
CABLE_SLOT_SIDE_OFFSET = 20;
|
|
|
|
BRACE_THICKNESS = 35;
|
|
BRACE_OFFSET = 200;
|
|
|
|
SPACER_THICKNESS = 30; // thickness only decorative, depends on available components irl
|
|
SPACER_CUFF_THICKNESS = 10; // same
|
|
SPACER_CUFF_HEIGHT = 40;
|
|
|
|
// Feet aren't really defined in here, more decorative,
|
|
// so most of their values aren't overly important.
|
|
// leg height determined automatically
|
|
LEG_DIAMETER = 50;
|
|
LEG_BASE_DIAMETER = 100;
|
|
LEG_BASE_THICKNESS = 10;
|
|
// offset of the legs' *center* not how far their bases are from edges!
|
|
LEG_OFFSET_X = 100;
|
|
LEG_OFFSET_Y = LEG_OFFSET_X;
|
|
|
|
SIDETABLE_DEPTH = MAIN_DEPTH;
|
|
SIDETABLE_WIDTH = MAIN_DEPTH * 2;
|
|
|
|
// Stuff from subs/base.scad
|
|
GRID_SIZE = 50;
|
|
/* Global grid size
|
|
* CHANGING THIS WILL MAKE YOUR DESK AND MODULES INCOMPATIBLE TO OTHERS.
|
|
* Do so at your own peril.
|
|
*/
|
|
|
|
MODULE_SLIDE_WIDTH = 50;
|
|
MODULE_THICKNESS = 20; // thickness of module walls
|
|
|
|
MODULE_RAIL_BASE_WIDTH = 50;
|
|
MODULE_RAIL_MARGIN_SIDE = 5;
|
|
MODULE_RAIL_MARGIN_TOP = 10; // MODULE_THICKNESS;
|
|
MODULE_RAIL_MARGIN_SCREW = GRID_SIZE;
|
|
_MODULE_RAIL_OFFSET = MODULE_RAIL_BASE_WIDTH / 2 + MODULE_RAIL_MARGIN_SIDE; // offset on x axis for modules cause by size of rail
|
|
|
|
MODULE_SCREW_LENGTH = 120; // length WITHOUT the screw head
|
|
SCREW_DIAMETER = 8;
|
|
SCREW_HEAD_THICKNESS = 5; // mostly decorative, irl screws might differ
|
|
SCREW_HEAD_DIAMETER = 20; // ditto
|
|
|
|
BARREL_NUT_DIAMETER = 15;
|
|
|
|
/* Calculated values
|
|
* These are considered "private" variables and MUST NOT be modified!
|
|
*/
|
|
|
|
_BACKPLATE_HEIGHT = STAND_HEIGHT - STAND_THICKNESS;
|
|
|
|
_CABLE_TRAY_WIDTH = MAIN_WIDTH - 2 * STAND_THICKNESS;
|
|
_CABLE_TRAY_DEPTH = STAND_DEPTH - CABLE_TRAY_THICKNESS;
|
|
_CABLE_TRAY_OFFSET_Y = MAIN_HEIGHT - TOP_THICKNESS - CABLE_TRAY_HEIGHT;
|
|
|
|
|
|
_LEG_HEIGHT = MAIN_HEIGHT - TOP_THICKNESS;
|
|
_FOOT_HEIGHT = MAIN_HEIGHT - TOP_THICKNESS - STAND_HEIGHT;
|
|
_FOOT_OFFSET_Y = MAIN_DEPTH - ((STAND_DEPTH + BACKPLATE_THICKNESS) / 2);
|
|
_LEG_TO_FOOT = _FOOT_OFFSET_Y - LEG_OFFSET_Y;
|