フェンス横木計算機
フェンス横木計算機は、測定済みの全長と計画済みの区画構成から、必要な横木を明確に算出します。全長、区画数、各区画の横木数を入力してください。横木の本数、区画の平均長、横木の総延長を表示します。材料の概算、見積書の確認、同じ条件での再計算に役立ち、暗算に頼る必要がありません。
無料で実行
延長を測り、区画数を決めます
最初にフェンス全体の長さを測り、メートル、フィート、インチなど一つの単位に統一してください。出力される長さも入力と同じ単位です。次に、隣り合う柱の間にある区画数を入力します。柱数ではなく区画数を数えてください。直線上に5区画ある場合、通常は柱が6本あります。本計算機は、標準的な柱間隔から区画数を推測せず、お客様が計画した値をそのまま使用します。そのため、角、門扉、既製パネル、既存構造物によって柱位置が決まる計画にも適しています。全長は正の値、区画数は正の整数である必要があります。実際の区画長が異なる場合、表示される区画長は平均値ですので、切断前に特殊な区画を個別に測定してください。横木を設置しない門扉の開口部は全長から除くか、連続する部分ごとに計算してください。正確な入力により、購入計画の基準として使える結果になります。
本数と総延長を計算します
各区画に取り付ける水平横木の本数を入力してください。軽量なフェンスでは2本、高いフェンスでは製品仕様や地域の基準に応じて3本以上が必要な場合があります。総本数は、区画数に区画ごとの横木数を掛けて求めます。12区画に3本ずつ設置する場合は36本です。全長を区画数で割ると平均区画長になり、全長に区画ごとの横木数を掛けると横木の総延長になります。本数は柱間の部材数を示し、総延長は市販材の長さを比較する際に役立ちます。切り落とし、破損、重ね継ぎ、接合、装飾材、予備材は自動的には加算されません。場所によって横木数が異なる場合は、それぞれを別に計算して合計してください。
結果を発注数量に反映します
計算結果を設計上の基本数量とし、購入予定の製品寸法と比較してください。市販材の長さが区画長と一致する場合、通常は横木1本が材料1本に相当しますが、切断や欠陥も考慮します。材料が長い場合は安全な木取りを検討し、短い場合は承認された継手や追加の柱が必要になることがあります。材質、切断方法、特殊区画に応じた予備分は別途加えてください。門扉、角、傾斜、段差施工、高さの変更も確認します。自動処理では同じ3項目を API に送信でき、成功したリクエストの料金は $0.002 です。区画数と横木数には整数を指定してください。施工前に寸法、強度、固定金具、防腐処理、メーカーの説明書、地域の規則をご確認ください。
活用例
材料表を作成します
完成した図面から横木の本数と総延長を求め、市販寸法を比較できます。
施工見積書を確認します
区画数と横木段数から基本数量を再計算し、数え方の差を確認できます。
フェンス案を比較します
同じ延長で横木2段と3段を試し、材料量への影響を比較できます。
よくある質問
横木本数の計算式は何ですか?
総本数は、区画数に区画ごとの横木数を掛けて求めます。
全長によって横木の本数は変わりますか?
区画数を直接指定する場合は変わりません。全長は平均区画長と総延長を、区画数は本数を決めます。
門扉も1区画として数えますか?
指定した横木を開口部に実際に設置する場合だけ含めてください。それ以外は連続部分を分けて計算します。
結果に廃材分は含まれますか?
含まれません。切断、欠陥、特殊区画、予備材に応じた余裕を追加してください。
API の利用料金はいくらですか?
成功した API リクエストは $0.002 です。ブラウザー上の計算は無料です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/home/fence-rails \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"fence_length":96,"sections":12,"rails_per_section":3}'const res = await fetch("https://api.kit.forhosting.com/home/fence-rails", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"fence_length": 96,
"sections": 12,
"rails_per_section": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/home/fence-rails",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"fence_length": 96,
"sections": 12,
"rails_per_section": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/home/fence-rails", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"fence_length":96,"sections":12,"rails_per_section":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"fence_length":96,"sections":12,"rails_per_section":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/home/fence-rails", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"fence_length": 96,
"sections": 12,
"rails_per_section": 3
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "home.fence_rails",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_fence_length | 1000000000000 |
max_sections | 1000000 |
max_rails_per_section | 100 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |