add rack profiles
This commit is contained in:
@ -8,13 +8,16 @@
|
|||||||
*/
|
*/
|
||||||
include <./profiles.scad>
|
include <./profiles.scad>
|
||||||
|
|
||||||
profile = "default";
|
profileName = "micro";
|
||||||
|
profile = getProfile(profileName);
|
||||||
|
|
||||||
echo("Profile:", profile);
|
echo("Profile:", profile);
|
||||||
|
|
||||||
|
function getConfig(name) = getConfigValue(profile, name);
|
||||||
|
|
||||||
// Maximum width for rackmount units. Change this according your max expected enclosure width.
|
// Maximum width for rackmount units. Change this according your max expected enclosure width.
|
||||||
// Changing this will directly affect the required build volume.
|
// Changing this will directly affect the required build volume.
|
||||||
maxUnitWidth = getConfigValue(profile, "maxUnitWidth");
|
maxUnitWidth = getConfig("maxUnitWidth");
|
||||||
|
|
||||||
// Maximum (recommended) unit depth. There technically isn't a max unit depth because there's no physical bound on
|
// Maximum (recommended) unit depth. There technically isn't a max unit depth because there's no physical bound on
|
||||||
// how far a rack unit can extrude back. This parameter basically controls the distance between the front of the front
|
// how far a rack unit can extrude back. This parameter basically controls the distance between the front of the front
|
||||||
|
|||||||
@ -39,6 +39,12 @@ function _getConfigValueRaw(profile, varName) = profile[search([varName], profil
|
|||||||
function _getProfileRaw(profileName) = _profileConfigs[search([profileName], _profileConfigs)[0]][1];
|
function _getProfileRaw(profileName) = _profileConfigs[search([profileName], _profileConfigs)[0]][1];
|
||||||
|
|
||||||
function _getConfigValueOrThrowError(val) = val == undef? assert(false, "blah") 0: val;
|
function _getConfigValueOrThrowError(val) = val == undef? assert(false, "blah") 0: val;
|
||||||
|
function _getConfigValueOrDefault(val, default) = val == undef? default: val;
|
||||||
|
|
||||||
|
function getConfigValue(profile, varName) =
|
||||||
|
_getConfigValueOrDefault(
|
||||||
|
_getConfigValueRaw(profile, varName),
|
||||||
|
_getConfigValueOrThrowError(_getConfigValueRaw(getProfile("default"), varName))
|
||||||
|
);
|
||||||
|
|
||||||
function getConfigValue(profile, varName) = _getConfigValueOrThrowError(_getConfigValueRaw(profile, varName));
|
|
||||||
function getProfile(profileName) = _getConfigValueOrThrowError(_getProfileRaw(profileName));
|
function getProfile(profileName) = _getConfigValueOrThrowError(_getProfileRaw(profileName));
|
||||||
|
|||||||
Reference in New Issue
Block a user