今回は、AutoCAD 2016 の API カスタマイズの互換性についてご紹介しておきます。AutoCAD 2016 は、いままでの製品サイクルと若干異なり、アドイン アプリケーションと図面ファイル形式の互換性が、いままでの製品サイクルと若干異なっています。
図面ファイル形式
AutoCAD 2016 の新機能 ~ その1 でもご案内したとおり、AutoCAD 2016/AutoCAD LT 2016 が採用する図面ファイル形式は、従来と同じ 2013 図面ファイル形式(DWG、DXF)となります。従来は、3 世代毎に図面ファイル形式を変更していたので意外に感じられる方もいらっしゃると思いますが、新機能による図面ファイル情報の拡張が必要なかった、というのがその理由です。なお、AutoCAD が「なぜ図面ファイル形式を変更するのか」という疑問について、過去のブログ記事 図面ファイル形式の更新について で触れていますので、興味をお持ちの方はご確認ください。
図面ファイル形式に変更はありませんが、図面ファイルに関して注意すべき変更が加えられています。この変更は、API カスタマイズされている方にも影響を及ぼす可能性がありますので、ここで簡単に触れておきたいと思います。
パスワード保護機能
AutoCAD 2016 では図面ファイル形式の変更はないのですが、図面パスワードの機能が削除されている点にご注意ください。この機能は、DWG ファイルを保存する際にパスワード設定を施して、その図面を開く際に適切なパスワードを入力しないと、図面を開くことが出来ない、というものです。
パスワード保護機能は、図面ファイルのセキュリティを向上させる目的で、AutoCAD 2004 の新機能として登場したものです。機能廃止に理由については、AutoCAD 2016 のオンラインヘルプで 説明 されています。
AutoCAD 2016 ベースの製品から、AutoCAD ファイルにパスワードを追加する機能が削除されました。これは、この機能が現代のセキュリティ標準を満たしていないためです。引き続きパスワードで保護されたファイルを開くことはできますが、新しいパスワードを追加することはできません。
オンラインで遭遇する脅威の複雑さは近年ますます増大しており、それに伴いセキュリティ要件も高まっています。次のいずれかの代替策を検討して、機密情報を含む図面ファイルを保護することをお勧めします。
- 図面ファイルを PDF ファイルとして出力し、この PDF にパスワードを追加する
- 図面を ZIP ファイルにパッケージ化し、安全な外部ユーティリティを使用してパスワードを追加する
- たとえば、256-bit AES テクノロジまたはこれと同等のテクノロジを使用するサードパーティのパスワードおよび暗号化ユーティリティを使用する
- ネットワーク権限により図面を保護する
- Autodesk 360 またはその他のクラウド プロバイダの権限により図面を保護する
なお、 以前のバージョンでパスワードを設定した図面ファイルを AutoCAD 2016 で開く場合には、従来と同じようにパスワード入力を促すダイアログが表示されます。もちろん、正しいパスワードを入力しないと、図面ファイルを開くことは出来ません。ただし、正しいパスワードで開いた図面ファイルを、AutoCAD 2016 で保存してしまうと、設定されていたパスワードは削除されます。AutoCAD 2016 のパスワード入力ダイアログには、この動作についての警告メッセージが表示されます。
過去に記載したブログ記事 図面ファイルのセキュリティ - パスワード保護 のように、API カスタマイズでパスワード保護機能を利用されてい場合には、新規にパスワード処理することは出来ません。
※ 図面ファイルのセキュリティ - デジタル署名 は、AutoCAD 2016 でも利用出来ます。
レンダリング エンジン
従来の NVIDIA mental ray® から AutoCAD 2016 で導入された新しいレンダリング エンジンは、RapidRT と呼ばれるオートデスク製のレンダリング エンジンです。mental ray とは互換性はありませんので、以前のバージョンで設定して、図面に保存されているレンダリング設定は、AutoCAD 2016 上では無視されます。
RapidRT では、mental ray に比べて露出オーバーな状態でレンダリングされるので、レンダリング時には、必ず、露出を調整することが推奨されています。この調整には、新しいイメージ ベース照明(IBL)の利用も含まれます。新旧 2 つのレンダリング エンジンの違いについては、AutoCAD 2016 のオンライン ヘルプから 現在のリリースと旧リリースのレンダリングの違い をご参照ください。
さて、新しいレンダリング エンジンを採用した AutoCAD 2016 には、残念ながら、RapidRT が適用されていないコマンドが存在します。ANIPATH[移動パス アニメーション] コマンドです。このコマンドは、レンダリング品質や表示スタイルを含むアニメーション動画を作成します。ただし、レンダリング品質を選択してアニメーション作成をおこなった場合、利用されるレンダリング エンジンは mental ray となります。将来的に、このコマンドも RapidRT 対応になるはずですが、このコマンドのために、AutoCAD 2016 は mental ray と RapidRT の 2 つのレンダリング エンジンを搭載することになっています。
2 つのレンダリング エンジンの切り替えは、隠しシステム変数 RENDERENGINE でコントロールすることが可能です。このシステム変数の値が 1 の場合には RapidRT、0 の場合には mental ray を AutoCAD が利用します。下記は、システム変数 RENDERENGINE の値によって変化する [ビジュアライズ] リボンタブの違いです。
ANIPATH コマンドでレンダリング品質のアニメーション動画を作成する場合には、RENDERENGINE システム変数の値を 0 にして、mental ray 環境でレンダリング品質を変更することが出来ます。なお、mental ray レンダリング エンジンと 隠しシステム変数 RENDERENGINE は、将来のバージョンで削除される予定です。あくまで過渡的なものであるため、ANIPATH コマンドでレンダリング品質のアニメーション動画を作成する意外には、使用はお勧めしません。
なお、ObjectARX や AutoCAD .NET API でレンダリング処置を実装されている場合、mental ray 用と RapidRT 用の API は全く異なります。このため、RapidRT 環境でも、カスタマイズ モジュールは mental ray の実装をそのまま実行することが出来ます。
API カスタマイズ資産
先にご紹介した図にあるように、AutoCAD 2016 は AutoCAD 2015 の API とバイナリ互換を持ちます。このため、AutoCAD 2015 用のアドイン アプリケーションをお持ちの場合には、そのまま AutoCAD 2016 にロードして実行することが出来ます。
ObjectARX や AutoCAD .NET API を用いて新たに AutoCAD 2016 でビルドされる場合には、開発環境は次のとおりです。
- Microsoft Visual Studio 2012 Update 4
- Microsoft .NET Framework 4.5
Visual Studio バージョンについては、ObjectARX アプリケーションのサポート環境として利用される場合を想定しているため、Visual Studio バージョンが出力可能な .NET Framework バージョンとは異なり、Visual Studio バージョンに含まれる Visual C++ バージョンを基準として設定している点に注意してください。
パッケージ ファイル(PackageContents.xml)や、システム レジストリを参照するインストーラは、AutoCAD 2016 のマイナーバージョン番号 R20.1 を参照するよう、変更を加える必要があります。
カスタム モジュールへのデジタル署名
AutoCAD 2016 では、API カスタマイズしたモジュール(ファイル)に対するセキィリティ レベルが強化されています。SECURITYOPTIONS[セキュリティオプション] コマンドで表示される [セキィリティ オプション] ダイアログが一新され、カスタマイズ ファイルのロードセキィリティを一括管理することが可能になっています。
不正なマルウェアやウィルスから設計環境を守るため、このダイアログで設定するセキュリティ レベルは、「高」に設定すべきです。ただし、カスタマイズ モジュールを開発する開発者にも、セキュリティ維持への作業が必要になります。それが、AutoLISP ファイルを含むカスタマイズ モジュールへのデジタル署名です。このデジタル署名によって開発元を明確にするだけでなく、モジュールが不正に変更されているかをチェックすることが出来ます。
もし、カスタマイズ モジュールにデジタル署名が埋め込まれていない場合、AutoCAD は、ファイルのロード時に次のような警告メッセージを表示して、ユーザに注意を促します。
デジタル署名は認証局から購入する必要があるため、社内利用用途のカスタマイズなど、必ずしも必須となるものではありません。逆に、有償アプリケーションを販売しているプロフェッショナル デベロッパには、必須となるはずです。
カスタム モジュールへのデジタル署名については、AutoCAD 2016 のオンライン ヘルプから カスタム プログラム ファイルにデジタル署名を行う から読み進んでいただくことをお勧めします。
By Toshiaki Isezaki
コメント