Files
rackstack/TODO.md
2023-02-04 18:30:45 -05:00

1.4 KiB

case-project TODO list

Actual TODO

  • Finish refactoring files to use the application style, like in yBar.scad
  • Implement better build script using python
  • Finish side wall stuff
  • Finish baseplate
  • Start working on actual cases

Ideas

  • Clean up sharedVariables.scad!!!
  • Start using matrices for transformations. Enforce strict local/global hierarchy of matrix transformations.
  • Instead of using names like 'mainRailSlotToInnerYZFace', experiment with a central distance/dimension directory. Like:
// Define identifiers:
mainRailSlot = "mainRailSlotIdentifier";
yBarInnerYZ = "yBarInnerYZFaceIdentifier";

// Define distance
setDx(mainRailSlot, yBarInnerYZ, 3);

// Define dimensions
setX(mainRailSlot, 10);
setX(yBarInnerYZ, 0);

// Then, you can get distances like:
dx(mainRailSlot, yBarInnerYZ); // == 3
dx(yBarInnerYZ, mainRailSlot); // == 3

dx(mainRailSlot, blah); //throw error

// And you could possible chain distances like:

dx(yBarInnerYZ, mainRailSlot, sideConnectorSlot); 
// which would eval to:
// dx(yBarInnerYZ, mainRailSlot) + x(mainRailSlot) + dx(mainRailSlot, sideConnectorSlot); 
// OR 
dx(yBarInnerYZ, mainRailSlot, sideConnectorSlot, includeFirst=true, includeLast=true);
// which would eval to:
// x(yBarInnerYZ) + dx(yBarInnerYZ, mainRailSlot, sideConnectorSlot) + x(sideConnectorSlot);

Hmm after looking into it a bit it seems that OpenScad's non-reassign rule is going to get in the way