AutoCAD 2023 のカスタマイズ互換性

前バージョンから AutoCAD 2023(Windows 版)への互換性をまとめてご案内しておきたいと思います。まず、AutoCAD 2023 の概要については次のブログ記事をご確認ください。

AutoCAD 2023 の新機能 ~ その1

AutoCAD 2023 の新機能 ~ その2

AutoCAD 2023 の新機能 ~ その3

図面ファイル形式

AutoCAD 2023、AutoCAD LT 2023 では、引き続き、2018 図面ファイル形式 を採用しています。新規図面を作成して保存する際には、この 2018 図面ファイル形式が既定値となります。

もちろん、旧バージョンの図面ファイル形式を開いたり、保存したりする機能も従来通りです。

図面読み込み:

  • すべての AutoCAD バージョンで作成した DWG ファイル (非TrustedDWG を除く)
  • すべての AutoCAD バージョンで作成した DXF ファイル

図面の保存:

  • R14, 2000, 2004, 2007, 2010, 2013, 2018 形式の DWG ファイル
  • R12, 2000, 2004, 2007, 2010, 2013, 2018  形式の DXF ファイル

アドイン アプリケーションの互換性

AutoCAD 2023 は、AutoLISP/Visual LISP、ActiveX オートメーション(COM)、ObjectARX、.NET API、JavaScript API の 5  つの AutoCAD API をサポートします。前バージョンの AutoCAD 2022 からは バイナリ互換リリース となるため、同バージョン用に作成されたアドイン アプリケーションは、そのままロードして実行できるはずです。ただし、念のため、動作チェックすることをお勧めしています。

AutoCADのバージョンの歴史を示すタイムラインで、各年にリリースされたバージョンと互換性のあるファイル形式が表示されている。

過去バージョンと、その前バージョンからの互換状況、また、移植に必要となる基本情報は次のとおりです。

AutoCADバージョンごとのAPI互換性やDWG形式の情報を示す表。

サポート コンパイラ

ObjectARX と .NET API でお使いいただくコンパイラは、Visual Studio 2019 16.11.5 以降をサポートしています(ObjectARX は Visual Studio 2019 16.11.5)。Visual Studio 2019 のインストール時には、多数のインストール オプションの指定が必要です。ObjectARX を使った開発をする場合には「C++ によるデスクトップ開発」を、.NET API を使った開発をする場合には「.NET デスクトップ開発」をそれぞれ選択してください。

Visual Studio 2019のインストールウィンドウ、開発機能に関する設定を示す画面。

ObjectARX

前バージョンの AutoCAD 2022 用に作成したアドイン アプリケーションをお持ちで、AutoCAD 2022 で使用する必要がない場合には、https://www.autodesk.com/developer-network/platform-technologies/autocad/objectarx から ObjectARX SDK for AutoCAD 2023 をダウンロード、参照して新しい開発環境となる Visual Studio 2019 で再ビルドすることをお勧めします。それ以前の既存プロジェクトの移植では、この作業が必須となります。プロジェクトに設定する「プラットフォーム ツールセット」は Visual Studio 2019(v142) になります。

Visual Studio 2019のプロジェクト設定画面のスクリーンショット

また、リンクするスタティック リンク ライブラリは、ObjectARX SDK for AutoCAD 2023 の *24.lib に変更してください。

ObjectARX でカスタム オブジェクトを定義していて、COM サーバーとしてオブジェクト、メソッド、プロパティを COM で公開している場合には、.idl ファイルでインポートしているタイプライブラリも acax24enu.tlb ないし、acax24jpn.tlb に置き換える必要があります。

廃止、変更されたクラスや関数については、ObjectARX SDK for AutoCAD 2023 の docs フォルダの Reference Guide(arxref.chm)から ObjectARX Migration Guide セクション、または、オンラインヘルプから 変更点 をご確認ください。 

AutoCAD 2023のObjectARX移行ガイドの画面キャプチャ。左側にはナビゲーションメニューがあり、右側にはオブジェクトの移動に関する情報が表示されている。

AutoCAD 2021 以前からの互換情報については、AutoCAD 2023 のオンライン ヘルプ、ObjectARX の互換性 もご確認ください。

AutoCAD 2023 用の ObjectARX Wizard は、https://www.autodesk.com/developer-network/platform-technologies/autocad ページ下部からダウンロードすることが出来ます。ただし、Windows 10 でのインストールには注意が必要です。詳細は、このページ下部の  Windows 10 での  Wizards の問題 をご確認ください。

また、正しくインストールされた  ObjectARX Wizard を使用した場合でも、Wizardの [MFC Support] 画面で Extension DLL using MFC shared DLL(recommended for MFC support) オプションにチェックしてプロジェクトを作成した場合、プロジェクト作成直後に作成されたプロジェクトがロードされず、[新しいプロジェクト] ダイアログが再度表示されてしまう場合には、お使いの Visual Studio 2019 に MFC コンポーネントがインストールされていない可能性があります。MFC コンポーネントは、コントロール パネル >> プログラムのアンインストール から、Microsoft Visual Studio Installer、または、Visual Studio 2019 を選択後、「変更」をクリックすると、Visual Studio 2019 のインストール後でも確認やインストール指示が可能です。

Visual Studio 2019のインストール設定画面で、異なるワークロードと個別コンポーネントの選択肢が表示されている。

.NET API

サポートされる .NET Framework は .NET Framework  4.8 です。前バージョンの AutoCAD 2022 用に作成したアドイン アプリケーションをお持ちで、AutoCAD 2022 で使用する必要がない場合には、AutoCAD 2023 のアセンブリ ファイルを参照後、再ビルドをお勧めします。 ターゲット フレームワークに .NET Framework 4.8 のまま変更はありません。

AutoCAD 2020 以前からの移植で ターゲット フレームワークに .NET Framework 4.8 に指定する場合には、Visual Studio Installer から、Visual Studio 2019 の [個別のコンポーネント] で「.NET Framework 4.8 Targeting Pack」を先にインストールしておく必要があります。

Visual Studio 2019のインストール画面で、.NET Framework 4.8 Targeting Packが選択されている様子を示すスクリーンショット。

一部のクラスやメソッド、プロパティが変更されている場合がありますので、ソースコードに適切な変更を加える必要があります。

廃止、変更されたクラスやメソッド、プロパティについては、ObjectARX SDK for AutoCAD 2023 の docs フォルダの Managed Class Reference Guide(arxmgd.chm)から .NET Migration Guide セクションセクション、または、オンラインヘルプから 変更点 をご確認ください。 

AutoCAD 2023の.NETマイグレーションガイドが表示された画面のスクリーンショット.

なお、.NET API の開発者用ガイドは、AutoCAD 2023 のオンライン ヘルプ内で Managed .NET 開発者用ガイド(.NET) として日本語化されたドキュメントを参照することが出来ます。

AutoCAD 2021 以前からの互換情報については、同じく、Managed .NET の互換性 もご確認ください。

AutoCAD 2023 用の .NET Wizard は、https://www.autodesk.com/developer-network/platform-technologies/autocad ページ下部からダウンロードすることが出来ます。ただし、Windows 10 でのインストールには注意が必要です。詳細は、このページ下部の Windows 10 での  Wizards の問題 をご確認ください。

ActiveX オートメーション(COM)

前バージョン用に作成されたアドイン アプリケーションは、そのままロードして実行できるはずです。こちらも、可能であれば、新しいバージョンのタイプライブラリを参照しなおしてテストすることをお勧めします。AutoCAD 2021 以前からの互換情報を含め、タイプライブラリの詳細は、AutoCAD 2023 のオンライン ヘルプ、VBA と ActiveX の互換性 をご確認ください。

VBA をお使いの場合、VBA コンポーネントは http://www.autodesk.com/vba-download から参照可能な Autodesk  Knowledge Network 記事からダウンロードすることが出来ます。

AutoLISP

Visual Studio Code での AutoLISP 開発 でご案内しているとおり、AutoCAD 2023 でも、従来の Visual LISP エディタが Visual Studio Code に置き換えられていますのでご注意ください。AutoCAD 2023 でも MAKELISPAPP[LISP アプリを作成] コマンドを使って、配布に適したアプリケーション ファイル(.vlx ファイル)にコンパイルすることが出来ます。コンパイル時には、複数の AutoLISP ファイル(.lsp ファイル)を 1 つの .vlx ファイルにすることが出来るだけでなく、同時にバイナリ ファイル化されるので、ソース コードを保護することも出来ます。なお、コンパイル時には、従来通り、ウィザードが用意されています。

AutoCAD 2021 以前からの互換情報については、AutoCAD 2023 のオンライン ヘルプ、AutoLISP の互換性 もご確認ください。

JavaScript

JavaScript ライブラリには変更はありませんので移植作業は不要です。

その他、アドイン アプリケーションの互換性に関する情報は、AutoCAD 2023 のオンライン ヘルプをご参照ください。  


Windows 10 での  Wizards の問題

オートデスクは、AutoCAD アドイン開発用に Visual Studio のスケルトン プロジェクトを作成する Wizards を、.NET API 用と ObjectARX 用にそれぞれ提供しています。両 Wizards は、http://www.autodesk.com/developautocad から入手することが出来ます。

Windows 10 上での ObjectARX Wizards のインストールや動作不良については、次の Autodesk Knowledge Network 記事をご確認ください。

AutoCAD API:ObjectARX Wizards が動作しない

ご注意:AutoCAD 2021 開発用に AutoCAD API:Visual Studio 2019 に .NET Wizards が認識されない の Autodesk Knowledge Network 記事に沿って _34EEC1CC133F4F489A28FCAE47DA4684.zip ファイルと _71ED6AA364074B9BAE8E4BDC8E024143.zip ファイルを C:\Users\<user name>\ドキュメント\Visual Studio 2019\Templates\ProjectTemplatesフォルダ(または C:\Users\<user name>\OneDrive\ドキュメント\Visual Studio 2019\Templates\ProjectTemplates フォルダに配置している場合、AutoCAD 2023 用の .NET Wizard が識別されない場合があります。AutoCAD 2023 用の .NET Wizard のインストール前に _34EEC1CC133F4F489A28FCAE47DA4684.zip ファイルと _71ED6AA364074B9BAE8E4BDC8E024143.zip ファイルを削除してください。

AutoCAD .NET API の参照アセンブリ

以前、NuGet と AutoCAD.NET API のブログ記事でもご案内したのと同様に、AutoCAD 2023 上で .NET API で使用する際に参照するアセンブリは、Visual Studio 上の NuGet パッケージ マネージャか、オンラインで入手することも出来ます。

https://www.nuget.org/packages/AutoCAD.NET

By Toshiaki Isezaki


Comments

Leave a Reply

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading