お知らせ

--------------------------------------------------

プログラム作成/コンサルティングの申し込みはこちら

--------------------------------------------------

2010年12月28日火曜日

.NET - 2 つの図面のシステム変数の違いを見つける(AutoCAD 2011)


『なんでか他の図面では問題ないんだけど、この図面だけ動きがおかしいんだよね』 なんてときには、図面に保存されているシステム変数の値が原因ってことがあります。
そんな時には、問題ない図面とシステム変数を比較してみるのがいいと思います。

ということで、簡単に比較できるようなツールを .NET の勉強も兼ねて作ってみました。


以前、2つの図面のシステム変数の比較(AutoCAD 2011) で、『.NET の ReadDwgFile メソッドを使用して、2つの図面のシステム変数の比較ができるかもと言ったのですが、チャレンジしてみたのですが、できませんでした。』って言ってたんですが、できました。

システム変数を取得するには Application.GetSystemVariable メソッドを使うしかないと思ってたんですが、Database Properties にシステム変数があるってことに気が付きました。

Database Properties にあるシステム変数をひとつずつ比較してみたので、結構時間がかかりましたが何とかできました。

ただ、システム変数 SKPOLY に関しては、ちゃんと判断できないみたいです。
というのは、SKPOLY には 0、1、2 のどれかの値が設定されるんですが、Database Properties では、True か False しか判断できないのです。
なので、0 は False で判断できるんですが、1 と 2 は両方とも True になっちゃうので、どちかわからないです。

しょうがないので、今回のプログラムでは、True のときは、『1 or 2』 って表示されるようにしました。


DLL ファイルは ここ にあります。

使い方とかは、動画を作ったので見てみてください。

0 件のコメント:

コメントを投稿