環境のカスタマイズ
本チュートリアルでは、プリファレンスファイルを用いたプログラムのカスタマイズについて学習します。
プリファレンスファイル
プリファレンスファイルは、プログラムが起動される度に読み出されるスクリプトファイルです。適用された色の番号、デフォルトのプリンター、デフォルトのページレイアウト、自動保存の時間間隔などのユーザー設定を定義することができます。プログラムのインストレーションディレクトリに存在する標準のプリファレンスファイルは、ライセンスがアクティブとなる度に読み出されます。追加のプリファレンスファイルは、ユーザーの作業ディレクトリ内に作成することができ、標準プリファレンスファイルを上書きする、もしくは標準プリファレンスファイル内の既存の設定に追加されるユーザー独自の設定を含みます。
- HyperStudy以外のすべてのHyperStudy製品:preferences.mvw
- HyperStudyのみ: preferences_hst.mvw
インストレーションには、7つのインクルードプリファレンスファイルが含まれています。これらのインクルードプリファレンスファイルは、独立したプリファレンスファイルとして使用することができず、メインのプリファレンスファイルに含まれます。インクルードプリファレンスファイルは、$ALTAIR_HOME/hwdesktop/hw/prefincに置かれています。
プリファレンスファイルの構成
*BeginDefaults()
*EndDefefaults()
*BeginDefinitions()
*EndDefinitions()
*BeginStatsTemplates()
*EndStatsTemplates()
*BeginPlotMacros()
*EndPlotMacros()
*BeginTemplexFunctions()
*EndTemplexFunctions()
*BeginDefaults()ブロックはプリファレンスファイルに固有なもので、一方、*BeginDefintions()、*BeginStatsTemplates()、*BeginPlotMacros()、*BeginTemplexFunctions()ブロックは、スクリプトファイルにあるものと同じです。
- *Idステートメント
- *Idステートメントのシンタックスは、*Id("Release")です。ここで、Releaseは、プログラム名とバージョンを示します。
- *BeginDefaults - *EndDefaultsブロック
- *BeginDefaults()ブロックは、一般デフォルトおよび7つの従属ステートメントブロックで構成されています。一般デフォルトがまず宣言され、必要とされる数のサブブロックが続きます。各サブブロックは、メインブロックと同じ構造を有しています。すなわち、*Beginステートメントには必要なステートメントが続き、*Endステートメントでブロックが閉じられます。
- 一般デフォルト
- 一般デフォルトには、自動保存の間隔とデフォルトのプリンター設定が含まれます。ブロックは、以下のステートメントで区切られます:
*BeginDefaults() *EndDefaults()
- モデルデフォルト
- モデルデフォルトは、モデルツールバーのカスタマイズ、および機構システムモデルをソルバーにサブミットするためのMDLデフォルトの追加に使用されます。ブロックは、以下のステートメントで区切られます:
*BeginModelDefaults() *EndModelDefaults()
- グラフィックデフォルト
- モデルの方向やパートの属性といったグラフィックプリファレンスは、グラフィックデフォルトブロックで指定されます。ブロックは、以下のステートメントで区切られます:
*BeginGraphicDefaults() *EndGraphicDefaults()
- プロットデフォルト
- 色、フォント、注釈デフォルト等を含むカーブについてのプロッティングプリファレンスは、プロットデフォルトブロックで指定されます。ブロックは、以下のステートメントで区切られます:
*BeginPlotDefaults() *EndPlotDefaults()
- テキストエディタデフォルト
- テキストおよび背景色やフォントの設定等を含むテキストエディタのプリファレンスは、テキストエディタデフォルトブロックで指定されます。ブロックは、以下のステートメントで区切られます:
*BeginTextEditorDefaults() *EndTextEditorDefaults()
- ページヘッダーデフォルト
- ページヘッダーは、ページヘッダーブロックで指定されます。ブロックは、以下のステートメントで区切られます:
*BeginHeader() *EndHeader()
- ページフッターデフォルト
- ページフッターは、ページフッターブロックで指定されます。ブロックは、以下のステートメントで区切られます:
*BeginFooter() *EndFooter()
コンパイルの問題を回避するには、各ブロックを最初は*Beginおよび*Endブロックステートメントで開始し、続いて残りのステートメントをブロックの区切り間に挿入します。
自動保存のデフォルトの設定
- TextViewを開きます。
- メニューバーからautosave_bubble_help.mvwファイルを開きます。 を選択し、プリファレンスフォルダーにある
-
*BeginDefaults()行の後ろに、次のプリファレンスステートメントを追加します:*SetAutoSaveInterval(2)
This sets the autosave interval to two minutes.このステートメントがpreferences.mvwファイルに存在しない場合、プログラムは、自動保存の間隔を10分に設定します。
- メニューバーから を選択し、新しいプリファレンスファイルを new_autosave_bubble_help.mvwという名称でホームディレクトリに保存します。
更新した自動保存のデフォルト設定を確認
- HWDプログラム(HyperView、HyperGraph、HyperGraph3D、MotionView)のいずれかを起動します。
-
を選択し、プリファレンスファイルをセットします。これで、登録されているすべてのプリファレンスファイルがリストされたウィンドウが開きます。
図 1. - Registerをクリックし、ファイルnew_autosave_bubble_help.mvwをブラウズします。
-
Registered Preferencesのリストからnew_autosave_bubble_help.mvwを選択し、Loadをクリックしてプリファレンスファイルを読み込みます。
- 上部右側角にある赤いXをクリックして、ウィンドウを閉じます。
-
2分ほど待ち、作業ディレクトリのコンテンツをリストします。
新しいファイルautosave.mvwが存在し、現在のセッションのバックアップが含まれています。
カーブのデフォルトの設定
- TextViewを開きます。
- メニューバーからcurve_defaults.mvwファイルを開きます。 を選択し、プリファレンスフォルダーにある
- *BeginPlotDefaults()行の後ろに、それ以前の全ての*SetCurveDefaults()ステートメントを無視するよう、*ResetCurveDefaults()ステートメントを追加します。
-
*ResetCurveDefaults()行の後ろに、下記のプリファレンスステートメントを追加し、カーブのデフォルトを設定します:
*SetCurveDefaults(1, 7, 0, 0, 0) *SetCurveDefaults(3, 16, 1, 0, 0) *SetCurveDefaults(5, 24, 2, 0, 0) *SetCurveDefaults(2, 32, 3, 0, 0) *SetCurveDefaults(4, 40, 0, 0, 0) *SetCurveDefaults(5, 48, 1, 0, 0)
プロッティングプリファレンスブロックには、いくつかの *SetCurveDefaults()ステートメントを含めることができます。プログラムは、カーブの属性を逐次割り当てます。
- メニューバーからnew_curve_defaults.mvwという名称でホームディレクトリに保存します。 を選択し、新しいプリファレンスファイルを
更新されたカーブのデフォルト設定の確認
-
右上にあるページナビゲーションツールを使ってページを作成し、セッションに追加します。
図 2.
-
新規ウィンドウで、プロットウィンドウの上にあるChange Typeのアイコン(
)をクリックし、HyperGraphを選択します。
-
ページウィンドウのレイアウトを1ページに2ウィンドウ
に変更します。
- Create Curves by Fileダイアログを開きます。 をクリックして
-
プロットファイルを開きます:
- ファイルブラウザをクリックします。
- plottingフォルダーにあるファイルANGACCを選択します。
- Openをクリックします。
-
データコンポーネントとプロットへのチャンネルを選択します:
- Y TypeリストからAngular Accelerationを選択します。
- Y Componentリストに50th% Hybrid3 – LOWER TORSOを選択します。
- Y ChannelリストからAllボタンを選択します。
- Applyをクリックし、ダイアログを開いたままにしておきます。
- new_curve_defaults.mvwをプリファレンスファイルとして設定します。 を選択し、
-
Registerを選択し、ファイルnew_curve_defaults.mvwをブラウズします。
これは、 new_curve_defaults.mvwをプリファレンスファイルとして自動的に読み込みます。
-
リストからnew_curve_defaults.mvwを選択し、Loadをクリックします。
- 上部右側角にある赤いXをクリックして、ウィンドウを閉じます。
- “Update all plots current default colors”という確認のプロンプトが出たら、Noを選択します。
- このページの2番目のプロットウィンドウをクリックします。
- Create Curves by Fileダイアログに戻ります。
-
Applyをクリックします。
色とラインスタイルは、プログラムのシステムデフォルトではなく、 new_curve_defaults.mvwファイル内で定義されたデフォルトに従います。
図 3.
デフォルトのプロット色の設定
-
右上にあるページナビゲーションツールを使ってページを作成し、セッションに追加します。
図 4.
-
新規ウィンドウで、プロットウィンドウの上にあるChange Typeのアイコン(
)をクリックし、TextViewを選択します。
- メニューバーからplot_colors.mvwファイルを開きます。 を選択し、プリファレンスフォルダーにある
-
*BeginPlotDefaults()行の後ろに、下記のプリファレンスステートメントを追加し、デフォルトのプロット色を設定します:
*SetBackgroundColor(9) *SetGridlineColor(6) *SetZerolineColor(2) *SetFrameColor(7) *SetAxisColor(4) *SetHeaderColor(0) *SetFooterColor(3)
- 新しいプリファレンスファイルをnew_plot_colors.mvw として作業ディレクトリに保存します。ファイルをデフォルトディレクトリに保存し直すことはできません。
更新されたデフォルトプロットカラーの確認
- 新しいページを追加し、HyperGraphを選択します。
- ヘッダーおよびフッターテキストを作成します。
- プリファレンスファイルnew_plot_colors.mvwをRegisterで登録し、Loadで読み込みます。“Update all plots current default colors”という確認のプロンプトが出たら、Noをクリックします。
- 新しい設定がアクティブな、新しいページを追加します。
-
ヘッダーおよびフッターテキストを作成します。
注: プロットウィンドウの各領域の色が、プログラムのシステムデフォルトではなく、new_plot_color.mvwファイル内で定義されたデフォルトを反映します。
プロットエリアのデフォルトフォントの設定
- 新しいページを追加し、TextViewを選択します。
- ツールバーのファイルブラウザから、preferencesフォルダーにあるファイルfont_defaults.mvwを開きます。
-
*BeginPlotDefaults()行の後ろに、次のプリファレンスステートメントを追加します:
*SetAxisLabelFont("Times New Roman", 1, 0, 8) *SetAxisTicFont("Times New Roman", 0, 1, 18)
1番目のプレースホルダーは、フォント名を指定します。
2番目のプレースホルダーは、font weight(フォントの太さ)を指定します。0 =標準(デフォルト)、1 =太字です。
3番目のプレースホルダーは、slant(斜体)またはfont style(フォントスタイル)を指定します。0 =標準(デフォルト)、1 =斜体です。
4番目のプレースホルダーは、font sizeを指定します。サイズは、8、10、12、14、18または24です。
注: 提案されているフォントがユーザーのシステム上にない場合は、使用可能なフォントの名称を使用してください。 -
*SetAxisTicFont ()行の後ろに、下記のプリファレンスステートメントを追加し、ヘッダーおよびフッターテキストのフォントデフォルトを設定します:
*SetLine1HeaderFont("Verdana",0,0,8) *SetLine2HeaderFont("Verdana",1,0,10) *SetLine3HeaderFont("Verdana",0,1,12) *SetLine1FooterFont("Tahoma",0,0,8) *SetLine2FooterFont("Tahoma",0,1,10) *SetLine3FooterFont("Tahoma",1,0,12)
注: 提案されているフォントがユーザーのシステム上にない場合は、使用可能なフォントの名称を使用してください。 - 新しいプリファレンスファイルをnew_font_defaults.mvwとして保存します。
更新されたデフォルトプロットフォントの確認
- 新しいページを追加し、HyperGraphを選択します。
- プロット上に、3行のヘッダーとフッターを作成します。
- ファイルnew_font_defaults.mvwをRegisterで登録し、Loadで読み込みます。current defaultsに更新するようプロンプトが出されたら、Noを選択します。
- ページレイアウトを、1ページに2ウィンドウのものに変更します。
- 現在のページの2番目のプロットウィンドウをクリックします。
-
プロット上に、3行のヘッダーとフッターを作成します。
ヘッダーおよびフッターエリアの各行を含むプロットウィンドウ内のフォントが、プログラムのシステムデフォルトではなく、new_font_defaults.mvwファイル内で定義されたデフォルトを反映します。
図 5.
注釈のデフォルトの設定
- 新しいページを追加し、TextViewを選択します。
- ツールバーのファイルブラウザから、preferencesフォルダーにあるファイルnotes_legends.mvwを選択します。
-
*BeginPlotDefaults()行の後ろに、下記のプリファレンスステートメントを追加し、注釈のフォントタイプ、スタイルおよびサイズのデフォルトを設定します:
*SetNoteFont("Tahoma", 1, 1, 10)
-
*SetNoteFont()行の後ろに、下記のプリファレンスステートメントを追加し、注釈の付加、テキストの行揃えおよび色のデフォルトを設定します:
*SetNoteAttachment(View) *SetNoteAlignment(Left) *SetNoteColor(5)
- 新しいプリファレンスファイルをnew_notes_legends.mvwとして保存します。
レジェンドのデフォルトの設定
- TextViewウィンドウモードで、ファイルブラウザからnew_notes_legends.mvwを選択します。
-
*SetNoteColor()行の後ろに、下記のプリファレンスステートメントを追加し、レジェンドのフォントと配置のデフォルトを設定します:
*SetLegendFont("Tahoma",1,1,24) *SetLegendPlacement(TopRight)
- 新しいプリファレンスファイルをnew_notes_legends.mvwとして保存します。
更新されたデフォルトプロットフォントの確認
-
右上にあるページナビゲーションツールを使ってページを作成し、セッションに追加します。
図 6.
-
新規ウィンドウで、プロットウィンドウの上にあるChange Typeのアイコン(
)をクリックし、HyperGraphを選択します。
- ページレイアウトを、1ページに2ウィンドウのものに変更します。
- 現在のプロットにカーブを追加します。
- 現在のプロットに注釈を追加します。
- ファイルnew_notes_legends.mvwをRegisterで登録し、Loadで読み込みます。current defaultsに更新するようプロンプトが出されたら、Noを選択します。
- 現在のページの2番目のプロットウィンドウをクリックします。
- 現在のプロットにカーブを追加します。
-
現在のプロットに注釈を追加します。
プロット上に表示される注釈およびレジェンドは、new_notes_legends.mvwファイル内で定義されたデフォルトを反映します。注釈付加の更新を確認するには、プログラムウィンドウの左側下部にあるビューコントロールの矢印を使って、カーブを移動させます。
注釈およびレジェンドのデフォルトの更新
- ページを追加し、TextViewを選択します。
- ツールバーのファイルブラウザから、preferencesフォルダーにあるファイルheaders_footers.mvwを開きます。
-
*BeginDefaults()行の後ろに、下記のプリファレンスステートメントを追加し、*BeginHeader()ブロックを定義します:
*BeginHeader() *EndHeader()
-
*BeginHeader()行の後ろに、下記のプリファレンスステートメントを追加し、使用できるヘッダー領域の部分を定義します:
*BeginRegion(400, 0, 600, 300) *EndRegion()
-
領域を表わすには、座標系を使用します。領域ステートメントの引数は、最小X座標値、最小Y座標値、最大X座標値、最大Y座標値を示します。
ヘッダー領域全体を示したい場合、*BeginRegionステートメントは、*BeginRegion(0,0,1000,1000)とします。
-
*BeginRegion()行の後ろに、下記のプリファレンスステートメントを追加し、テキストのフォント、行揃えおよび領域の境界を設定します(パスを更新してインストレーションの位置を反映):
*Font("Times",0,1,12) *Alignment(Center) *BorderWidth(1,1,1,1)
-
*BorderWidth()行の後ろに、下記のプリファレンスステートメントを追加し、ヘッダー領域のテキストを設定します:
*Text("Project Title")
- 新しいプリファレンスファイルをnew_headers_footers.mvwとして保存します。
ページのフッターの追加
- 現在のファイルはnew_headers_footers.mvwのはずです。そうでない場合、TextViewウィンドウモードからファイルnew_headers_footers.mvwを開きます。
-
*EndHeader()行の後ろに、下記のプリファレンスステートメントを追加し、*BeginFooter()ブロックを定義します:
*BeginFooter() *EndFooter()
-
*BeginFooter()行の後ろに、下記のプリファレンスステートメントを追加し、フッター内の1つの領域を定義、設定します:
*BeginRegion(700, 0, 1000, 1000) *Font("Times",0,1,12) *Alignment(Center) *BorderWidth(1,1,1,1) *EndRegion()
フッター領域の座標系は、ヘッダー領域のものと同様で、最小X座標値は700(フッター領域の左)、最大X座標値は1000(フッター領域の右)です。最小Y座標値は0、最大Y座標値は1000です。
-
*BorderWidth()行の後ろに、下記のプリファレンスステートメントを追加し、領域にテキストを追加します:
*Text("Your Name") *Text("{time()} on {date()}") *Text("Page: {pagenum}/{numpages}")
-
*EndRegion()行の後ろに、下記のプリファレンスステートメントを追加し、ページフッター内の2番目の領域を定義、設定します:
*BeginRegion(700, 0, 1000, 1000) *BorderWidth(1,1,1,1) *EndRegion()
-
*BorderWidth()行の後ろに、下記のプリファレンスステートメントを追加し、領域内にイメージを配置します:
*Image("<install_directory>/tutorials/mv_hv_hg/preferences/Altair_logo.gif")
会社のロゴなどのイメージは、プロットのヘッダーまたはフッター内の任意の領域に追加することができます。イメージタイプは、GIF(format 87)、JPGまたはBMPのいずれかでなければなりません。イメージは、垂直方向はフィット、水平方向は中央揃えで調整されます。
- 新しいプリファレンスファイルをnew_headers_footers.mvwとして保存します。
新しいページヘッダーおよびフッターの確認
- プリファレンスファイルnew_headers_footers.mvwをRegisterで登録し、Loadで読み込みます。
- プリンターがインストールされている場合は、Printを選択し、OKをクリックします。これらのヘッダーとフッターは、セッションまたはページが印刷される際に表示されます。
テキストエディタのデフォルトの設定
- ページを追加し、TextViewを選択します。
- ツールバーのファイルブラウザから、preferencesフォルダーにあるファイルtext_editor.mvwを選択します。
-
*BeginTextEditorDefaults()行の後ろに、下記のプリファレンスステートメントを追加し、テキストエディタのデフォルトのフォントタイプ、スタイル、サイズを設定します:
*Font("Times", 0, 1, 12)
-
*Font()行の後ろに、下記のプリファレンスステートメントを追加し、テキストエディタウィンドウのデフォルトのテキスト色を設定します:
*TextColor(6)
-
*TextColor()行の後ろに、下記のプリファレンスステートメントを追加し、テキストエディタウィンドウのデフォルトの背景色を設定します:
*BackGroundColor(23)
- 新しいプリファレンスファイルをnew_text_editor.mvwとして保存します。
更新されたデフォルトプロットフォントの確認
- ファイルnew_text_editor.mvwをRegisterで登録し、Loadで読み込みます。
-
ツールバー上のAdd Pageをクリックし、現在のセッションに新規ページを追加します。新しいページはPlotウィンドウモードに設定します。
更新されたデフォルトの背景色が表示されます。
-
テキストウィンドウ内をクリックしてテキストを入力し、テキストのデフォルトへの変更を確認します。