勾配とロスを含む屋根材スクエア計算機
屋根材のスクエアはシングル材の発注に使われる取引単位で、1スクエアは屋根面100平方フィートです。この計算機は基準面積をスクエアへ換算し、勾配と材料ロスも反映します。平方フィート単位の面積を入力し、水平投影面積の場合は勾配係数を指定してください。さらに、切断、谷部、重ね、破損に備えるロス率を選びます。途中の各面積、正確なスクエア数、整数へ切り上げた発注量を確認できます。
無料で実行
正しい屋根面積から始めます
まず平方フィート単位の面積を用意し、その測定値が何を表すかを確認してください。図面、衛星画像の輪郭、建物寸法から得た面積は水平投影面積であり、勾配によって増える表面積は含まれません。この場合は投影面積と適切な勾配係数を入力します。現場測定がすでに傾斜面に沿っている場合は、係数に 1 を使用してください。計算機は roof_area と pitch_factor を掛けて pitched_area_sq_ft を求めます。たとえば、1,800 に 1.118 を掛けると傾斜面積は 2,012.4 平方フィートです。施工する屋根面をすべて含め、勾配が異なる部分は別々に計算してください。長さだけを面積として入力せず、別の単位は事前に平方フィートへ換算します。この計算では1スクエアを 100 平方フィートとします。元の面積を過小に測ると、勾配補正とロス加算の両方に影響するため、正確な測定が重要です。
勾配とロスを正しい順序で適用します
勾配とロスは別の目的を持ちます。勾配係数は平面投影を実際の施工面積へ変換し、ロス率は切断、重ね、破損、柄合わせ、隅棟、谷部に必要な材料を追加します。最初に基準面積へ勾配係数を掛け、その傾斜面積に対してロスを計算し、order_area_sq_ft を求めます。完全な式は roof area times pitch factor times one plus waste percent divided by one hundred です。この順序なら、平面面積だけにロスを加えて傾斜分を忘れる誤りを防げます。単純な切妻屋根は、ドーマー、隅棟、谷、多数の小面を持つ屋根より少ない余裕で済む場合があります。適切な率はメーカー、販売店、施工者へ確認してください。既定の 10 percent は出発点であり、建築規則や専門的な拾い出しの代わりではありません。ゼロから百まで指定できます。
正確な結果と発注結果を読み取ります
勾配とロスを加えた後、order_area_sq_ft を 100 で割ります。roofing_squares_exact は比較や見積記録に使えるよう、計算値を小数点以下最大6桁で保持します。roofing_squares_to_order は次の整数へ切り上げ、整数スクエアで計画するときに必要量を下回らないようにします。シングル材は通常バンドル単位で販売され、1スクエア当たりのバンドル数は製品ごとに異なります。メーカーの被覆仕様を使ってバンドル数へ換算してください。スターター材、棟材、下葺き材、板金、釘、水切りは含みません。応答には傾斜面積、ロス面積、総発注面積、固定値 100 平方フィート、計算式も含まれます。成功した API の1件は $0.002 で、ブラウザー計算機はローカルで動作できます。同じ数値入力には常に同じ結果が返ります。
活用例
住宅所有者の予算確認
シングル材の見積りを比べる前に、測定面積を勾配とロス込みのスクエア数へ換算できます。
施工業者の材料拾い出し
各屋根面の正確値と切り上げ値を、購買担当者が確認できる明確な計算で記録できます。
販売店での発注確認
提示された数量に勾配と意図したロス余裕が含まれているかを確認できます。
よくある質問
屋根材の1スクエアとは何ですか?
屋根材の1スクエアは屋根表面 100 平方フィートを表します。
勾配係数 1 はいつ使用しますか?
入力面積がすでに傾斜面を測っている場合は 1 を使い、水平投影面積には適切な係数を使います。
発注量を切り上げるのはなぜですか?
整数スクエアで計画するときに、計算された必要被覆量を下回らないようにするためです。
シングル材のバンドル数も計算しますか?
いいえ。被覆量は製品ごとに異なるため、メーカーの1スクエア当たりバンドル数で換算してください。
API の計算料金はいくらですか?
正常に処理された1件は $0.002 です。ブラウザー版はローカルで無料実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/home/roofing-squares \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"roof_area":1800}'const res = await fetch("https://api.kit.forhosting.com/home/roofing-squares", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"roof_area": 1800
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/home/roofing-squares",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"roof_area": 1800
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/home/roofing-squares", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"roof_area":1800}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"roof_area":1800}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/home/roofing-squares", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"roof_area": 1800
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "home.roofing_squares",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |