ODA Drawings Explorerのメニューとツールバーのカスタマイズ

ODA Drawings Explorer (ODE) は、ODAデータベースの表示および編集用のQTベースのサンプルアプリケーションです。.dwgファイルのサポートが統合されており、OdDbDatabasePEおよび対応するブリッジモジュールを介して他の形式(DGN、PRCなど)のデータベースにアクセスできます。DGNおよび.dwgファイルの編集がサポートされています。アプリケーションのソースコードは、Drawing/Examples/Qt/OdaQtAppディレクトリにあります。

アプリケーションのユーザーインターフェースはコマンド処理に基づいています。Autodesk® AutoCAD®と同様に、メニューとツールバーのロードとアンロードは、CUILOADおよびCUIUNLOADコマンドを使用して実行されます(MENUコマンドはCUILOADの同義語です)。

アプリケーションのmain()関数で、リソースまたはファイルシステムからCUIファイルをロードすることもできます。

int main(int argc, char *argv[])
{
  ...
  QString qsMenuProfile = "qrc:/cui/odq_menu_base.cui",
          qsToolbarsProfile = "qrc:/cui/odq_toolbar_base.cui";
  getIConsole()->postponeCommand(QString("menu \"%1\"").arg(qsMenuProfile), 
                                 true, NULL, 100);
  getIConsole()->postponeCommand(QString("cuiload \"%1\"").arg(qsToolbarsProfile),
                                 true, NULL, 100);
  ...
}

"qrc:/"プレフィックスは、Drawing/Examples/Qt/OdaQtApp/data/data.qrcファイルで指定されたリソースからCUIファイルをロードするときに使用されます。

ODEのツールバーおよびメニューファイルは、ユーザーインターフェース用のAutoCAD CUI形式に基づいています。CUIファイルは、当初AutoCAD 2009のユーザーインターフェースカスタマイズ(CUI)エディターで作成されました。AutoCADのそれ以降のバージョンではCUIx形式(CUIファイルのセットを含むZIP圧縮されたディレクトリ)を使用するため、AutoCAD CUIエディターの代わりに好みのテキストエディターを使用することを強くお勧めします。ファイル形式はXMLに基づいており、非常にシンプルです。必要な変更の数は通常少ないです。

AutoCADと同様に、メニュー項目、アイコン、コマンドの場合、DIESEL評価器を介して事前処理が実行されます。たとえば、開いている図面の現在の状態でメニュー項目に対してgetIConsole()->evaluateDieselExpression(...);が'~'で始まるテキストを返した場合、対応するメニュー項目は無効になります(灰色でクリック不可)。空のテキストの場合、メニュー項目はスキップされます。

ODE dieselコマンドは、コンソールで結果を確認します。例:

diesel "$(if,$(or,$(<,$(strlen,$(getvar,filename)),1),$(and,$(eq,$(getvar,tilemode),0),$(eq,$(getvar,cvport),1))),~,)Top"

開いている図面がない場合、コマンドは「~Top」を返し、モデル空間タブが選択された開いている図面がある場合、「Top」を返します。

: DIESELコマンドをCUIファイルに追加する際は、次のXML文字をエスケープしてください。

 

元の文字

エスケープされた文字

&

&amp;

"

&quot;

'

&apos;

<

&lt;

>

&gt;

 

ODE は、OdDieselEvaluate() を呼び出すために OdDieselService の独自の実装を使用します。詳細については、Drawing/Examples/Qt/OdaQtConsole/OdqConsole.cpp の OdqDieselServiceImpl クラスを参照してください。必要に応じて、このクラスの getSystemVariable() の実装を変更することで、DIESEL 関数のセットを拡張できます。

詳細については、ODA ドキュメントを参照してください。

今すぐ始める

ODAソフトウェアを60日間無料でお試しください。
リスクなし、クレジットカード不要。

無料で試す