2部材ブラケット軸力計算
この計算機は、荷重を受けるピン接合部に集まる2本の部材について、それぞれの軸力を求めます。下向き荷重と、正の水平軸から反時計回りに測った各部材の角度をご入力ください。水平・鉛直方向のつり合いを適用し、符号付き軸力、絶対値、および引張・圧縮・ゼロ力の判定を返します。静力学の演習、ブラケットの予備検討、理想的な二力部材を用いる再現可能な技術例にご利用いただけます。
無料で実行
接合部、荷重、2本の部材方向を定義します
まず、荷重を受ける接合部を自由物体図として切り出してください。本計算では、鉛直下向きの外力が1つ作用し、理想的な2本の軸部材が接続されているものとします。荷重は0以上とし、N、kN、lbfなど任意の力単位をご使用いただけますが、結果も同じ単位で解釈してください。角度は正の水平軸から反時計回りに測ります。0度は右、90度は上、180度は左です。各部材力の正方向は接合部から離れる向き、すなわち引張を仮定します。変形ではなく静的つり合いを解くため、長さ、弾性係数、断面積、変位は不要です。2方向は異なり、平行でない必要があります。同じ角度では個別の力が一意に決まらないためエラーになります。実構造に適用する前に、接合をピンとして扱えること、モーメントや第3部材などの作用を見落としていないことをご確認ください。
つり合いから2つの軸力を求める方法
仮定した引張力を水平・鉛直成分に分解します。角度aの部材1はF1 cos(a)とF1 sin(a)、角度bの部材2はF2 cos(b)とF2 sin(b)です。水平成分の合計は0、鉛直成分は下向き荷重とつり合う必要があります。この連立方程式の行列式はsin(b − a)です。行列式が0または数値的にほぼ0なら方向は平行で、一意解はありません。それ以外ではF1 = −荷重 cos(b)/行列式、F2 = 荷重 cos(a)/行列式となります。丸めは表示値だけに適用します。正値は引張、負値は圧縮を示します。絶対値は常に0以上で比較に便利であり、符号付き値は力の向きを保持します。丸め後が厳密に0ならzero_forceです。ネットワーク、乱数、反復処理、日時に依存しない決定論的な計算です。
判定を解釈し、モデルの限界を確認します
結果は理想静力学の解であり、安全性の承認ではありません。引張は接合部を引き、圧縮は押します。絶対値は軸力需要を表しますが、耐力には別の検討が必要です。引張材では降伏、破断、接合部耐力を、圧縮材では座屈を確認してください。長さ、端部条件、断面、初期不整、適用規準が重要です。また、偏心による曲げ、接合板の柔軟性、自重、動的増幅、荷重組合せは含みません。演習の確認、手計算との比較、後続の規準照査に用いる軸力の算定にご利用ください。符号が予想外なら数値だけでなく配置も再確認してください。同角度または平行方向は任意の巨大値を返さずエラーになります。ブラウザーでは無料で、成功したAPIリクエストは1回$0.002です。
活用例
静力学演習の確認
節点法の計算を照合し、各部材が引張か圧縮かをすぐ確認できます。
ブラケットの予備検討
詳細設計前に部材角度を変え、軸力需要の変化を比較できます。
技術ソフトウェアのテスト
例題や試験向けに、再現可能な符号付き力、絶対値、状態を生成します。
よくある質問
利用料金はいくらですか?
ブラウザーでは無料です。成功したAPIリクエスト1回の料金は$0.002です。
角度はどのように測りますか?
接合部の正の水平軸から反時計回りに、両方とも度単位で測ってください。
力の正負は何を示しますか?
正は引張、負は圧縮です。別途返す絶対値は常に0以上です。
同じ角度が拒否されるのはなぜですか?
つり合い行列が特異になり、2つの軸力を個別に一意決定できないためです。
kNやlbfも使用できますか?
はい。結果の力単位は、入力した荷重と同じ単位になります。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/mech/truss-two-member \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"load":1000,"angle_1":30,"angle_2":120}'const res = await fetch("https://api.kit.forhosting.com/mech/truss-two-member", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"load": 1000,
"angle_1": 30,
"angle_2": 120
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/truss-two-member",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"load": 1000,
"angle_1": 30,
"angle_2": 120
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/truss-two-member", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"load":1000,"angle_1":30,"angle_2":120}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"load":1000,"angle_1":30,"angle_2":120}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/truss-two-member", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"load": 1000,
"angle_1": 30,
"angle_2": 120
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.truss_two_member",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |