Skip to content

Commit

Permalink
断面性能関数で計算時に鉄骨断面クラスのインスタンスを渡す仕様に変更
Browse files Browse the repository at this point in the history
  • Loading branch information
st-func committed Feb 15, 2024
1 parent 947cc72 commit b937b7e
Showing 1 changed file with 13 additions and 19 deletions.
32 changes: 13 additions & 19 deletions src/functions/functions.ts
@@ -1,4 +1,4 @@
import { SecPropertyType, SecBuildBox, SecBuildH, Unit } from "@st-func/st-func-ts";
import { SecBuildBox, SecBuildH, SecPropertyType, SecSteel, Unit } from "@st-func/st-func-ts";
/**
* 文字列をenumのpropertyTypeに変換する
* @param propertyType 文字列の断面性能タイプ
Expand Down Expand Up @@ -49,6 +49,12 @@ function unitOfSecProperty(propertyType: SecPropertyType): string {
}
}

function getSecSteelProperty(propertyType: string, section: SecSteel): number {
const propertyTypeEnum = toSecPropertyType(propertyType);
const value = section.property(propertyTypeEnum);
return Unit.output(value, unitOfSecProperty(propertyTypeEnum));
}

/**
* 組立角形鋼管の断面性能。
* @customfunction secBuildBox secBuildBox
Expand All @@ -60,15 +66,9 @@ function unitOfSecProperty(propertyType: SecPropertyType): string {
* @returns 断面性能
*/
export function secBuildBox(propertyType: string, a: number, b: number, t1: number, t2: number): number {
let propertyTypeEnum = toSecPropertyType(propertyType);
let value = SecBuildBox.property(
propertyTypeEnum,
Unit.input(a, "mm"),
Unit.input(b, "mm"),
Unit.input(t1, "mm"),
Unit.input(t2, "mm")
);
return Unit.output(value, unitOfSecProperty(propertyTypeEnum));
const secBuildBox: SecBuildBox = new SecBuildBox();
secBuildBox.setDimensions(Unit.input(a, "mm"), Unit.input(b, "mm"), Unit.input(t1, "mm"), Unit.input(t2, "mm"));
return getSecSteelProperty(propertyType, secBuildBox);
}

/**
Expand All @@ -82,13 +82,7 @@ export function secBuildBox(propertyType: string, a: number, b: number, t1: numb
* @returns 断面性能
*/
export function secBuildH(propertyType: string, a: number, b: number, t1: number, t2: number): number {
let propertyTypeEnum = toSecPropertyType(propertyType);
let value = SecBuildH.property(
propertyTypeEnum,
Unit.input(a, "mm"),
Unit.input(b, "mm"),
Unit.input(t1, "mm"),
Unit.input(t2, "mm")
);
return Unit.output(value, unitOfSecProperty(propertyTypeEnum));
const secBuildH: SecBuildH = new SecBuildH();
secBuildH.setDimensions(Unit.input(a, "mm"), Unit.input(b, "mm"), Unit.input(t1, "mm"), Unit.input(t2, "mm"));
return getSecSteelProperty(propertyType, secBuildH);
}

0 comments on commit b937b7e

Please sign in to comment.