最近の AutoCAD は、製品全体をインストールせずに Language Pack(言語パック)を導入することで、メニューやコマンド メッセージに表示する言語を変更することが出来ます。これによって、多国籍企業などで AutoCAD の操作を担当される方の母国語に合わせて、製図や 3D モデリングをおこなえるようになっています。
一方、API カスタマイズ プラットフォームとして AutoCAD を見た場合、Launguage Pack を適用した AutoCAD の言語に合わせて、ロードするアドイン アプリケーションや表示するメニューの言語表示を切り替えたい、と言う要望も存在します。
AutoCAD には、その歴史上、数多くの アドイン ロード メカニズム が存在しますが、上記ような要望には、バンドル パッケージを使った自動ローダー の利用をお勧めします。まず、バンドル パッケージの詳細については、次のオンラインヘルプをご一読ください。なお、この方法は、AutoCAD 2013 以降のバージョンでお使いいただくことが出来ます。
概要 - プラグイン アプリケーションをインストール、アンインストールする
例: フォルダを使用してプラグインのコンポーネントを編成する
ここでは、日本語版 AutoCAD 2017 と英語 Language Pack と適用した英語版 AutoCAD 2017 用に、ロードする .NET アプリケーション(.dll)とカスタマイズ ファイル(.cuix)が自動的に切り替える例をご紹介します。
言語の自動切換えを実現するために、次のファイルを個別に用意するものとします。
- MyCLines_JPN.cuix
日本語表記のリボン パネルとコマンド ボタン定義を含むカスタマイズ ファイル - MyCLines_ENU.cuix
英語表記のリボン パネルとコマンドボタン定義を含むカスタマイズ ファイル - AutoCAD CSharp plug-in_JPN.dll
日本語のコマンド プロンプトを含む MYLINES カスタム コマンド定義を含む .NET アドイン アプリケーション - AutoCAD CSharp plug-in_ENU.dll
英語のコマンド プロンプトを含む MYLINES カスタム コマンド定義を含む .NET アドイン アプリケーション
これらのファイルは、次のようなフォルダ構造でC:\Program Files\Autodesk\ApplicationPlugins\MyCLines.bundle フォルダ下の Contents フォルダに格納されるものとします。
また、MyCLines.bundle フォルダ直下には、次の PackageContents.xml ファイルを配置します。 PackageContents.xml は、自動ローダーのパッケージ バンドルで条件分岐に使用される XML ファイルです。メモ帳などのテキストエディタでも編集することが出来ます。
<?xml version="1.0" encoding="utf-8"?>
<ApplicationPackage
SchemaVersion="1.0"
AppVersion="1.0"
Author="Autodesk Japan"
Name="Centerline"
AutodeskProduct="AutoCAD"
FriendlyVersion="1.0.0"
ProductType="Application"
SupportedLocales="Enu|Jpn"
OnlineDocumentation="http://adndevblog.typepad.com/technology_perspective"
Description="Draw Centerline"
UpgradeCode=""
ProductCode="">
<CompanyDetails
Name="Autodesk Japan"
Url="http://adndevblog.typepad.com/technology_perspective"
Email=""
/>
<Components Description="Centerline Tool">
<RuntimeRequirements
OS="Win64"
Platform="AutoCAD"
SeriesMin="R21.0"
SeriesMax="R21.0"
/>
<ComponentEntry
AppName="Centerline Tool"
ModuleName="./Contents/AutoCAD CSharp plug-in_ENU.dll"
ModuleNameJpn="./Contents/AutoCAD CSharp plug-in_JPN.dll"
/>
<ComponentEntry
ModuleName="./Contents/MyCLines_ENU.cuix"
ModuleNameJpn="./Contents/MyCLines_JPN.cuix"
/>
</Components>
</ApplicationPackage>
この PackageContents.xml ファイルの黄色く反転した部分が 、先のオンラインヘルプ サポートされるロケール コード リファレンス で説明されているロケールによる分岐をすることがわかります。
ここまでの環境と整えて、日本語版と英語版の AutoCAD 2017 を起動すると、それぞれ、製品の言語に一致する .NET アドイン アプリケーションとカスタマイズ ファイルをロード出来ることがわかります。
ここでご紹介したファイルは、下記のリンクでダウンロードすることが出来ます。C:\Program Files\Autodesk\ApplicationPlugins 下にフォルダ付きで展開してお試しください。
なお、この例では、サポートする AuoCAD バージョンを 64 ビット版 AutoCAD 2017 に限定しています。AutoCAD 2016 など、他のバージョンではお試しいただけません。もし、他のバージョンでお試しいただく場合には、SeriesMin="R21.0" (サポート対象の最下位バージョン)や SeriesMax="R21.0" (サポート対象の最上位バージョン)を、サポートする AutoCAD バージョンに合わせて書き換える必要があります。AutoCAD バージョンに合わせた値(システム レジストリ キー)は次のとおりです。
AutoCAD 2017 : R21.0
AutoCAD 2016 : R20.2
AutoCAD 2015 : R20.1
AutoCAD 2014 :R20.0
同様に、32ビット版もサポートしたい場合には、 OS="Win64" 部分を OS="Win32|Win64" にする必要があります。
Language Pack を使った AutoCAD でカスタマイズされている方は、ぜひ参考にしてみてください。
By Toshiaki Isezaki
コメント
コメントフィードを購読すればディスカッションを追いかけることができます。