T3_2_PL固定棚.vb 詳細説明書

1. 概要

このファイルは、パレット型固定棚(PL固定棚型)の設計計算を行うためのWindowsフォームアプリケーションです[cite: 9]。 主な責務は、パレット固定棚倉庫の寸法・段数・列数などの入力パラメータに基づき、倉庫全体の必要寸法(幅・長さ・高さ)、床面積、仮想床面積などを自動計算し、レイアウト設計に必要な基礎データを算出することです[cite: 9]。

固定棚方式は、両面使いの棚構造(単式棚と複式棚の組み合わせ)により、スペース効率の良い倉庫設計を実現します[cite: 9]。 有効期限チェック機能を持つ試用版として実装されており、フォームロード時に有効期限を確認します[cite: 9]。

2. 主要なクラス/モジュール

2.1. PL固定棚F クラス

目的

パレット型固定棚の設計計算を行うメインフォームクラス[cite: 9]。 各種入力パラメータを受け取り、単式棚・複式棚の組み合わせによる倉庫の必要寸法・面積・段構成などを自動計算します[cite: 9]。

主要なプロパティ

このクラスはSystem.Windows.Forms.Formを継承しており、多数のテキストボックス(Tb)、ラベル(L)、ボタン(Bt)、グループボックス(Gb)などのUIコントロールを保持しています[cite: 9]。 主な変数は以下の通りです:

  • PL寸法関連: PL幅, PL奥行, PL全高, PL厚み, 荷高[cite: 9]
  • 倉庫構成: セット数, 列数, 連数, 段数, PL格納数[cite: 9]
  • 棚構成: 単式棚, 複式棚, 単式棚数, 複式棚数, 棚奥行[cite: 9]
  • スペース関連: 隣接C, 補助通路, 荷役通路, 天井C, 棚C, 支柱幅, 背面C[cite: 9]
  • 段構成: 最上段高, 中間段高, 最下段高, 中間段数[cite: 9]
  • 計算結果: 棚全長, 棚全高, 必要幅, 必要長, 必要高, 必要面積[cite: 9]
  • 面積関連: 必要面積, 仮想床面積計[cite: 9]

主要なメソッド/関数

  • PL固定棚計算_Load - フォーム初期化とメイン処理の起動[cite: 9]
  • Tb読込 - テキストボックスからデータを読み込む[cite: 9]
  • 計算内訳 - メインの計算ロジック[cite: 9]
  • 仮想床計算 - 仮想床面積の計算[cite: 9]
  • 計算開始Bt_Click - 計算ボタンクリック時の処理[cite: 9]
  • 表紙Pb_Click / スタートBt_Click - タブ切り替え処理[cite: 9]
  • 閉じるBt_Click - フォームクローズ処理[cite: 9]

3. 主要な関数/サブルーチンの詳細

3.1. PL固定棚計算_Load

機能説明

フォームのロード時に実行されるイベントハンドラです[cite: 9]。著作権表示・有効期限表示の設定、有効期限チェック、初期データ読み込み、初期計算(計算内訳および仮想床計算)を実行します[cite: 9]。

引数

引数名 型 説明
sender Object イベント発生元のオブジェクト[cite: 9]
e EventArgs イベント引数[cite: 9]

戻り値

型: なし (Sub)
説明: イベントハンドラのため戻り値なし[cite: 9]

処理フロー

  1. 著作権ラベルと有効期限ラベルにテキストを設定[cite: 9]
  2. 現在日付を取得し、試用版有効期限と比較[cite: 9]
  3. 有効期限切れの場合はメッセージボックスを表示してフォームを閉じる[cite: 9]
  4. 有効期限内の場合はTb読込()を呼び出してデータを読み込む[cite: 9]
  5. 計算内訳()を呼び出してメイン計算を実行[cite: 9]
  6. 仮想床計算()を呼び出して仮想床面積を算出[cite: 9]
特記事項:
試用版機能として有効期限チェックが実装されています[cite: 9]。期限切れの場合は即座にアプリケーションが終了します[cite: 9]。

3.2. Tb読込

機能説明

各テキストボックスに入力された値を読み込み、変数に格納します[cite: 9]。 同時に一部の計算(荷高の算出、列数の計算など)も行います[cite: 9]。

引数

なし[cite: 9]

戻り値

型: なし (Sub)
説明: 内部変数に値を設定するのみ[cite: 9]

処理フロー

  1. PL幅、PL奥行、PL全高、PL厚みをテキストボックスから読み込む[cite: 9]
  2. 荷高 = PL全高 - PL厚み を計算し、テキストボックスに表示[cite: 9]
  3. セット数、連数、段数を読み込む[cite: 9]
  4. 列数 = セット数 × 2 を計算し、テキストボックスに表示[cite: 9]
  5. 隣接C、補助通路、荷役通路、天井C、棚C、支柱幅、ビーム厚、昇降C、背面Cを読み込む[cite: 9]
特記事項:
このメソッドは計算前の準備段階として、UI入力値を内部変数に変換します[cite: 9]。 列数は自動計算されるため、ユーザーはセット数のみ入力します[cite: 9]。

3.3. 計算内訳

機能説明

パレット型固定棚倉庫の各種寸法・面積を計算するメイン処理です[cite: 9]。 格納数、単式棚・複式棚の寸法、連ピッチ、段構成、必要スペース、床面積などを順次計算します[cite: 9]。

引数

なし(クラス内の変数を使用)[cite: 9]

戻り値

型: なし (Sub)
説明: 計算結果は各テキストボックスに表示される[cite: 9]

処理フロー

  1. 格納数計算:
    • 列数 = セット数 × 2[cite: 9]
    • PL格納数 = 列数 × 連数 × 2 × 段数[cite: 9]
  2. 必要幅計算:
    • 棚奥行 = PL奥行[cite: 9]
    • 単式棚 = PL奥行 + 隣接C[cite: 9]
    • 複式棚 = PL奥行 + 背面C + PL奥行[cite: 9]
    • 単式棚数 = 2(両端)[cite: 9]
    • 複式棚数 = (列数 - 2) / 2[cite: 9]
    • 必要幅 = 単式棚 × 単式棚数 + 複式棚 × 複式棚数 + 荷役通路 × セット数[cite: 9]
  3. 連ピッチと必要長計算:
    • 連ピッチ = PL幅 × 2 + 棚C × 3 + 支柱幅[cite: 9]
    • 棚全長 = 連ピッチ × 連数 + 支柱幅[cite: 9]
    • 必要長 = 棚全長 + 隣接C + 補助通路[cite: 9]
  4. 棚全高と必要高計算:
    • 最上段高 = PL全高 + ビーム厚[cite: 9]
    • 中間段高 = PL全高 + 昇降C + ビーム厚[cite: 9]
    • 中間段数 = 段数 - 2[cite: 9]
    • 最下段高 = PL全高 + 昇降C[cite: 9]
    • 棚全高 = 最上段高 + (中間段高 × 中間段数) + 最下段高[cite: 9]
    • 必要高 = 棚全高 + 昇降C[cite: 9]
  5. レイアウト面積計算:
    • 必要面積 = Int(必要長 × 必要幅 / 1000² + 0.5) [m²][cite: 9]
特記事項:
固定棚方式は、単式棚(片面使い)と複式棚(両面使い)を組み合わせることで、スペース効率を向上させています[cite: 9]。 両端には単式棚(2基)、中央部には複式棚を配置する標準的な構成で計算されます[cite: 9]。

3.4. 仮想床計算

機能説明

建築基準法上の仮想床面積を計算します[cite: 9]。最上段ビーム上面高が5000mm以上の場合、仮想床として床面積に算入される必要があるため、その面積を算出します[cite: 9]。

引数

なし(クラス内の変数を使用)[cite: 9]

戻り値

型: なし (Sub)
説明: 計算結果は仮想床面積Tbに表示される[cite: 9]

処理フロー

  1. 最上段ビーム上面高 = 棚全高 - PL全高 を計算[cite: 9]
  2. 最上段ビーム上面高が5000mm未満の場合:
    • 仮想床面積 = 0 として処理終了[cite: 9]
  3. 最上段ビーム上面高が5000mm以上の場合:
    • 仮想床面積計 = Int(棚全長 × (棚奥行 × 2) / 1000² + 棚全長 × (複式棚 × 複式棚数) / 1000² + 0.5) [m²][cite: 9]
    • 単式棚の通路部分(2基分)と複式棚全体の面積を合算[cite: 9]
特記事項:
建築基準法では、高さ5m以上の部分は仮想床として扱われます[cite: 9]。 この計算により、防火区画や避難規定などの建築法規上の適合性を確認できます[cite: 9]。

3.5. 計算開始Bt_Click

機能説明

「計算開始」ボタンがクリックされた時に実行されるイベントハンドラです[cite: 9]。 データを再読み込みして再計算を実行し、結果表示エリアの背景色を切り替えて視覚的なフィードバックを提供します[cite: 9]。

引数

引数名 型 説明
sender Object イベント発生元のボタン[cite: 9]
e EventArgs イベント引数[cite: 9]

戻り値

型: なし (Sub)
説明: イベントハンドラのため戻り値なし[cite: 9]

処理フロー

  1. Tb読込()でデータを再読み込み[cite: 9]
  2. 計算内訳()でメイン計算を実行[cite: 9]
  3. 仮想床計算()で仮想床面積を計算[cite: 9]
  4. 計算開始_Chkフラグに応じて、計算内訳Gbと計算結果Gbの背景色を切り替え(LightYellow ⇔ PowderBlue)[cite: 9]
特記事項:
背景色の切り替えは、ユーザーが計算ボタンを押すたびに結果が更新されたことを視覚的に確認できるようにするためのUI工夫です[cite: 9]。

3.6. 表紙Pb_Click / スタートBt_Click

機能説明

表紙画像(Pb)またはスタートボタンがクリックされた時に、タブコントロールを「PL固定棚計算Tp」タブに切り替えます[cite: 9]。

引数

引数名 型 説明
sender Object イベント発生元のコントロール[cite: 9]
e EventArgs イベント引数[cite: 9]

戻り値

型: なし (Sub)
説明: イベントハンドラのため戻り値なし[cite: 9]

処理フロー

  1. TabControl1のSelectedTabプロパティをPL固定棚計算Tpに設定[cite: 9]
特記事項:
アプリケーションのナビゲーション機能として、表紙画面から計算画面への遷移を提供します[cite: 9]。

3.7. 閉じるBt_Click

機能説明

「閉じる」ボタンがクリックされた時にフォームを閉じます[cite: 9]。

引数

引数名 型 説明
sender Object イベント発生元のボタン[cite: 9]
e EventArgs イベント引数[cite: 9]

戻り値

型: なし (Sub)
説明: イベントハンドラのため戻り値なし[cite: 9]

処理フロー

  1. Me.Close()でフォームを閉じる[cite: 9]
特記事項:
シンプルなフォームクローズ処理です[cite: 9]。

4. 依存関係

  • System.Windows.Forms - Windowsフォームアプリケーションの基本機能[cite: 9]
  • System.Drawing - UI色設定(Color型)のため[cite: 9]
  • System - 基本的な型とDateTime処理のため[cite: 9]
  • グローバル変数モジュール(推定) - 著作権、会社名、試用版有効期限などのグローバル変数を参照[cite: 9]
注意:
コード内で参照されている変数(会社、著作権、試用版有効期限、計算開始_Chkなど)は、別のモジュールまたは共通設定ファイルで定義されていると推測されます[cite: 9]。

5. 改訂履歴

改訂日 バージョン 改訂内容 担当者
2025年 1.0 詳細説明ドキュメント初回作成[cite: 9] -

6. 計算式サマリー

格納数

  • 列数 = セット数 × 2[cite: 9]
  • PL格納数 = 列数 × 連数 × 2 × 段数[cite: 9]

棚構成

  • 荷高 = PL全高 - PL厚み[cite: 9]
  • 棚奥行 = PL奥行[cite: 9]
  • 単式棚 = PL奥行 + 隣接C[cite: 9]
  • 複式棚 = PL奥行 + 背面C + PL奥行[cite: 9]
  • 単式棚数 = 2(両端の固定値)[cite: 9]
  • 複式棚数 = (列数 - 2) / 2[cite: 9]

必要寸法

  • 必要幅 = 単式棚 × 単式棚数 + 複式棚 × 複式棚数 + 荷役通路 × セット数[cite: 9]
  • 連ピッチ = PL幅 × 2 + 棚C × 3 + 支柱幅[cite: 9]
  • 棚全長 = 連ピッチ × 連数 + 支柱幅[cite: 9]
  • 必要長 = 棚全長 + 隣接C + 補助通路[cite: 9]

段構成と高さ

  • 最上段高 = PL全高 + ビーム厚[cite: 9]
  • 中間段高 = PL全高 + 昇降C + ビーム厚[cite: 9]
  • 中間段数 = 段数 - 2[cite: 9]
  • 最下段高 = PL全高 + 昇降C[cite: 9]
  • 棚全高 = 最上段高 + (中間段高 × 中間段数) + 最下段高[cite: 9]
  • 必要高 = 棚全高 + 昇降C[cite: 9]

面積

  • 必要面積 = Int(必要長 × 必要幅 / 1000² + 0.5) [m²][cite: 9]
  • 最上段ビーム上面高 = 棚全高 - PL全高[cite: 9]
  • 仮想床面積計 = Int(棚全長 × (棚奥行 × 2) / 1000² + 棚全長 × (複式棚 × 複式棚数) / 1000² + 0.5) [m²]
    ※ただし、最上段ビーム上面高 < 5000mm の場合は 0[cite: 9]
単位に関する注意:
入力値は一般的にmm単位で扱われており、面積計算時に1000²で除算してm²に変換しています[cite: 9]。

7. PL_Ass計算との相違点

構造の違い

  • PL_Ass計算: 自動倉庫(スタッカークレーン方式)を想定した計算[cite: 9]
  • PL固定棚: 固定棚(単式棚と複式棚の組み合わせ)を想定した計算[cite: 9]

計算項目の違い

  • PL固定棚の特徴:
    • 単式棚(片面使い)と複式棚(両面使い)の組み合わせ[cite: 9]
    • 荷役通路がセット数分必要[cite: 9]
    • 格納数計算が「列数 × 連数 × 2 × 段数」(両面格納)[cite: 9]
    • 仮想床面積が高さ5m以上の場合のみ計算される[cite: 9]
  • PL_Ass計算の特徴:
    • 自動倉庫用の走行路幅を考慮[cite: 9]
    • 防火壁数の自動計算[cite: 9]
    • 補強材の有無による段高の差別化[cite: 9]
使い分け:
PL固定棚は、比較的小規模でフォークリフトなどによる手動荷役を想定した倉庫に適しています[cite: 9]。 PL_Ass計算は、大規模で自動化された倉庫システムに適しています[cite: 9]。