update_select_data関数について

2010年 02月 18 日 15:07:25

AutoCAD/LTのエンティティ情報を取得、更新する関数の中で、最後に図面上に更新情報を反映させるupdate_select_data関数はいかなる場合も成功するとは限りません。

ユーザ様から斜めになった寸法線の情報更新がうまくいかないというメールをいただき、こちらでテストしたところ確かにうまくいかないことを確認いたしました
update_select_data関数は既存図面に新たなるDXFファイルの情報をマージします。このときにAutoCAD LTが読み込んだDXFファイルに問題があると認定すると読み込みを中断してしまうのです。しかしdxfinコマンドではなくopenコマンドで問題のDXFファイルを読み込ませると、問題なく読める場合があります。寸法線の情報のあるDXFファイルはこれに当たります。

このようにupdate_select_data関数はAutoCADLT側でLTCustomizerが出力したDXFファイル入力を拒否されてしまうと正常動作しません。

この問題の対処方法は、

1.アプリケーションがLTCustomizerのselect関数、get_select...関数を使って変更すべきエンティティ情報を取得します。

2.アプリケーションが取得したエンティティ情報を変更して、それをLTCustomizerのcommand2,command関数か、もしくはLTCustomizerのスクリプト関数を使って、AutoCAD LTのコマンド(寸法線情報の更新なら_dimlinearと_dimedit)を実行させます。つまりDXFファイル経由で図面を更新しない方法にするのです。



« 前のページ - 次のページ »
---------------------------------------------