TOPdesk/config.scad

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;