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 ---------------------------------------


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


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.


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


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


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


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


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


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


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


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


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


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


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


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


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