개발 및 앱/dart

파이프 무게 계산법

Mr.Amugae 2025. 1. 18. 10:50
반응형
SMALL
class KgCalculate {
  //원형파이프 계산 함수
  double roundPipeResult({
    double? roundSize,
    double? lengthSize, // 길이라고 하자
    double? thickness,
    double? texture,
  }) {
    double result;

    result = (roundSize! - thickness!) *
        lengthSize! *
        thickness *
        texture! *
        3.14 /
        1000000;

    return result;
  }

  double squarePipeResult({
    double? widthSize,
    double? heightSize,
    double? lengthSize,
    double? thickness,
    double? texture,
  }) {
    // 외부 부피 계산
    double outerVolume = widthSize! * heightSize! * lengthSize!;

    // 내부 부피 계산
    double innerWidth = widthSize - 2 * thickness!;
    double innerHeight = heightSize - 2 * thickness;
    double innerVolume = innerWidth * innerHeight * lengthSize;

    // 실제 부피 계산 (외부 부피 - 내부 부피)
    double actualVolume = outerVolume - innerVolume;

    // 무게 계산 (단위 변환 포함)
    double result = actualVolume * texture! / 1000000; // mm³ -> kg 변환

    return result;
  }

  double anglePipeResult({
    double? widthSize,
    double? heightSize,
    double? lengthSize,
    double? thickness,
    double? texture,
  }) {
    double result;

    result = ((widthSize!) + (heightSize!) - thickness!) *
        lengthSize! *
        thickness *
        texture! /
        1000000;

    return result;
  }

  double channelPipeResult({
    double? widthSize,
    double? heightSize,
    double? lengthSize,
    double? thickness,
    double? thickness2,
    double? texture,
  }) {
    double result;

    double one;
    double two;

    one = widthSize! * lengthSize! * thickness! * texture!;
    two = (heightSize! - thickness) * 2 * lengthSize * texture * thickness2!;

    result = (one + two) / 1000000;

    return result;
  }

  double plateResult(
    double widthSize,
    double heightSize,
    double thickness,
    double texture,
  ) {
    double result;

    result = widthSize * heightSize * thickness * texture / 1000000;

    return result;
  }
}

 

 

 

반응형
LIST