1.3.1 マクロ図形の作成

マクロ図形を新規に作成する手順を次に示します。

[図データ]

上の手順に沿って,次に示すマクロ図形を作成します。

[図データ]

<この項の構成>
(1) 編集開始
(2) 引数定義
(3) 図形作成・変数定義
(4) 寸法対応付け
(5) 保管
(6) 編集終了
(7) メニューカスタマイズ

(1) 編集開始

マクロ図形の編集を開始します。用紙を新しく設定する必要はありません。

1. メニューバーの[マクロ(M)]メニューで[マクロ編集]を指定します。
[マクロ編集]の詳細については,「2.4 マクロ編集[マクロ(M)/マクロ編集]」を参照してください。
2. コマンドエリアに次のように入力します。

macz<Enter>

これがマクロ図形の名称になります。
[図データ]
3. マクロ図形かどうか問い合わせがあります。
マクロ図形の場合は次のように入力します。

f<Enter>

[図データ]
4. 図面サイズと尺度の問い合わせがあります。
次のように入力します。

A3<Enter>

これは,A3の用紙上にマクロ図形を作図することを示します。尺度を省略しているので,尺度は1:1になります。
[図データ]

(2) 引数定義

マクロ図形で使う引数を定義します。このマクロ図形では,長円の長さと幅,および円の間隔を実行時に変更できるようにします。

5. A3の用紙が設定され,マクロ編集ダイアログが表示されます。
6. マクロ編集ダイアログの[ツール]ボタンを押して,マクロ編集ツールメニューを表示します。
[図データ]
7. マクロ編集ツールメニューの[引数]ボタンを押してから,コマンドエリアに次のように入力します。

10.l.r(ナガサ)<Enter>

ここでは,長円の長さを入力する引数を定義しています。
最初の10はステートメントの最初の行であることを示します。
次のlは引数の名称です。
次のrは,この引数で入力するのが実数であることを示します。
最後の(ナガサ)は,このマクロ図形を展開するときナガサというガイダンスを表示してlへの入力を促すことを示します。
ただし,メニューカスタマイズの中でガイダンスを指定した場合は,その内容が優先されます。
[図データ]
8. コマンドエリアに次のように入力します。

100<Enter>

実行時に引数値を変更しなかった場合は,ここで入力した値で展開します。
[図データ]
9. マクロ編集ツールメニューの[引数]ボタンを押してから,コマンドエリアに次のように入力します。

20.w.r(ハバ)<Enter>

ここでは,長円の幅を入力する引数を定義しています。
最初の20はステートメントの2行目であることを示します。
次のwは引数の名称です。
[図データ]
10. コマンドエリアに次のように入力します。

50<Enter>

[図データ]
11. マクロ編集ツールメニューの[引数]ボタンを押してから,コマンドエリアに次のように入力します。

30.s.r(カンカク)<Enter>

ここでは,円の間隔を入力する引数を定義しています。
最初の30はステートメントの3行目であることを示します。
次のsは引数の名称です。
[図データ]
12. コマンドエリアに次のように入力します。

50<Enter>

[図データ]

(3) 図形作成・変数定義

引数を基に目的の形状を作図します。引数の値を操作して,作図するコマンドに与える必要がある場合は,変数を定義します。

形状の作成には,保管してあるマクロコマンドやマクロ図形も使えます。

13. ビジュアル・アイコンで親メニューの基本図形と子メニューの長円を指定します。
[図データ]
14. コマンドエリアの「長さ」に次のように入力します。

&l<;>

[図データ]
15. コマンドエリアの「幅」に次のように入力します。

&w<;>

[図データ]
16. 「中心位置」として,図面上の点(*)を指示します。
すると,長円が作図されます。
[図データ]
17. マクロ編集ツールメニューの[変数]ボタンを押してから,コマンドエリアに次のように入力します。

cnt.i=&l/&s<Enter>

ここでは,長円の中に作成する円の個数を変数で定義しています。
円の個数は長円の幅を円の間隔で除算した数を整数にしたものにします。
[図データ]
18. マクロ編集ツールメニューの[変数]ボタンを押してから,コマンドエリアに次のように入力します。

start.r=(&cnt-1)*(&s/2.0)<Enter>

ここでは,長円の中に作成する一つ目の円の位置を変数で定義しています。
円の位置は,長円の中心からの距離で示します。
[図データ]
19. マクロ編集ツールメニューの[REPEAT]ボタンを押してから,コマンドエリアに次のように入力します。

&cnt<Enter>

ここでは,ここから後の処理を円の個数の回数だけ繰り返すことを宣言しています。
[図データ]
20. マクロ編集ツールメニューの[変数]ボタンを押してから,コマンドエリアに次のように入力します。

d.r=&w/4.0<Enter>

ここでは,長円の中に作成する円の直径を変数で定義しています。
円の直径は,長円の幅の1/4とします。
[図データ]
21. ビジュアル・アイコンで親メニューの円と子メニューの中心指定円を指定します。
ここでは,長円の中の円を作成します。
[図データ]
22. 「中心点」で,オペランドメニューから「増分点」を選択します。
[図データ]
23. さらに,「交点」を選択します。
[図データ]
24. 長円の中心線を2本とも指示(#)してから,次の文字列を入力します。

&start<;>0.0<Enter>

[図データ]
25. 「直径・円周点」でオペランドメニューから「長さ」を選択します。コマンドエリアに次のように入力します。

&d<Enter>

すると,長円の中の円が作図されます。
[図データ]
26. マクロ編集ツールメニューの[変数]ボタンを押してから,コマンドエリアに次のように入力します。

start.r=&start-&s<Enter>

ここでは,円を作成する位置を増加させる数値を変数で定義しています。
直前に作成した円の位置から,円の間隔だけ離れた位置が,次に作成する円の位置になります。
[図データ]
27. マクロ編集ツールメニューの[CONTINUE]ボタンを押してから,コマンドエリアに次のように入力します。

y<Enter>

ここでは,処理の繰り返しの終了を宣言しています。
これで,長円の中の円の作成が完了しました。
[図データ]

(4) 寸法対応付け

形状に寸法を記入して,引数と対応付けます。引数と対応している寸法は,マクロ図形を展開するとき,寸法値を指示することで値を変更できます。

28. 切り替えメニューで寸法編集を選択してから,ビジュアル・アイコンで親メニューの2点間寸法,子メニューの2点間寸法を指定します。
ここでは,引数に対応付ける寸法を記入します。記入するのは長円の長さです。
[図データ]
29. 「点1」で,オペランドメニューから「交点」を選択してから,二つの要素を指示(#)します。
[図データ]
30. 「点2」で,オペランドメニューから「交点」を選択してから,二つの要素を指示(#)します。
[図データ]
31. 「位置」で,オペランドメニューから「延長点」を選択してから,要素を指示(#)します。
[図データ]
32. コマンドエリアに次の文字列を入力します。

5.0<Enter>

これで,長円の長さに寸法が記入されました。
[図データ]
33. マクロ編集ツールメニューの[寸法対応付]ボタンを押してから,引数名に次の文字列を入力します。

l<Enter>

[図データ]
34. 長円の長さに記入した寸法の寸法値を指示(#)して<Enter>を押します。
これで,長円の長さに記入した寸法値が引数l(ナガサ)と対応付けられました。
[図データ]

(5) 保管

作図されたものが最初に意図していた形状であることを確認したら,マクロ図形を保管します。

35. マクロ編集ダイアログの[保管]ボタンを押します。
36. 保管ダイアログが表示されます。マクロ名には最初に入力した名称が表示されているので,よければ[OK]ボタンを押します。
[図データ]
37. マクロ図形の場合は,図面上にマクロ図形を配置する基準になる点を問い合わせてきます。
オペランドメニューから「交点」を選択して,長円の中心線を2本とも指示(#)します。
これで,作成したマクロ図形が保管されました。
[図データ]

(6) 編集終了

マクロコマンドの編集を終了します。

38. マクロ編集ダイアログの[終了]ボタンを押します。
これで,マクロコマンドの編集を終了しました。

(7) メニューカスタマイズ

ここまでの手順だけでも作成したマクロ図形を展開できますが,頻繁に使うことを考えて,ビジュアル・アイコンとして登録します。

表示するビジュアル・アイコンとして,ビットマップファイルをあらかじめ作成して保管しておきます。インストールフォルダ¥hicad¥etc¥bitmapsに既にあるビットマップファイルを参照しながら,同じ大きさのビットマップファイルを作成します。作成したビットマップファイルは任意の名称で,インストールフォルダ¥hicad¥etc¥bitmapsに保管しておきます。ここではu_macz.bmpという名称にします。

39. メニューバーの[環境(C)]メニューで[メニューカスタマイズ...]を指定してメニュー編集ダイアログボックスを表示させます。
40. ビジュアルメニューを選択し,[編集]ボタンを押します。
[図データ]
41. ビジュアルメニュー編集ダイアログボックスが表示されます。
42. 切り替えメニューからユーザ1を選択します。
ユーザ1とユーザ2はユーザが自由に内容を編集できる切り替えメニューです。先ほど保管したマクロ「macz」をユーザ1の親メニューに登録します。
43. [新規追加]ボタンを押します。
[図データ]
44. 新規追加ダイアログボックスが表示されます。
45. メニュー種別から「親メニュー(コマンド)」を選択します。
これは,親メニューに直接コマンドを対応させるためです。
46. [OK]ボタンを押します。
[図データ]
47. ビットマップ設定ダイアログボックスが表示されます。
48. ビットマップファイルのリストからu_macz.bmpを選択して[OK]ボタンを押します。
これで,マクロ図形をどのようなビジュアル・アイコンで表示するか設定します。
[図データ]
49. コマンド設定ダイアログボックスが表示されます。
50. マクロ指定を選択して,リストからmacz.fを選択します。
マクロコマンドと区別するため,リスト中のマクロ図形には名称の後に.fという拡張子が付けられています。
51. [OK]ボタンを押します。
これで,先ほど選択したビットマップファイルに対応するマクロ図形を設定します。
[図データ]
52. ビジュアルメニュー編集ダイアログボックスに戻ります。
53. メニュー位置のリストから<maczを選択して,[コマンド編集]ボタンを押します。
[図データ]
54. コマンド編集ダイアログボックスが表示されます。
ここでは,マクロ図形で入力するオペランドの数などを設定します。
55. マクロ図形で入力できる項目は次の三つです。
  • 長円の長さ
  • 長円の幅
  • 長円の中の円の間隔
このほか,マクロ図形を図面上に配置する点も入力する必要があるので,オペランド数に4を入力します。オペランド数は,マクロ図形で定義した引数の数に配置点を加算した数と合っていなければなりません。
56. マクロ図形を誤って展開した場合でも図面を元の状態に戻せるよう,回復抑止モードの「回復できる」をチェックします。
57. [実行可能モード]ボタンを押します。
[図データ]
58. コマンド実行可能モードダイアログボックスが表示されます。
ここでは,どのような状態のときにマクロ図形を実行できるようにするかを設定します。
59. コマンドの実行できるモードで,次のモードをチェックします。
  • 用紙が一枚以上設定されている
  • マクロコマンド編集モード
  • マクロ図形編集モード
  • マクロ図形展開モード
用紙がなければ図形を配置できませんし,ほかのマクロの中でもこのマクロ図形を使えるようにするため,このように設定します。
60. [OK]ボタンを押します。
[図データ]
61. コマンド編集ダイアログボックスに戻ります。
62. [オペランド編集]ボタンを押します。
63. オペランド編集ダイアログボックスが表示されます。
ここでは,オペランドごとにパラメタ種別やガイダンスを設定します。
64. 一つ目のオペランドとして配置点を設定します。パラメタ種別で点指示パラメタをチェックします。
65. オペランドメニュー種別で点指示(マクロ図形配置)を選択します。
66. パラメタ省略のチェックを外します。
これは,配置点の入力が省略できないことを示します。
67. ガイダンスに配置点と入力します。
省略できないオペランドなので,[ ]は付けません。
68. [要素種別ピックモード]ボタンを押します。
[図データ]
69. 要素種別ピックモードダイアログボックスが表示されます。
70. ピック可能形状要素で文字列,塗りつぶし図形,およびシンボル要素以外のすべてをチェックします。
71. [OK]ボタンを押します。
[図データ]
72. オペランド編集ダイアログボックスに戻ります。
これで配置点のオペランドの編集が完了しました。
73. [[図データ]]ボタンを押します。
二つ目のオペランドは長さです。ほかの要素の長さも参照できるように,要素指示パラメタと文字入力パラメタをパラメタ種別でチェックします。
文字入力パラメタには実数を選択します。
74. オペランドメニュー種別で長さ指定を選択します。
75. ガイダンスに[長さ]と入力します。
76. [要素種別ピックモード]ボタンを押します。
[図データ]
77. 要素種別ピックモードダイアログボックスが表示されます。
78. ピック可能形状要素で直線だけをチェックします。
79. [OK]ボタンを押します。
[図データ]
80. オペランド編集ダイアログボックスに戻ります。
これで長さのオペランドの編集が完了しました。
81. [[図データ]]ボタンを押します。
三つ目のオペランドは幅です。ほかの要素の長さも参照できるように,要素指示パラメタと文字入力パラメタをパラメタ種別でチェックします。文字入力パラメタには実数を選択します。
82. オペランドメニュー種別で長さ指定を選択します。
83. ガイダンスに[幅]と入力します。
84. [要素種別ピックモード]ボタンを押します。
[図データ]
85. 要素種別ピックモードダイアログボックスが表示されます。
86. ピック可能形状要素で直線だけをチェックします。
87. [OK]ボタンを押します。
[図データ]
88. オペランド編集ダイアログボックスに戻ります。
これで幅のオペランドの編集が完了しました。
89. [[図データ]]ボタンを押します。
四つ目のオペランドは間隔です。ほかの要素の長さも参照できるように,要素指示パラメタと文字入力パラメタをパラメタ種別でチェックします。
文字入力パラメタには実数を選択します。
90. オペランドメニュー種別で長さ指定を選択します。
91. ガイダンスに[間隔]と入力します。
92. [要素種別ピックモード]ボタンを押します。
[図データ]
93. 要素種別ピックモードダイアログボックスが表示されます。
94. ピック可能形状要素で直線だけをチェックします。
95. [OK]ボタンを押します。
[図データ]
96. オペランド編集ダイアログボックスに戻ります。
これで間隔のオペランドの編集が完了しました。
97. オペランド編集ダイアログボックスに戻ります。
98. [OK]ボタンを押します。
99. コマンド編集ダイアログボックスに戻ります。
100. [OK]ボタンを押します。
101. ビジュアルメニュー編集ダイアログボックスに戻ります。
102. [OK]ボタンを押します。
103. メニュー編集ダイアログボックスに戻ります。
104. [OK]ボタンを押します。

これでマクロ図形の作成とビジュアル・アイコンの登録が完了しました。