C#ATIA

↑タイトル詐欺 主にFusion360API 偶にCATIA V5 VBA(絶賛ネタ切れ中)

親子フォルダをダイアログ表示で行き来する

業務で使用している2DCADは、客先とデータのやり取りする関係上
"AdvanceCAD" と言うCADです。(1年以上もらってない・・・)

http://www.ctc-g.co.jp/solutions/acad/
(Ver20からはWindowsのみの開発になったようです)

保守契約はとっくの昔に切ってしまい、Ver13を使用しているのですが
このCADはマルチプラットフォームなCADな為、画面全体やメニュー等が今時の
Winソフトらしからぬ状態です。(最近のものは良くなっているかも)

但し、マクロはそこそこ強力ですしマニュアルはびっくりするほど充実して
いるのですが、ネット上で情報が乏しいのが本音です。

ですが、(有)喜多技研さんが大量にマクロのサンプルをUpして
くださっています。
http://www.kitagiken.com/index.html


マクロも大量になってくると呼び出し自体が面倒になってきます。
以前、喜多技研さんのサイトの"究極の(?)Acad操作術"の部分の
"■アルパイン設計提供のマクロ3つALP1.zip" にチラッと
記載されているのですが、マクロのフォルダ内に子フォルダを作成した際
の呼び出し方法です。 正直知りませんでしたよ。

でも、面倒くさがり屋の僕は、イチイチ必要以上なコマンドを
打ち込みたくないんです。 思い付きで試したら上手くいったので
ご紹介。

仮に、ACAD.SETファイルに設定してあるマクロ用のフォルダに
"HOGE"フォルダがあるとします。
f:id:kandennti:20151125175030p:plain
このHOGEフォルダ内のマクロを表示させる為に、このようなマクロを作成します。
(名称は 0_ToHOGE.MAC としています)

/* AdvanceCAD_macro  0_ToHOGE.MAC*/
/* #TITLE# マクロHOGEメニューを開きます */
MACRO "HOGE/*" <CE>

要は、コマンド入力する文字をサブマクロの呼び出しとして記述している
だけです。 続いて、HOGEフォルダ内には、元のフォルダに戻る為の
マクロも用意しておきます。

/* AdvanceCAD_macro  0_ToMAIN.MAC*/
/* #TITLE# マクロメインメニューに戻ります */
MACRO "*" <CE>

これだけで、マクロ用のダイアログ上で子フォルダ内を行き来する事が出来ます。
(但し、Win版のダイアログを使用するオプションON状態のみです)