足場計算アプリ【架け郎】くさび足場用|無料で材料拾いを自動化
この記事はプロモーションが含まれています。
<style>
.kakerou-page{
--bg:#f7fafc;
--card:#ffffff;
--text:#1f2937;
--muted:#5b6472;
--line:#e5e7eb;
--main:#0ea5e9;
--main-dark:#0284c7;
--accent:#10b981;
--accent-dark:#059669;
--sub:#fff7ed;
--shadow:0 10px 30px rgba(15,23,42,.08);
--radius:18px;
font-family:"Helvetica Neue", Arial, sans-serif;
color:var(--text);
line-height:1.8;
}
.kakerou-page *{box-sizing:border-box;}
.kakerou-page{
background:var(--bg);
padding:20px 14px 48px;
}
.kakerou-wrap{
max-width:1100px;
margin:0 auto;
}
.kakerou-breadcrumb{
font-size:14px;
color:var(--muted);
margin:0 0 18px;
}
.kakerou-breadcrumb a{
color:var(--main-dark);
text-decoration:none;
}
.kakerou-breadcrumb a:hover{
text-decoration:underline;
}
.kakerou-hero{
background:linear-gradient(135deg,#e0f2fe 0%,#f0fdf4 100%);
border-radius:24px;
padding:32px 24px;
box-shadow:var(--shadow);
margin-bottom:24px;
}
.kakerou-badge-row{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-bottom:14px;
}
.kakerou-badge{
display:inline-block;
background:#fff;
color:#0f172a;
border:1px solid rgba(2,132,199,.15);
border-radius:999px;
padding:6px 12px;
font-size:13px;
font-weight:700;
}
.kakerou-hero h1{
font-size:clamp(28px,4vw,40px);
line-height:1.35;
margin:0 0 12px;
}
.kakerou-lead{
font-size:17px;
color:#334155;
margin:0 0 18px;
}
.kakerou-actions{
display:flex;
flex-wrap:wrap;
gap:12px;
margin-top:18px;
}
.kakerou-btn{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:50px;
padding:12px 22px;
border-radius:999px;
text-decoration:none;
font-weight:700;
transition:.2s ease;
}
.kakerou-btn-primary{
color:#fff;
background:linear-gradient(135deg,var(--main),var(--main-dark));
box-shadow:0 8px 20px rgba(14,165,233,.28);
}
.kakerou-btn-primary:hover{
transform:translateY(-2px);
filter:brightness(1.03);
}
.kakerou-btn-secondary{
color:#0f172a;
background:#fff;
border:1px solid #cbd5e1;
}
.kakerou-btn-secondary:hover{
background:#f8fafc;
}
.kakerou-grid{
display:grid;
grid-template-columns:1fr;
gap:22px;
}
.kakerou-card{
background:var(--card);
border-radius:var(--radius);
box-shadow:var(--shadow);
padding:24px 20px;
}
.kakerou-card h2{
font-size:26px;
line-height:1.45;
margin:0 0 14px;
}
.kakerou-card h3{
font-size:21px;
line-height:1.5;
margin:0 0 10px;
}
.kakerou-card p{
margin:0 0 14px;
}
.kakerou-note{
background:#eff6ff;
border-left:4px solid var(--main);
padding:14px 16px;
border-radius:12px;
}
.kakerou-warning{
background:#fffbeb;
border-left:4px solid #f59e0b;
padding:14px 16px;
border-radius:12px;
}
.kakerou-soft{
background:#f8fafc;
border:1px solid var(--line);
border-radius:14px;
padding:16px;
}
.kakerou-list,
.kakerou-ol{
margin:0;
padding-left:1.25em;
}
.kakerou-list li,
.kakerou-ol li{
margin-bottom:8px;
}
.kakerou-links{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:12px;
}
.kakerou-linkcard{
display:block;
background:#fff;
border:1px solid var(--line);
border-radius:16px;
padding:16px;
text-decoration:none;
color:var(--text);
transition:.2s ease;
}
.kakerou-linkcard:hover{
transform:translateY(-2px);
box-shadow:var(--shadow);
}
.kakerou-linkcard strong{
display:block;
margin-bottom:6px;
color:#0f172a;
}
.kakerou-linkcard span{
display:block;
color:var(--muted);
font-size:14px;
line-height:1.7;
}
.kakerou-compare{
width:100%;
border-collapse:collapse;
overflow:hidden;
border-radius:14px;
}
.kakerou-compare th,
.kakerou-compare td{
border:1px solid var(--line);
padding:12px 10px;
text-align:left;
vertical-align:top;
}
.kakerou-compare th{
background:#f8fafc;
}
.kakerou-form-wrap{
background:#ffffff;
border:1px solid var(--line);
border-radius:16px;
padding:18px;
}
.kakerou-form-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:14px 18px;
}
.kakerou-form-full{
grid-column:1 / -1;
}
.kakerou-page label{
display:block;
font-weight:700;
margin-bottom:6px;
}
.kakerou-page input[type="text"],
.kakerou-page select{
width:100%;
padding:12px 12px;
border:1px solid #cbd5e1;
border-radius:12px;
background:#fff;
font-size:16px;
}
.kakerou-page input[type="text"]:focus,
.kakerou-page select:focus{
outline:none;
border-color:var(--main);
box-shadow:0 0 0 4px rgba(14,165,233,.12);
}
.kakerou-submit{
margin-top:8px;
border:none;
cursor:pointer;
width:100%;
}
.kakerou-result-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:14px;
}
.kakerou-result-box{
background:#f8fafc;
border:1px solid var(--line);
border-radius:14px;
padding:14px;
min-height:82px;
}
.kakerou-result-box h4{
margin:0 0 8px;
font-size:16px;
}
.kakerou-faq details{
border:1px solid var(--line);
border-radius:14px;
background:#fff;
padding:14px 16px;
margin-bottom:12px;
}
.kakerou-faq summary{
cursor:pointer;
font-weight:700;
}
.kakerou-qr{
max-width:300px;
margin:18px auto 0;
text-align:center;
}
.kakerou-qr img{
width:100%;
height:100%;
border-radius:14px;
box-shadow:var(--shadow);
}
.kakerou-center{
text-align:center;
}
.kakerou-mini{
font-size:14px;
color:var(--muted);
}
.kakerou-highlight{
background:linear-gradient(transparent 60%, rgba(253,224,71,.55) 60%);
font-weight:700;
}
@media (max-width: 767px){
.kakerou-links,
.kakerou-form-grid,
.kakerou-result-grid{
grid-template-columns:1fr;
}
.kakerou-hero{
padding:24px 18px;
}
.kakerou-card{
padding:20px 16px;
}
.kakerou-card h2{
font-size:23px;
}
}
</style>
<div class="kakerou-page">
<div class="kakerou-wrap">
<p class="kakerou-breadcrumb">
<a href="https://towakasetsu.com/株式会社藤羽/tool/簡易計算アプリ架け郎/">架け郎トップページ</a>
› 架け郎 くさび足場用 材料拾いページ
</p>
<section class="kakerou-hero">
<div class="kakerou-badge-row">
<span class="kakerou-badge">完全無料</span>
<span class="kakerou-badge">登録不要</span>
<span class="kakerou-badge">スマホ対応</span>
<span class="kakerou-badge">くさび足場用</span>
</div>
<p class="kakerou-lead">
架け郎は、<strong>くさび足場の材料拾いを無料で行える足場計算アプリ</strong>です。
スパン数や段数を入力するだけで、先行手すり・アンチ・手すり・巾木・支柱などの必要数を自動で確認できます。
<span class="kakerou-highlight">現場でサッと確認したい時</span>や、
<span class="kakerou-highlight">まずは簡単に数量を把握したい時</span>に便利です。
</p>
<div class="kakerou-actions">
<a class="kakerou-btn kakerou-btn-primary" href="#scaffoldFormSection">今すぐ無料で計算する</a>
<a class="kakerou-btn kakerou-btn-secondary" href="https://towakasetsu.com/株式会社藤羽/tool/簡易計算アプリ架け郎/">架け郎トップページへ戻る</a>
</div>
</section>
<div class="kakerou-grid">
<section class="kakerou-card">
<h2>このページでできること</h2>
<div class="kakerou-links">
<div class="kakerou-soft">
<strong>① くさび足場の材料拾い</strong>
<span>スパン数・幅・アンチの段数などを入力し、必要部材数を自動で確認できます。</span>
</div>
<div class="kakerou-soft">
<strong>② 現場での簡易確認</strong>
<span>スマホからでも使いやすく、現場でそのまま確認しやすい構成です。</span>
</div>
<div class="kakerou-soft">
<strong>③ 架け郎トップページへ移動</strong>
<span>架け郎の他ページや関連情報へ戻りやすい導線を設置しています。</span>
</div>
<div class="kakerou-soft">
<strong>④ 上位版ASIBA+へ移動</strong>
<span>より本格的な積算や見積・請求書作成が必要な方はASIBA+へ進めます。</span>
</div>
</div>
</section>
<section class="kakerou-card">
<h2>手作業の材料拾いが大変な理由</h2>
<ol class="kakerou-ol">
<li>図面や現場状況を見ながら、外周や段数、スパン数を確認する</li>
<li>くさび足場の組立パターンに応じて必要部材を拾い出す</li>
<li>支柱・手すり・アンチ・布材などを手計算する</li>
<li>拾い漏れや二重カウントがないか再確認する</li>
</ol>
<p class="kakerou-warning">
手作業は慣れていても時間がかかりやすく、忙しい現場ほど確認ミスが起こりやすくなります。
その負担を減らすための入口として、架け郎のような<strong>無料の足場計算アプリ</strong>は相性が良いです。
</p>
</section>
<section class="kakerou-card">
<h2>架け郎とASIBA+の違い</h2>
<p>
このページは<strong>架け郎(簡易・無料)</strong>の実ページです。
一方で、より高機能な積算や書類出力が必要な場合は、上位版の<strong>ASIBA+</strong>が向いています。
</p>
<div style="overflow-x:auto;">
<table class="kakerou-compare">
<thead>
<tr>
<th>比較項目</th>
<th>架け郎</th>
<th>ASIBA+</th>
</tr>
</thead>
<tbody>
<tr>
<td>利用料金</td>
<td>無料</td>
<td>機能に応じたプランあり</td>
</tr>
<tr>
<td>主な役割</td>
<td>現場向けの簡易計算</td>
<td>本格的な積算・書類作成</td>
</tr>
<tr>
<td>入力の手軽さ</td>
<td>◎ シンプル</td>
<td>◎ 実務向けに高機能</td>
</tr>
<tr>
<td>見積書・請求書作成</td>
<td>×</td>
<td>◎</td>
</tr>
<tr>
<td>建物4面モードなどの拡張性</td>
<td>×</td>
<td>◎</td>
</tr>
</tbody>
</table>
</div>
<div class="kakerou-actions" style="margin-top:16px;">
<a class="kakerou-btn kakerou-btn-primary" href="https://towakasetsu.com/株式会社藤羽/tool/asiba/zairyo-hiroi/">ASIBA+を確認する</a>
<a class="kakerou-btn kakerou-btn-secondary" href="https://towakasetsu.com/株式会社藤羽/tool/簡易計算アプリ架け郎/">架け郎トップページを見る</a>
</div>
</section>
<section class="kakerou-card" id="scaffoldFormSection">
<h2>材料拾い計算フォーム</h2>
<p>
以下の項目を入力すると、くさび足場の必要部材数を自動計算できます。
<strong>約30秒ほどで確認できる構成</strong>なので、まずは気軽に試してください。
</p>
<p class="kakerou-note">
このフォームは、現場での簡易確認や概算把握に向いています。
より詳細な積算や保存・見積・請求書出力まで行いたい場合は、
<a href="https://towakasetsu.com/株式会社藤羽/tool/asiba/zairyo-hiroi/">ASIBA+</a>もあわせてご確認ください。
</p>
<div class="kakerou-form-wrap">
<div id="errorMessage" style="color:#dc2626;font-weight:700;margin-bottom:10px;"></div>
<form id="scaffoldForm">
<div class="kakerou-form-grid">
<div>
<label for="type">組み立てパターン</label>
<select id="type">
<option value="pattern1">地組+嵩上げ(腰まで)</option>
<option value="pattern2">地組+嵩上げ(頭まで)</option>
<option value="pattern3">地組+嵩上げ(+1800)</option>
<option value="pattern4">嵩上げ(腰→腰)</option>
<option value="pattern5">嵩上げ(腰→頭)</option>
<option value="pattern6">嵩上げ(腰→+1800)</option>
<option value="pattern7">嵩上げ(+1800→腰)</option>
<option value="pattern8">嵩上げ(+1800→頭)</option>
<option value="pattern9">嵩上げ(+1800→+1800)</option>
</select>
</div>
<div>
<label for="width">幅</label>
<select id="width">
<option value="600">600幅</option>
<option value="900">900幅</option>
<option value="1200">1200幅</option>
</select>
</div>
<div class="kakerou-form-full">
<label>スパン数の入力</label>
</div>
<div>
<label for="spans1800">1800スパン数</label>
<input id="spans1800" type="text" placeholder="例: 10">
</div>
<div>
<label for="spans1500">1500スパン数</label>
<input id="spans1500" type="text" placeholder="例: 5">
</div>
<div>
<label for="spans1200">1200スパン数</label>
<input id="spans1200" type="text" placeholder="例: 3">
</div>
<div>
<label for="spans900">900スパン数</label>
<input id="spans900" type="text" placeholder="例: 5">
</div>
<div>
<label for="spans600">600スパン数</label>
<input id="spans600" type="text" placeholder="例: 0">
</div>
<div>
<label for="levels">アンチの段数</label>
<select id="levels">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
<option value="32">32</option>
<option value="33">33</option>
<option value="34">34</option>
<option value="35">35</option>
<option value="36">36</option>
<option value="37">37</option>
<option value="38">38</option>
<option value="39">39</option>
<option value="40">40</option>
<option value="41">41</option>
<option value="42">42</option>
<option value="43">43</option>
<option value="44">44</option>
<option value="45">45</option>
<option value="46">46</option>
<option value="47">47</option>
<option value="48">48</option>
<option value="49">49</option>
<option value="50">50</option>
</select>
</div>
<div class="kakerou-form-full">
<button class="kakerou-btn kakerou-btn-primary kakerou-submit" type="submit">計算する</button>
</div>
</div>
</form>
</div>
</section>
<section class="kakerou-card">
<h2>計算結果</h2>
<p class="kakerou-mini">数量が1以上の部材のみ表示されます。</p>
<div class="kakerou-result-grid">
<div class="kakerou-result-box"><h4>1800スパン結果</h4><div id="result1800"></div></div>
<div class="kakerou-result-box"><h4>1500スパン結果</h4><div id="result1500"></div></div>
<div class="kakerou-result-box"><h4>1200スパン結果</h4><div id="result1200"></div></div>
<div class="kakerou-result-box"><h4>900スパン結果</h4><div id="result900"></div></div>
<div class="kakerou-result-box"><h4>600スパン結果</h4><div id="result600"></div></div>
<div class="kakerou-result-box"><h4>布材・端部手すり</h4><div id="resultNuno"></div></div>
<div class="kakerou-result-box"><h4>ジャッキベース</h4><div id="resultBase"></div></div>
<div class="kakerou-result-box"><h4>支柱3600</h4><div id="resultSithuu36"></div></div>
<div class="kakerou-result-box"><h4>支柱2700</h4><div id="resultSithuu27"></div></div>
<div class="kakerou-result-box"><h4>支柱1800</h4><div id="resultSithuu18"></div></div>
<div class="kakerou-result-box"><h4>支柱900</h4><div id="resultSithuu9"></div></div>
</div>
</section>
<section class="kakerou-card">
<h2>架け郎が向いている人</h2>
<ul class="kakerou-list">
<li>現場でとにかく早く数量を確認したい方</li>
<li>無料で使える足場計算アプリを探している方</li>
<li>まずは簡易的に、くさび足場の材料拾いをしたい方</li>
<li>事務所だけでなくスマホでも確認したい方</li>
</ul>
<p class="kakerou-warning">
反対に、保存機能・見積・請求・より細かな実務対応を重視する方は
<a href="https://towakasetsu.com/株式会社藤羽/tool/足場計算アプリasiba/">ASIBA+</a>の方が向いています。
</p>
</section>
<section class="kakerou-card">
<h2>関連ページ</h2>
<div class="kakerou-links">
<a class="kakerou-linkcard" href="https://towakasetsu.com/株式会社藤羽/tool/簡易計算アプリ架け郎/">
<strong>架け郎トップページ</strong>
<span>架け郎の各ページの入口です。まず全体像を見たい方はこちら。</span>
</a>
<a class="kakerou-linkcard" href="https://towakasetsu.com/次世代足場の使用部材自動計算アプリの使い方/">
<strong>架け郎の使い方</strong>
<span>入力方法や見方を詳しく確認したい方向けの説明ページです。</span>
</a>
<a class="kakerou-linkcard" href="https://towakasetsu.com/株式会社藤羽/tool/足場計算アプリasiba/">
<strong>ASIBA+(上位版)</strong>
<span>より本格的な足場積算・見積書・請求書作成まで行いたい方はこちら。</span>
</a>
<a class="kakerou-linkcard" href="https://towakasetsu.com/足場積載荷重の正確な計算方法:専門家が解説/">
<strong>足場積載荷重の解説ページ</strong>
<span>荷重計算の考え方を知りたい方に役立つ関連コンテンツです。</span>
</a>
</div>
</section>
<section class="kakerou-card kakerou-faq">
<h2>よくある質問</h2>
<details>
<summary>架け郎は本当に無料ですか?</summary>
<p>はい。架け郎は無料で使える簡易計算ツールです。登録不要で使える入口ツールとして活用できます。</p>
</details>
<details>
<summary>スマホでも使えますか?</summary>
<p>はい。スマホからでも使いやすい構成です。現場で数量を確認したい時にも向いています。</p>
</details>
<details>
<summary>このページで見積書や請求書も作れますか?</summary>
<p>このページの架け郎は簡易計算向けです。見積書や請求書の作成まで行いたい場合はASIBA+をご確認ください。</p>
</details>
<details>
<summary>荷重計算もできますか?</summary>
<p>このページの計算フォームは主に材料拾い向けです。荷重計算については、関連ページの積載荷重解説もあわせてご確認ください。</p>
</details>
</section>
<section class="kakerou-card kakerou-center">
<h2>QRコードで社内共有も簡単です</h2>
<p>
こちらのQRコードを使えば、架け郎のページをスマホですぐ開けます。
会社の方や現場担当の方と共有したい時にも便利です。
</p>
<div class="kakerou-qr">
<img src="https://towakasetsu.com/wp-content/uploads/2024/01/QR_718164-1.png" alt="足場計算アプリ 架け郎のQRコード">
</div>
<div class="kakerou-actions" style="justify-content:center;">
<a class="kakerou-btn kakerou-btn-primary" href="#scaffoldFormSection">このページで計算する</a>
<a class="kakerou-btn kakerou-btn-secondary" href="https://towakasetsu.com/株式会社藤羽/tool/簡易計算アプリ架け郎/">架け郎トップページへ戻る</a>
</div>
</section>
</div>
</div>
</div>
<script>
function toHalfWidth(str) {
return str.replace(/[0-9]/g, function(s) {
return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);
});
}
function getInputValueOrZero(inputElement) {
var halfWidthValue = toHalfWidth(inputElement.value.trim());
return halfWidthValue === '' ? 0 : Number(halfWidthValue);
}
function validateAllInputs(inputs) {
let isValid = true;
inputs.forEach(function(input) {
const halfWidthInput = toHalfWidth(input.value);
if (!/^[0-9\s]*$/.test(halfWidthInput)) {
showError("入力は数字と空白のみです。");
setTimeout(clearError, 2000);
isValid = false;
}
});
return isValid;
}
function showError(message) {
var el = document.getElementById("errorMessage");
if (el) el.textContent = message;
}
function clearError() {
var el = document.getElementById("errorMessage");
if (el) el.textContent = "";
}
function displayError(message) {
var errorElement = document.getElementById('errorMessage');
if (!errorElement) return;
errorElement.innerText = message;
setTimeout(function() {
errorElement.innerText = '';
}, 2000);
}
function displayResult(materials, resultContainerId) {
var resultText = '';
for (var material in materials) {
if (materials[material] >= 1) {
resultText += material + ': ' + materials[material] + '<br>';
}
}
document.getElementById(resultContainerId).innerHTML = resultText || '—';
}
function calculateBlessCount(type, spans, levels) {
if (type === 'pattern1' || type === 'pattern2') {
return spans * (levels + 2);
} else if (type === 'pattern3') {
return spans * (levels + 3);
} else if (type === 'pattern4' || type === 'pattern5' || type === 'pattern9') {
return spans * levels;
} else if (type === 'pattern6') {
return spans * (levels + 1);
} else if (type === 'pattern7' || type === 'pattern8') {
return spans * (levels - 1);
}
return 0;
}
function calculateAntchiCount(width, spans, levels) {
if (width === '1200') {
return spans * levels * 2;
}
return spans * levels;
}
function calculateHalfCount(width, spans, levels) {
if (width === '600' || width === '1200') {
return 0;
}
return spans * levels;
}
function calculateTetsuriCount(type, spans, levels) {
if (type === 'pattern1' || type === 'pattern3' || type === 'pattern5' || type === 'pattern8') {
return spans * (levels + 1) * 2;
} else if (type === 'pattern2') {
return spans * (levels + 2) * 2;
} else if (type === 'pattern4' || type === 'pattern6' || type === 'pattern7' || type === 'pattern9') {
return spans * levels * 2;
}
return 0;
}
function calculateFuchiCount(spans, levels) {
return spans * levels * 2;
}
function calculateNunoCount(type, totalSpans, levels) {
if (type === 'pattern1' || type === 'pattern5' || type === 'pattern6') {
return (totalSpans + 1) * (levels + 1);
} else if (type === 'pattern2' || type === 'pattern3') {
return (totalSpans + 1) * (levels + 2);
} else if (type === 'pattern4' || type === 'pattern8' || type === 'pattern9') {
return (totalSpans + 1) * levels;
} else if (type === 'pattern7') {
return (totalSpans + 1) * (levels - 1);
}
return 0;
}
function calculateBaseCount(type, totalSpans) {
if (type === 'pattern1' || type === 'pattern2' || type === 'pattern3') {
return (totalSpans + 1) * 2;
}
return 0;
}
function calculateSithuu36Count(type, totalSpans, levels) {
if ((type === 'pattern1' || type === 'pattern2' || type === 'pattern3' || type === 'pattern4' || type === 'pattern5' || type === 'pattern7' || type === 'pattern8' || type === 'pattern9') && levels >= 3 && levels % 2 !== 0) {
return (totalSpans + 1) * (levels - 1);
} else if (((type === 'pattern1' || type === 'pattern7' || type === 'pattern8') && levels >= 3 && levels % 2 === 0) || (type === 'pattern2' && levels >= 3 && levels % 2 !== 0)) {
return (totalSpans + 1) * (levels - 2);
} else if ((type === 'pattern3' || type === 'pattern4' || type === 'pattern5' || type === 'pattern6' || type === 'pattern9') && levels >= 2 && levels % 2 === 0) {
return (totalSpans + 1) * levels;
} else if (type === 'pattern6' && levels >= 1 && levels % 2 !== 0) {
return (totalSpans + 1) * (levels + 1);
}
return 0;
}
function calculateSithuu27Count(type, totalSpans) {
if (type === 'pattern1' || type === 'pattern2' || type === 'pattern3') {
return (totalSpans + 1) * 2;
}
return 0;
}
function calculateSithuu18Count(type, totalSpans, levels) {
if (((type === 'pattern1' || type === 'pattern2' || type === 'pattern6' || type === 'pattern7' || type === 'pattern8') && levels >= 2 && levels % 2 === 0) || ((type === 'pattern3' || type === 'pattern4' || type === 'pattern5' || type === 'pattern9') && levels >= 1 && levels % 2 !== 0)) {
return (totalSpans + 1) * 2;
}
return 0;
}
function calculateSithuu9Count(type, totalSpans) {
if (type === 'pattern2' || type === 'pattern5' || type === 'pattern8') {
return (totalSpans + 1) * 2;
}
return 0;
}
function calculateMaterials(type, width, length, spans, levels) {
return {
[length + "先行手すり"]: calculateBlessCount(type, spans, levels),
[length + "アンチ"]: calculateAntchiCount(width, spans, levels),
[length + "ハーフ"]: calculateHalfCount(width, spans, levels),
[length + "手すり"]: calculateTetsuriCount(type, spans, levels),
[length + "巾木"]: calculateFuchiCount(spans, levels)
};
}
document.getElementById('scaffoldForm').addEventListener('submit', function(e) {
e.preventDefault();
var inputs = [
document.getElementById('spans1800'),
document.getElementById('spans1500'),
document.getElementById('spans1200'),
document.getElementById('spans900'),
document.getElementById('spans600')
];
if (!validateAllInputs(inputs)) {
displayError('無効な入力です。数値を入力してください。');
return;
}
var type = document.getElementById('type').value;
var width = document.getElementById('width').value;
var spans1800 = getInputValueOrZero(document.getElementById('spans1800'));
var spans1500 = getInputValueOrZero(document.getElementById('spans1500'));
var spans1200 = getInputValueOrZero(document.getElementById('spans1200'));
var spans900 = getInputValueOrZero(document.getElementById('spans900'));
var spans600 = getInputValueOrZero(document.getElementById('spans600'));
var levels = document.getElementById('levels').value ? parseInt(document.getElementById('levels').value, 10) : 0;
displayResult(calculateMaterials(type, width, "1800", spans1800, levels), 'result1800');
displayResult(calculateMaterials(type, width, "1500", spans1500, levels), 'result1500');
displayResult(calculateMaterials(type, width, "1200", spans1200, levels), 'result1200');
displayResult(calculateMaterials(type, width, "900", spans900, levels), 'result900');
displayResult(calculateMaterials(type, width, "600", spans600, levels), 'result600');
var totalSpans = spans1800 + spans1500 + spans1200 + spans900 + spans600;
var widthText = document.getElementById('width').options[document.getElementById('width').selectedIndex].text;
displayResult({ [widthText + "布材、端部手すり"]: calculateNunoCount(type, totalSpans, levels) }, 'resultNuno');
displayResult({ "ジャッキベース": calculateBaseCount(type, totalSpans) }, 'resultBase');
displayResult({ "支柱3600": calculateSithuu36Count(type, totalSpans, levels) }, 'resultSithuu36');
displayResult({ "支柱2700": calculateSithuu27Count(type, totalSpans) }, 'resultSithuu27');
displayResult({ "支柱1800": calculateSithuu18Count(type, totalSpans, levels) }, 'resultSithuu18');
displayResult({ "支柱900": calculateSithuu9Count(type, totalSpans) }, 'resultSithuu9');
});
</script>



