部屋のCFM計算機
この計算機は、部屋の容積と目標換気量から、必要な給気量を毎分立方フィートで算出します。部屋の用途を選ぶと実用的な1時間当たり換気回数を使用でき、設計条件でACHが指定されている場合はその値を入力できます。容積は立方フィートまたは立方メートルに対応し、換算後の容積、ACHの出典、計算式を結果に表示します。換気設備の比較や初期検討に役立つ概算値であり、完全な機械設備設計の代わりではありません。
無料で実行
容積と換気回数をCFMへ換算します
1時間当たり換気回数は、一定の風量によって部屋全体の空気が1時間に何回入れ替わるかを示します。一方、給気機器の能力は毎分立方フィートで示されることが一般的です。計算では、立方フィート単位の容積にACHを掛け、60分で割ります。たとえば、容積2,400立方フィートの寝室を6 ACHとすると、この方法による必要量は240 CFMです。立方メートルで入力した場合は、1立方メートル当たり35.3146667215立方フィートとして換算し、換算後の容積も表示します。天井裏などの閉鎖空間が居住空間に含まれない場合は、実際の室内容積をご使用ください。結果にはダクト漏れ、同時使用率、加圧差、機器の余裕率は含まれないため、総合設計で別途ご検討ください。
用途別の基準値または指定ACHを選びます
明確な目標値がない場合は、部屋の用途を初期値としてご利用いただけます。固定値は、寝室と居間が6 ACH、事務室と教室が8、厨房とジムが12、浴室と作業場が10、倉庫が4です。比較検討には便利ですが、すべての地域で適用される法的基準ではありません。人数、床面積、汚染物質、排気量、気候、地域の規則によって必要値は変わります。仕様書、行政機関、専門家がACHを指定している場合は、その値をご入力ください。用途別の値より優先され、結果では利用者指定として表示されます。部屋の用途も文脈情報として残ります。プロジェクト固有のACHをご使用になる際は、その根拠も計算結果と一緒に記録してください。
透明性のある初期検討値として活用します
算出したCFMは、給気口の初期検討、ファンの比較、ダクト計画の概算、機器表の妥当性確認に役立ちます。容積またはACHを変えて複数案を比較することもできます。同じ有効な入力には常に同じ丸め済み結果を返します。ただし、ACH方式は換気設計の一部にすぎません。人数や床面積当たりの外気量、冷暖房負荷、排気の補給、圧力関係、フィルター圧力損失、ダクト摩擦、吹出口の到達距離、騒音、ファン動作点は計算しません。厨房、浴室、研究室、作業場には専用規則が適用される場合があります。施工図、安全用途、規制対象施設では、資格を有する専門家に前提条件をご確認いただき、実際の系統抵抗に基づいて機器を選定してください。
活用例
寝室の給気量を概算します
測定した寝室容積を用途別ACHで換算し、初期CFM目標を求めます。
指定ACHを確認します
用途別の値を設計指定ACHで置き換え、確認用に計算内容を保存します。
換気案を比較します
異なる容積や換気回数が必要給気量に与える影響を比較します。
よくある質問
どの計算式を使用しますか?
CFM = 立方フィート単位の室容積 × 1時間当たり換気回数 ÷ 60を使用します。
容積を立方メートルで入力できますか?
はい。立方メートルを選ぶと、CFM計算前に立方フィートへ換算します。
独自のACHを入力するとどうなりますか?
正の指定ACHが用途別の値に優先し、結果には利用者指定と表示されます。
用途別ACHは法令上の必須値ですか?
いいえ、初期検討用です。適用法令、規格、専門家が求める値をご使用ください。
HVAC設備全体を選定できますか?
いいえ。容積とACHによる風量のみを求め、負荷、損失、外気、排気バランス、機器性能は計算しません。
APIリクエストの料金はいくらですか?
APIリクエストは1回$0.002です。ブラウザー版も同じ決定論的計算を使用します。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/home/room-cfm \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"volume":2400,"room_type":"bedroom"}'const res = await fetch("https://api.kit.forhosting.com/home/room-cfm", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"volume": 2400,
"room_type": "bedroom"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/home/room-cfm",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"volume": 2400,
"room_type": "bedroom"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/home/room-cfm", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"volume":2400,"room_type":"bedroom"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"volume":2400,"room_type":"bedroom"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/home/room-cfm", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"volume": 2400,
"room_type": "bedroom"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "home.room_cfm",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |