# MakeStructureModel.pl Documentation

## 1. プログラムの動作
`MakeStructureModel.pl`は、結晶構造のCIF（Crystallographic Information File）ファイルを操作し、指定されたアクションに基づいて結晶構造を変換または操作するプログラムです。主な機能には、結晶のシフト、回転、抽出、表面生成、スーパーラティス生成などがあります。これらの操作は、コマンドライン引数で指定されたパラメータに基づいて実行されます。

## 2. 必要な非標準ライブラリとインストールコマンドとインストール方法
このプログラムは、以下の非標準ライブラリを使用しています：

- `Utils`
- `Sci`
- `MyApplication`
- `Crystal::CIF`
- `Crystal::Crystal`

これらのライブラリは、PerlのCPAN（Comprehensive Perl Archive Network）で提供されていない可能性があるため、ソースコードから手動でインストールする必要があります。インストール方法は、通常、ライブラリのソースコードをダウンロードし、Perlのライブラリパスに配置することです。

## 3. 必要な入力ファイル
- CIFファイル: 結晶構造情報を含むCIFファイルが必要です。コマンドライン引数として指定します。

## 4. 実行後に生成される出力ファイル
- `out.cif`: デフォルトの出力ファイル名です。コマンドライン引数で`--OutputFile`を指定することで変更可能です。このファイルには、指定されたアクションに基づいて変換された結晶構造が保存されます。

## 5. コマンドラインでの使用例 (Usage)
以下は、`MakeStructureModel.pl`の使用例です：

```bash
perl MakeStructureModel.pl --OutputFile=output.cif --Action=c-rotation --Rotation=45 input.cif
```

この例では、`input.cif`ファイルを読み込み、結晶構造を45度回転させた結果を`output.cif`に保存します。その他のオプションとして、`--Shift`、`--ZRange`、`--ChangeLatticeParameters`、`--Space`、`--Border`などがあります。各オプションの詳細は、プログラム内の`AddArgument`メソッドで定義されています。