2004.01.03 更新
INPUT ('E:\ME10\MACRO\Mf_layout.ma')
(あまり詳しくない方は、すべてのマクロの INPUT文を書いて下さい。)
【使ってみる A】
1.Mf_layout.ma ファイルの中に下記のマクロが有れば、コマンドを直接入力します。
測定補助メニューを出すなら、Sm_screen_meas_1
と入力して下さい。
下書き線の十字線を描くなら、Ma_cline_cross
と入力して下さい。
【使ってみる B】
1.ツールBOXに登録する。
使い方:テキストの[文字列の連結]を例に取ります。
Ma_unite 1
このように書きます。ここでマクロ名 [Ma_unite]
の後ろに少し離れて書かれている、[1] がパラメータです。
このマクロは、{0} が コピーをし、[1]が移動連結なので、この場合は、移動連結となります。
さてマクロの中を見ましょう。[PARAMETER]
の文字が見えます、これがパラメータの正体です。
後に続く[Erase] がマクロの中で使われるパラメータのデータを判別する変数名です。
尚 パラメータはマクロによっていくつでも使用できます。
【マクロの例】
{ 文字列の連結
2000.05.14-2000.05.19}
DEFINE Ma_unite
PARAMETER Erase {引用文字の削除=1}
LOCAL Txet_modify_point {変更文字列の指示位置}
LOCAL Txet_modify_text {変更する文字列}
−−以下は省略−−
1.補助メニューに名前を付けます。この名前はME10で使われているいかなる名前とも合わないものにして下さい。
調べ方。
次のコマンドを入力して、全てのマクロをファィルにします。
SAVE_MACRO ALL E:\ME10\MACRO\all_macro.ma
( E:\ME10\MACRO\all_macro.ma はME10が作るファィルの場所と名前です。適宜変更して下さい。)
内容は、エディタ等で調べて下さい。
【Sm_screen_assist_1】
2.枠の割付を決めます。
横を2列にする場合は Layout_body_5 が使えます。
横を3列にする場合は Layout_body_10 が使えます。
割付を変えたい場合はメニュー割付の
Layout_body_51を参考にして、縦棒の位置を変えて下さい。
名前も変えて下さい(Layout_body_51 が枠の名前です)。
【2列としたいので、Layout_body_5 を利用し、マクロを作りません。】
3.メニュー枠の定義をします。
レイアウト名定義と表示を
参考にして下さい。
マクロ内の { から } までは、メモとして扱われます。
コマンド、バラメータ等の区切りは、半角のスペースです。(全角と間違わないように!)
【{ 私のメニュー1 2000.01.01}
DEFINE Sm_screen_assist_1_layout
CURRENT_MENU 'Sm_screen_assist_1'
CURRENT_SCREEN 1
MENU_LAYOUT
Layout_body_5
Menu_home_point_down
END
LET Sm_screen_assist_1_layout_name 'Sm_screen_assist_1'
END_DEFINE 】
4.メニュー枠の名前変換を定義します。
レ
イアウト名定義と表示を参考にして下さい。
【{ 私のメニュー1 2000.01.01}
DEFINE Sm_screen_assist_1_layout_name
Sm_screen_assist_1_layout
END_DEFINE 】
5.メニューの内容を決めます。
下記の5個を 私のメニュー1 に登録するとします。
計算メニュー
下書き線・中心点と角度・テキスト
下書き線・中心点と角度・R
作成中のファィルを消去
インプット
【{ 私のメニュー12000.01.01}
DEFINE Sm_screen_assist_1
{Sm_screen_assist_1 はマクロの名前です。}
LET Lastmen 'Sm_screen_assist_1'
{私のメニュー1を記憶}
MENU_BUFFER ON
CURRENT_MENU Sm_screen_assist_1_layout_name
{メニュー枠をセット}
T_clear_menu_1
{メニュー内を初期化}
Menu_control_icons
{1段目の移動、消すなどの記号をセット}
MENU Colo0 Bcol5 CENTER '私のメニュー1'
'' 1 3
{メニューのタイトルです。半角では15文字まで!}
MENU Colo0 Bcol0 CENTER '' '' 2 1
MENU Colo0 Bcol0 '' '' 2 2
MENU Colo0 Bcol0 '計算メニュー' 'Sm_screen_meas_1'
3 1
{最初の ''の間はタイトル、次の ''の間にマクロ、コマンド等の実行するものをを入れます。}
MENU Colo0 Bcol0 '下書・芯・文' 'Ma_cline_center_angle_text'
3 2
MENU '' '' 4 1
MENU Colo0 Bcol0 '下書・芯・R' 'Ma_cline_center_angle_r' 4 2
MENU '' '' 5 1
MENU '' '' 5 2
MENU Colo0 Bcol0 CENTER 'インプット' 'INPUT Fbt_dtabs_all_on 0' 6 1
{CENTER は文字をメニュー枠の中央に表示します。}
MENU '' '' 6 2
MENU Colo0 Bcol2 '作成中消去' 'EDIT_PART TOP DELETE ALL CONFIRM END' 11 1
{Bcol2は 目立つようにメニューを赤色にしました。}
MENU '' '' 11 2
END_DEFINE 】
6.完成です。
出来た、これらのマクロを適当な名前のファィルに書き込みます。
インプットで読み込むか、startup ファィルに INPUT 文を書き込みます。
(ME10に INPUT で読み込まれるファィルなら、startup ファィルで無くてもOKです。)
E:\ME10\MACRO に Mf_my_menu.ma の名前で保存したなら、この1行は次のようになります。
【INPUT ('E:\ME10\MACRO\Mf_my_menu.ma')】
7.使ってみる。
【使ってみる A】
コマンドを直接入力します。Sm_screen_assist_1と入力して下さい。
【使ってみる B】
ツールBOXに登録します。
【使ってみる C】
他のメニューの開いている所にタイトル【私用1】とコマンド Sm_screen_assist_1
を書き込みます。
書き込み方は、メニューの内容を決めます。 のMENU の行を参考にして下さい。
たとえば「作 図 1」から「作 図 2」に変更して、「図形編集 1」等の他の補助メニューへ行き、元の「作 図 2」メニューに戻るには、「作 図 1」、「作 図 2」の順に戻る作業を繰り返す必要があります。
面倒と感じている人は、最後の補助メニューを記憶するようにしましょう。
ここでは、「作 図 1」のメニューを例とします。 他に関係するメニューは「作 図 2」と「スプライン」です。
(注)文の中に出てくる鍵括弧は、見やすくするだけですので、入力に使う場合は省いてください。
1.現在のME10内のマクロを調べます。
取り出し方。
次のコマンドを入力して、全てのマクロをファィルにします。
「SAVE_MACRO ALL E:\ME10\MACRO\all_macro.mac」
( E:\ME10\MACRO\all_macro.mac
はME10が作るファィルの場所と名前です。適宜変更して下さい。)
2.エディタ等でタイトルを検索してメニューのマクロを調べます。
「作 図 1」を検索します。
「MENU Colo0 Bcol5 CENTER '作 図 1' '' 1 3」が見つかりました。
(この行で「作 図 1」が画面に表示されているタイトルです。
最後の「1 3」がタイトルの位置を示します。もし 「1 3」と違えば他を探してください。)
残りの「作 図 1」、「スプライン」も同じようにして、調べます。
(注)8行戻った、「DEFINE
Sm_create_1」がマクロ名です。つまりメニューもマクロで出来ています。
後の「END_DEFINE」までがマクロです。
3.見つかったマクロを1つのファィル入れて、保存します。。
ファィル名は適当につけて下さい。この例では、「Mf_menu2_1.mac」とします。
内容は、「Sm_create_1」、「Sm_create_2」、「Sm_create_3」の3マクロです。
4.見つかったマクロに記憶する行を書き込みます。
最後のメニューを覚えるマクロ名を決めます。この例では、「Gl_last_menu_create」とします。
「作 図 1」を例に取ると、「LET Gl_last_menu_create Sm_create_1」となります
書き込む位置は、「LET Lastmen 'Tm_create_1'」の次がよいと思います。
その他のマクロにも書き込みます。
「LET Gl_last_menu_create Sm_create_2」<−(「作 図 2」の例)
「LET Gl_last_menu_create Sm_create_3」<−(「スプライン」の例)
5.記憶からメニューを選択するマクロを作ります。
戻ってきた場合のメニューを選択する、マクロ名を決めます。この例では、「Ma_last_menu_create」とします。
このマクロを先ほどのマクロファィルに追加します。
【{ 記憶メニュー選択・作図 2000.01.01
}
DEFINE Ma_last_menu_create
IF (Gl_last_menu_create = 'Tm_create_1') {もし作図1なら}
Tm_create_1
ELSE_IF (Gl_last_menu_create = 'Tm_create_2') {もし作図2なら}
Tm_create_2
ELSE_IF (Gl_last_menu_create = 'Tm_create_3') {もしスプラインなら}
Tm_create_3
END_IF
END_DEFINE】
(マクロ内の「{」から「}」までは、注釈として扱われます。)
6.メインメニューを改造します。
最初に作った、全てのマクロをファィルからメニューのマクロを探します。
このマクロを先ほどのファィルに追加します。
「MENU Colo0 Bcol5 '作 図' 'Tm_create_1' 1 1」の
Tm_create_1を Ma_last_menu_create に入れ替えます。
ファィルを保存して下さい。
調べ方
先ほどの「全てのマクロをファィル」から調べます。
ME10の画面の右端にある、メニューの言葉で検索します。
私は、「Dsp_menu」のマクロ名で見つかりました。
7.最後の仕上げです。
Startup 又は custom.mac に次の2行を追加します。
「LET Gl_last_menu_create Sm_create_1」<−最初のメニューの記憶(作図1)
「Ma_last_menu_create」<−−−−−−−−−ME10が最初に選択する、メニュー(作図1)
8.完成です。
1.環境ファィルをME10から作成します。
次のコマンドを入力してからファイル名(ENV.MAC等)を入力して、環境をファィル化します。
【SAVE_ENVIRONMENT】
2.ファイルの中を編集します。
(解りにくい場合は、ENV.MACRO
を参照して下さい。解る範囲でコメントが書かれています。)
3.ファィルを保存して下さい。
4.最後の仕上げです。
Startup 又は custom.mac に INPUT文
を追加します。
注 環境を指定するファィルですので、出来るだけ Startup にして下さい。
書き込む位置は、オリジナルの内容の最後で、後から書き込んだ内容の最初が良いでしょう。
5.再立ち上げで、変わらない様でしたら、この後のマクロで変更されていると考えられますので、コマンドをキーにして、マクロをの書き込まれているファィルを探して対策を行います。
(強引に変えたい場合は、 Startup の最後に INPUT文を移動して下さい。マクロが再び実行されると、元に戻りますが!)
ME10は、マクロが増えすぎると、メッセージを出さずに、マクロを終了させる事があります。
1.確認
INPUT文で、読み込んだ不要なマクロを読み込まないようにして、再起動させましょう
INPUT文の最初に { を記入し、最後に } を書き込んで、コメント化しましましょう。
こので正常にマクロが作動する場合は、マクロの入れすぎが考えられます。
この場合は不要なマクロを入れないか、外しましょう。
2.対応方法1
1.の確認で行ったように、INPUT文を読み込まないようにしましょう。
必要な時に読み込みましょう。
使い終わったら、外しましょう。(面倒ですが!)
3.対応方法2
必要な時に組み込んで使用すれば、外すマクロを作りましょう。
a.必要なマクロが入った、ファィルを全て、確認します。
b.組込用のマクロを作ります。
この中には、INPUT文を書き込み、マクロに入った、ファィルを読み込むようにします、
これらの文に引き続いて、実行するマクロ文を書き込みます。
c.取り外しのマクロを作ります。
この中には、INPUT文で読み込んだ、ファィルの中にある、マクロで取り外すマクロを調べます。
このマクロを取り外す文を書き込みます。
例:Ma_stamp_drawを 取り外したい場合。
DELETE_MACRO Ma_stamp_draw
d.実行するマクロの最後に、取り外しのマクロの文を書き込みます。
e.今まで実行していた、マクロの代わりに、組込用のマクロを実行します。
参考例:(ファィルにすれば、実行可能です。)
実行マクロファィルの内容(SAPLE.MAC)
DEFINE Ma_aa
DISPLAY 'test'
Ma_zz {書き込んだ取り外し用マクロ}
END_DEFINE
組込用マクロファィルの内容(IN_OUT.MAC)
DEFINE Ma_aa {組み込むマクロ}
INPUT SAPLE.MAC {読み込むマクロファィル}
Ma_aa {実行するマクロ}
END_DEFINE
DEFINE Ma_zz {取り外すマクロ}
DELETE_MACRO Ma_aa {INPUT文で組み込んだ SAPLE.MAC 内のマクロ}
END_DEFINE
例を実行してから、コマンドラインから Ma_aa と入力しても、エラーになります。
つまり、マクロは取り外されたことになります。
気をつけて作りました、使用してのトラブルに責任は持てませんが、
自由にお使い下さい。(伏見 表)
お願い:どなたかME10を条件無しで、「使っても良いよ」言われる方が有れば、連絡下さい。
宜しくお願いします。