Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

To understand Econ and Tech scores it is important to understand what information is considered and how it is processed to get to a result.

...

An econ score might consist of the following blackboxes - the properties that are evaluated by each blackbox - and a weight that informs how much impact an individual blackbox has in relation to the other blackbox results.

Blackbox

Properties incl. Type

Weight

Lead time savings

  • Lead Time (Integer)

0.

7

5

Part price

Savings potential

  • Current Part Price (Currency)

  • Predicted AM part price

1.0

.5Price per kg

Yearly Cost Quantity

  • Current Part Price

(Currency)
  • Weight (Float)

  • 0.5

    Selection logic

    • Demand

    FrequencyDemand
    • Quantity

  • Material Class

  • Size

    1.0

    In the above example, the blackbox Selection logic lead time savings has the strongest lowest impact on the econ score.

    ...

    Calculating a Tech Score

    The tech score uses the following parameters:

    Blackbox

    Properties incl. Type

    Weight

    Max Dimension

    • Size (size)

    1.0

    Average Wall Thickness

    • Avg wall thickness (float)

    0.4

    Max Dimension vs. Avg. Wall Thickness

    • Size (size)

    • Avg wall thickness (float)

    0.6

    Surface Area vs. Bounding Box Area

    • Surface Area (float)

    • Bounding box area (float)

    0.4

    Aspect Ratio

    • size (size)

    1.0

    Waste Ratio

    • Volume (float)

    • Bounding box volume (float)

    0.75

    The functions seen in the tech score are calculated as follows:

    Code Block
    languagejs
    // 1. Max Dimension:
    
    function fMaxDim(maxDim) {
    const center = 200; // Center of the Gaussian curve
    const deviation = Math.abs(maxDim - center); // Only consider positive deviations
    const standardDeviation = 200; // Adjust this value based on desired sensitivity
    
    // Gaussian function to calculate the score
    const gaussian = (x) => Math.exp(-Math.pow(deviation,2) / (2 * Math.pow(standardDeviation,2)));
    
    const score = gaussian(maxDim)
    
    return score;
    }
    
    
    //2. Average Wall Thickness
    function fAvgWallThickness(avgWallThickness) {
    const printableThreshold = 0.7; // Threshold for printable average wall thickness
    const sigmoidFactor = 2; // Adjust this factor based on desired sensitivity
    
    const score = 1 / (1 + Math.exp(-(avgWallThickness - printableThreshold) * sigmoidFactor));
    return score;
    }
    
    //3. average wall thickness & maxDim
    function fMaxDimAvgWallThickness(maxDim, avgWallThickness) {
    const desiredRatio = 10; // Adjust the desired ratio based on specific requirements
    
    // Calculate the ratio between max dimension and average wall thickness
    const ratio = maxDim / avgWallThickness;
    
    // Calculate the score based on the ratio and desired ratio
    const score = 1 - Math.abs(ratio - desiredRatio) / desiredRatio;
    
    // Ensure the score is within the range of 0 to 1
    return Math.max(0, Math.min(score, 1));
    }
    
    
    // 4. Model Area / Bounding Box Area:
    function fSurfaceAreaBoundingBoxArea(x, y, z, surfaceArea, volume) {
    const boundingBoxArea = 2 * (x * y + y * z + z * x);
    const desiredRatio = 0.9; // Adjust the desired ratio (closer to 1 for higher score)
    const sigmoidFactor = 1; // Adjust the sigmoid factor based on desired sensitivity
    
    const ratio = surfaceArea / boundingBoxArea;
    
    // Apply sigmoid function to map the ratio between 0 and 1
    const sigmoid = (x) => 1 / (1 + Math.exp(-x * sigmoidFactor));
    
    const score = sigmoid(ratio - desiredRatio);
    return ratio;
    }
    
    //5. Aspect Ratio
    function fAspectRatio(x, y, z) {
    const desiredAspectRatio = 1; // Desired aspect ratio
    const aspectRatio = Math.max(x, y, z) / Math.min(x, y, z);
    const sigma = 2; // Adjust this parameter based on desired sensitivity
    
    // Calculate the bell curve value using the Gaussian distribution formula
    const exponent = -(Math.pow(aspectRatio - desiredAspectRatio, 2) / (2 * Math.pow(sigma, 2)));
    const bellCurveValue = Math.exp(exponent);
    
    return bellCurveValue;
    }
    
    //6. Waste Ratio
    
    function fWasteRatio(volume, boundingBoxVolume) {
    const desiredWasteRatio = 0.00; // Desired waste ratio (close to 0)
    const sigmoidFactor = 5; // Adjust this factor based on desired sensitivity
    
    // Sigmoid function to map the ratio between 0 and 1
    const sigmoid = (x) =>1 - 1 / (1 + Math.exp(-(x - 0.5) * sigmoidFactor));
    
    const ratio = volume / boundingBoxVolume;
    const score = sigmoid(ratio);
    
    return score;
    }

    Info

    Having these functions seeks to give more power to evaluate parts for DfAM mathematically.

    ...

    What do these functions mean?

    1. Max Dimension (MaxDim):

      • Summary: Evaluates the printability and structural integrity of a 3D printed part based on its maximum dimension.

      • Explanation: The function calculates a score that reflects how the maximum dimension of a part compares to a desired center value. The score is determined using a Gaussian curve, with a higher score indicating that the part's size is closer to the desired center value. This center value is determined through empirical evaluation that parts that are too small should be penalized and parts that are close to the printer’s maximum are also slightly less viable than those with a reasonable dimension and where multiple of the same part can fit in the printer.

    2. Average Wall Thickness (AvgWallThickness):

      • Summary: Assesses the printability of a 3D printed part by considering the average thickness of its walls.

      • Explanation: The function calculates a score based on the average wall thickness of a part. A sigmoid function is used to map the score, with a higher score indicating that the average wall thickness is closer to a printable threshold. This score helps determine whether the part's walls are within a suitable range for successful printing. A lower threshold is riskier in AM while being over-thick isn’t problematic, unless special printing processes take place, such as printing large full metal blocks that can cause issues with thermal stresses.

    3. Max Dimension vs. Avg. Wall Thickness (MaxDimAvgWallThickness):

      • Summary: Provides a combined assessment of a part's size and wall thickness to determine its printability and structural stability.

      • Explanation: A higher ratio indicates that the part is relatively larger compared to the thickness of its walls, which can result in thin or unsupported areas. This may pose challenges during printing, as thin walls can be prone to deformation, warping, or structural instability. On the other hand, a lower ratio suggests that the part has a more balanced relationship between its size and wall thickness, which can contribute to better printability and structural integrity. It indicates that the walls are relatively thicker compared to the overall size of the part, providing better stability and strength.

    4. Surface Area vs. Bounding Box Area (SurfaceAreaBoundingBoxArea):

      • Summary: Evaluates how efficiently a 3D printed part utilizes its space within the bounding box.

      • Explanation: A higher ratio indicates that the part's surface area is relatively larger compared to its bounding box, suggesting a more complex and intricate geometry. This can be desirable for detailed and intricate 3D prints. On the other hand, a lower ratio indicates that the part's surface area is relatively smaller compared to its bounding box, suggesting a simpler and more solid geometry. This can be advantageous for printing sturdy and robust objects with less intricate details.

    5. Aspect Ratio (AspectRatio):

      • Summary: Assesses the balance between the dimensions of a 3D printed part to ensure optimal printability.

      • Explanation: A higher ratio indicates that the part's surface area is relatively larger compared to its bounding box, suggesting a more complex and intricate geometry. This can be desirable for detailed and intricate 3D prints. On the other hand, a lower ratio indicates that the part's surface area is relatively smaller compared to its bounding box, suggesting a simpler and more solid geometry. This can be advantageous for printing sturdy and robust objects with less intricate details.

    6. Waste Ratio (WasteRatio):

      • Summary: Evaluates the efficiency of material usage in a 3D printed part.

      • Explanation: Minimizing the waste ratio is desirable in 3D printing as it helps optimize material usage, reduce costs, and reduce environmental impact. Design considerations, such as optimizing support structures, using lattice or infill patterns, and incorporating lightweight designs, can help reduce the waste ratio and improve the overall efficiency of the printing process. Additionally, a high waste ratio for classical manufacture does point towards AM as a solution.

    ...