Debugging

There are various ways to debug your projectbox.scad program.

Overview of parameter values

During compilation most settings are listed in the console window.
Compiling design (CSG Tree generation)...
ECHO: "YAPP=========================================="
ECHO: "YAPP:", pcbLength = 30
ECHO: "YAPP:", pcbWidth = 40
ECHO: "YAPP:", pcbThickness = 1.6
ECHO: "YAPP:", paddingFront = 1
ECHO: "YAPP:", paddingBack = 1
ECHO: "YAPP:", paddingRight = 1
ECHO: "YAPP:", paddingLeft = 1
ECHO: "YAPP=========================================="
ECHO: "YAPP:", standoffHeight = 4
ECHO: "YAPP:", standoffPinDiameter = 2.4
ECHO: "YAPP:", standoffDiameter = 7
ECHO: "YAPP=========================================="
ECHO: "YAPP:", buttonWall = 2
ECHO: "YAPP:", buttonPlateThickness = 2.5
ECHO: "YAPP:", buttonSlack = 0.5
ECHO: "YAPP:", buttonCupDepth = 3
ECHO: "YAPP=========================================="
ECHO: "YAPP:", baseWallHeight = 8
ECHO: "YAPP:", lidWallHeight = 13
ECHO: "YAPP:", wallThickness = 2
ECHO: "YAPP:", ridgeHeight = 3
ECHO: "YAPP:", roundRadius = 2
ECHO: "YAPP:", shellLength = 36
ECHO: "YAPP:", shellInsideLength = 32
ECHO: "YAPP:", shellWidth = 46
ECHO: "YAPP:", shellInsideWidth = 42
ECHO: "YAPP:", shellHeight = 23
ECHO: "YAPP:", shellpcbTop2Lid = 21
ECHO: "YAPP=========================================="
ECHO: "YAPP:", pcbX = 3
ECHO: "YAPP:", pcbY = 3
ECHO: "YAPP:", pcbZ = 6.6
ECHO: "YAPP:", pcbZlid = 16.4
ECHO: "YAPP=========================================="
ECHO: "YAPP:", shiftLid = 1
ECHO: "YAPP:", onLidGap = 0
ECHO: "YAPP=========================================="
ECHO: "YAPP:", Version = "v2.0.3 (23-05-2023)"
ECHO: "YAPP: copyright by Willem Aandewiel"
ECHO: "YAPP=========================================="
These variables can be used in the various arrays to make the values comply to changes you made in the setup.

Controlling the Compiled Image

There are various settings that you can tune to change the compiled image so you can get more "insight" in the projectbox the YAPPgenerator is making.
//-- D E B U G -----------------//-> Default ---------
showSideBySide = true; //-> true
onLidGap = 0;
shiftLid = 5;
hideLidWalls = false; //-> false
hideBaseWalls = false; //-> false
showOrientation = true;
showPCB = false;
showSwitches = false;
showPCBmarkers = false;
showShellZero = false;
showCenterMarkers = false;
inspectX = 0; //-> 0=none (>0 from front, <0 from back)
inspectY = 0; //-> 0=none (>0 from left, <0 from right)
inspectLightTubes = 0; //-> { -1 | 0 | 1 }
inspectButtons = 0; //-> { -1 | 0 | 1 }
//-- D E B U G ---------------------------------------

showSideBySide

When true it the Base and Lid are printed side by side. This is usually the setting to use if you want to compile a STL file for 3D printing.
When false the Base and Lid are printed "on top" of each other.
showSideBySide = false, onLidCap = 15
showSideBySide = true, shiftLid = 10

onLidGap

This value is only used when showSideBySide = false. A value of zero prints the Base and Lid right on to of each other. A value > zero will lift the Lid up from the Base.

shiftLid

This value is only used when showSideBySide = true. A value > zero will place the Lid further away from the Base.

hideBaseWalls

If true the baseWalls are not printed so you can see the inside of the box

hideLidWalls

If true the lidWalls are not printed so you can see the inside of the box
hideBaseWall = false, hideLidWall = false
hideBaseWall = true, hideLidWall = true
HideBaseWall = true, hideLidWall = false

showOrientation

When true the text Front, Right, Back and Left are printed at the four planes. When creating a STL file the orientation markers are never printed!
showOrientation = false
showOrientation = true

showPCB

For reference and for getting a feel of the projectbox it is, sometimes, handy to show exactly where the PCB will fit into the projectbox. When true a (dummy) PCB is printed. When false no PCB is printed.
showPCB = false
showPCB = true

showPCBmarkers

To get a better feel where the pcb[0,0,0] point is you can set showPCBmarkers to true. The vertical black markers are on the exact corners of the PCB. The horizontal black markers are drawn at the top of the PCB.
showPCBmarkers = true, showPCB = true
showPCBmarkers = true, showPCB = false

showShellZero

When true it will show a vertical red marker at posX=0 and posY=0
showShellZero = false
showShellZero = true

showCenterMarkers

When true, blue center markers are printed just below the projectbox.

inspectX

With a value greater than zero you get a cross section of the projectbox from the Front towards the Back. A negative value gives a cross section from the Back towards the Front.
inspectX = negative
inspectX = positive

inspectY

With a value greater than zero you get a cross section of the projectbox from the Left towards Right. A negative value gives a cross section from the Right towards Left.
inspectY = negative
inspectY = positive

inspectLightTubes

If -1 or 1 shows the inner structure of the light tubes.
left: inspectLightTubes = 0, right: inspectLightTubes = 1 (or -1)

inspectButtons

If -1 or 1 shows the inner structure of the push buttons.
left: inspectButtons = 0, right: inspectButtons = 1 (or -1)

showSwitches

If true tries to show an impression of the tactile switches.