エンティティを選択および変更するためのMVVMパターンを作成するAutoCADの.netプロジェクトで作業しています。私は、選択したエンティティの情報/値をビューモデルに保存し、情報/値を変更し(WPF UIをポップアップし、コードを介して)、エンティティに変更を適用します。AutoCAD。ObjectIdを使用せずにオブジェクトIDを格納および取得する
問題は、エンティティに変更を適用する場合、「どのエンティティが変更を受け取るか」を知る必要があります。したがって、私はエンティティObjectIdを保存し、後でそれを取得するObjectId構造体を使用しないでAutoCADのacdbmgd.dllからUIプロジェクトが特定のバージョンのAutoCADに依存するようになります(はい、UIプロジェクトが動作する必要があります.netフレームワークのみ)。
私はこれを行う方法はありますか? objectIdをオブジェクトに格納してから、それをobjecIdにキャストしようとしましたが、うまくいきませんでした。助けてください。どうもありがとうございました。
データベース内の 'ObjectId'のタイプは何ですか? – grek40
私は本当にあなたの質問を理解していないと申し訳なく思っています。 1.「エンティティObjectId」は、変更したいエンティティのIDです。 2. "ObjectId"は、タイプがAutodesk.AutoCAD.DatabaseServices.ObjectIdです。それは構造体です。 これがあなたが知りたいことでない場合は、私に説明してください。私は初心者なので、分かりません。 –
あなたのUIプロジェクトが.Net Framework以外のものに依存できないと言うなら、これはUIプロジェクトがモデルプロジェクトに依存し、モデルプロジェクトがAutoCADに依存することは大丈夫ですModelProjectのインターフェイスはAutoCADとは独立しているため、UIプロジェクトはAutoCADに直接依存しません。それ以外の場合は、AutoCADとUIの間のデータ転送がどのように機能するのかを理解していない – grek40