屋根バテン計算機
面積2,000平方フィート、軒幅40フィートの屋根面に16インチ間隔でバテンを打つと、38段で、ロスを除く延べ長さは1,520フィートです。面積、軒幅、間隔を入れれば、段数と発注する長さが分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 屋根の面積
- 2,000
- 屋根の幅
- 40
- 桟の間隔
- 1.333333
- ロス率
- 10
- 斜面の長さ
- 50
- 胴縁の段数
- 38
- 間隔の数
- 37
- カバーされる斜面
- 49.333321
瓦屋根や多くの金属屋根は、軒から棟までメーカー指定のゲージで水平に配置されたバテン(または母屋・垂木方向の横桟)に支えられます。段数や延べ長さを勘で発注すると、勾配の途中で不足したり、未使用材がトレーラー一杯残ったりしがちです。この屋根バテン計算機は、屋根表面積、平面の軒幅(各バテン段の長さ)、勾配方向の中心間間隔という三つの実務数値を、明確な拾い出しに変換します。面積を幅で割って勾配長を求め、勾配長を間隔で割った床関数に一を加える古典的な包括行数で段数を数え、段数に幅を掛けて延べ長さを得て、任意でロス率により発注長さをスケールします。寸法は一つの単位系にそろえ(米国式のリニアフィート表現なら平方フィートとフィートが一般的)、間隔も同じ長さ単位の製品ゲージとして扱ってください(十六インチ芯々なら例えば 1.333 フィート)。
屋根の面積からバテンの段数へ
瓦や多くの金属屋根は、軒先から棟まで、メーカーが定めた間隔で打った水平のバテンに掛けて留めます。この計算機は長方形の屋根面1枚を対象にしています。まず面積を軒幅で割って斜面の長さを求めます。2,000平方フィートで軒幅40フィートなら、斜面は50フィートです。次に軒先に1段目を置き、そこから間隔ごとに上へ並べ、最後の1段が棟の手前に収まるならそれも数えます。つまり段数は、収まる間隔の数に1を足した値です。各段は軒幅いっぱいに通るので、段数に軒幅を掛けると延べ長さになり、必要に応じてロスの割合を上乗せして発注量を出します。
材料が足りなくなるよくある間違い
段数や延べ長さを目分量で決めると、斜面の途中で材料が足りなくなったり、使わない木材がトレーラー1台分も余ったりします。いちばん多い間違いは単位の混在です。面積を平方フィート、軒幅をフィートで入れたなら、間隔もフィートで入れる必要があり、16インチは1.333333になります。次に多いのは軒先の1段を忘れることで、段数が常に間隔の数より1多いのはこのためです。間隔は記憶に頼らず瓦や屋根材の資料で確認し、屋根面が複数ある場合は1面ずつ計算してください。
活用例
DIY瓦屋根のバテン買い物リスト
表面積と軒幅を測り、瓦メーカーのゲージを間隔として入力し、ロス率を設定して、勾配途中で不足しないよう延べ長さをまとめて発注します。
よくある質問
屋根面積が零または負だとどうなりますか?
屋根面積は厳密に正でなければならず、非正の面積は非物理的で有効な段数や延べ長さを定義できません。
面積が分かっているのに屋根幅が必要なのはなぜですか?
面積だけでは総表面は分かりますが、各バテン段の長さは分かりません。幅は各段の軒長で、矩形平面では勾配長は面積÷幅となり、それが段数を決めます。
十六インチ芯々はどう入力しますか?
十六インチは 16/12 ≈ 1.333333 フィートです。
50フィートの斜面で16インチ間隔だと38段になるのはなぜですか?
50フィートを1.333333で割り、端数を切り捨てると37間隔になります。軒先のバテン1段を足して38段となり、棟の下にわずかなすき間が残ります。
結果にはロス分も含まれていますか?
ロスの割合を入れた場合だけ含まれ、初期設定は0です。たとえば10 %を入れると、1,520フィートの延べ長さが発注用の1,672フィートになります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/home/roof-batten-count \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"roof_area":2000,"roof_width":40,"batten_spacing":1.333333}'const res = await fetch("https://api.kit.forhosting.com/home/roof-batten-count", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"roof_area": 2000,
"roof_width": 40,
"batten_spacing": 1.333333
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/home/roof-batten-count",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"roof_area": 2000,
"roof_width": 40,
"batten_spacing": 1.333333
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/home/roof-batten-count", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"roof_area":2000,"roof_width":40,"batten_spacing":1.333333}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"roof_area":2000,"roof_width":40,"batten_spacing":1.333333}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/home/roof-batten-count", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"roof_area": 2000,
"roof_width": 40,
"batten_spacing": 1.333333
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "home.roof_batten_count",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
同じ純粋関数が無料ブラウザツールと有料APIを駆動するため、電話での見積もりと後からのスクリプト発注が一致します。非正の面積・幅・間隔は、無意味な件数を黙って返す代わりに invalid_input で拒否されます。
段数と延べ長さの計算式のしくみ
矩形の一平面をモデルにします。例として二千平方フィートで四十フィートの軒なら勾配長は五十フィートです。段数は現場と積算手引で教える両端含む規則を使い、軒基準に一本、その後勾配に沿って各間隔、最後のステップが収まるなら棟付近まで含めます。五十フィート勾配で一フィート間隔なら五十一段、十六インチ芯々(約 1.333 フィート)なら同じ勾配で床関数とプラス一の後に三十八段になります。ロス率は指定時に零以上である必要があります。バテンは軒と平行に走り、各段の長さは roof_width、段は中心間固定の batten_spacing(瓦や金属パネルのデータシートに記載のゲージ)で勾配を上がります。面積と幅が同一単位系なら、垂木平面に沿った勾配長は roof_area を roof_width で割った値です。すなわち batten_rows は slope_length を batten_spacing で割った床関数に一を加えたものです。正味の延べ長さは batten_rows に roof_width を掛けた各段の合計です。任意の waste_percent はその長さを linear_feet_ordered に膨らませ、切断・谷や棟での損傷・不良在庫を幾何学的段数を変えずにカバーします。応答には spacing_count(段数マイナス一)、covered_slope(spacing_count と間隔の積)、ridge_gap(勾配長マイナス covered_slope)も含まれ、最終ギャップが満ゲージ未満かどうかを見てゲージを詰めるかメーカー規則どおり棟段を足すかを判断できます。処理は決定的な浮動小数点演算のみで、乱数・壁時計・ネットワーク呼び出しはなく、同一入力は常に同一 JSON を返します。屋根面積・軒幅・間隔はいずれも厳密に正でなければならず、零や負は非物理的で購入数量を定義できないため invalid_input で拒否されます。
送信する内容と返ってくる結果
必須の有限数値を三つ送ります。古典的検証例:二千平方フィート、四十フィート幅、間隔 1.333333 フィート(十六インチ芯々)、ロス十パーセント — 勾配長五十、三十八段、延べ長さ千五百二十、発注長さ千六百七十二。住宅主・カウンター向けには無料ブラウザフォームを、屋根ごとの一括予定や見積ツールの回帰フィクスチャには同一契約のスクリプト呼び出しを使えます。バテンを敷く面の roof_area(平方単位)、平面の軒幅 roof_width(線単位、各バテンの長さ)、同じ線単位での中心間ゲージ batten_spacing です。任意で非負の waste_percent を送れます。省略時は零となり linear_feet_ordered は linear_feet と一致します。欠落フィールド、非数値文字列、NaN、Infinity は invalid_input で失敗し課金されません。roof_area が零または負のとき、非正の面積は許可されないというメッセージで失敗します。同じ正値規則が roof_width と batten_spacing にも適用され、負のロスは別に拒否されます。成功時は waste_percent を含む整形済み入力、slope_length、整数の batten_rows、spacing_count、covered_slope、ridge_gap、正味 linear_feet、ロス後の linear_feet_ordered、単位系を一つに保つ unit_note と段数式の再掲、短い formula 文字列を返します。成功した API 呼び出しの料金は公開ベース $0.002 /アイテムで、検証失敗は前払い残高を消費しません。
屋根バテン計算機が現場で使われる場面
粘土瓦・コンクリート瓦・スレートを施工する住宅主やセルフビルダーは、処理材のリードタイムが長いときほど、発注や配送予約の前に信頼できる延べ長さと段数が必要です。屋根工事業者は測定した表面積と軒幅から拾い出しを作ります。立平や露出固定パネルの下に水平母屋やバテンを組む金属屋根班も、メーカーの芯々間隔をフィートまたはメートルに換算して同じ幾何を使います。縦のカウンターバテン、谷・棟のロス表、下葺きロール、瓦枚数、金属パネル枚数が必要なら、別の検索意図とランディングとして扱い、この延べ長さ・段数の屋根バテン計算機ページを過負荷にしないでください。floor-plus-one の段数と明示的ロス率を適用する単一の決定的エンドポイントは、積算者と購買担当の表計算のずれを減らします。建材カウンターで同じ家の二つのゲージを比較するときは、面積と幅を固定し batten_spacing だけ差し替えて linear_feet と発注長さを並べ替えれば、毎回勾配を再導出せずに済みます。複数棟の葺き替えを計画する不動産管理者は、面積と幅のバッチを API に流し linear_feet_ordered を発注書に付け、過剰在庫を意図的に管理します。本機能は純粋な parse エンジンのため、API 料金は成功アイテムあたり公開ベース $0.002 で、検証失敗は残高を消費しません。
連携の活用例
業者向けバテン拾い出し
各平面の面積・幅・ゲージを同じ floor-plus-one 式に入れ、発注書が見積と一致し ridge_gap を監査可能に保ちます。
カウンターでのゲージ比較
屋根面積と幅を固定し、候補製品間で batten_spacing を入れ替え、batten_rows と linear_feet_ordered を並べて比較します。
技術的な質問
この屋根バテン計算機はどのように動きますか?
roof_area を roof_width で割って勾配長を求め、batten_rows を floor(slope_length / batten_spacing) + 1 とし、段数に幅を掛けて延べ長さを得て、waste_percent で発注長さをスケールします。
料金はいくらですか?
ブラウザツールは無料でローカル実行されます。API リクエストは成功アイテムあたり $0.002 の KIT 前払い残高を使い、無効入力は課金されません。