BIM でビュー固有のグラフィックスを設定する

ODA BIM SDK を使用すると、ビューを取得し、面とエッジの色、塗りつぶしパターン、線幅、その他のパラメーターの表示を簡単にオーバーライドできます。オーバーライドは、要素、要素のカテゴリ、およびフィルター条件を通過した要素に適用されます。

ビューの選択された表示モードは、オーバーライドに影響します。シェーディングモードでは、マテリアルが設定されていても、オーバーライドは面とエッジに適用されますが、リアルなモードの面では、マテリアルのテクスチャが優先されます。

OdBmDBView クラスには、オーバーライドされたグラフィックスのデータにアクセスするための次のプロパティがあります。

  • OdBmAdHocOverridesPtr getAdHocOverrides() const;
  • OdBmFilterOverridesPtr getFilterOverrides() const;
  • OdBmGraphicOverridesPtr getGraphicOverrides() const;

結果のオブジェクトには、要素、カテゴリ、またはフィルター条件の ID と、オーバーライドされたグラフィックスデータのマップが含まれています。

オーバーライドされたグラフィックスへのアクセスを簡素化するために、OdBmDBView には次の3つのメソッドがあります。

  • OdBmOverrideGraphicSettingsPtr getCategoryOverrides(const OdBm::BuiltInCategory::Enum&) const
    ビュー内のカテゴリのグラフィックオーバーライドを返します。入力パラメーターは組み込みカテゴリ ID です。
  • OdBmOverrideGraphicSettingsPtr getElementOverrides(const OdBmObjectId&) const
    ビュー内の要素のグラフィックオーバーライドを返します。入力パラメーターは要素 ID です。
  • OdBmOverrideGraphicSettingsPtr getFilterOverrides(const OdBmObjectId&) const;
    ビュー内のフィルターのグラフィックオーバーライドを返します。入力パラメーターはフィルター要素 ID です。

これらのメソッドは、渡されたパラメーターに対してグラフィックスオーバーライドがない場合、空のポインターを返します。

OdBmOverrideGraphicSettings クラスには、面とエッジのグラフィックスオーバーライドのデータにアクセスするためのメソッドがあります。

  • OdInt32 getDetailLevel() const; // ビューでオーバーライドされた詳細レベルを返します
  • bool getHalftone() const; // ハーフトーンオーバーライドの値を返します
  • bool getProjFillPatternVisible() const; // 面に対してオーバーライドされた塗りつぶしパターンの可視性を返します
  • bool getCutFillPatternVisible() const; // カットサーフェスの塗りつぶしパターンの可視性を返します

次のメソッドは OdBmObjectPtr を返します。これは適切なオブジェクトにキャストする必要があります。

  • OdBmObjectPtr getProjPenNumber() const; // OdBmGPenNumberOverriderPtr を返します - 投影サーフェスの線幅
  • OdBmObjectPtr getCutPenNumber() const; // OdBmGPenNumberOverriderPtr を返します - 切断サーフェスの線幅
  • OdBmObjectPtr getProjLinePattern() const; // OdBmGLinePatternOverriderPtr を返します - 投影サーフェスの線種
  • OdBmObjectPtr getCutLinePattern() const; // OdBmGLinePatternOverriderPtr を返します - 切断サーフェスの線種
  • OdBmObjectPtr getProjPenColor() const; // OdBmGStyleColorOverriderPtr を返します - 投影サーフェスの線色
  • OdBmObjectPtr getCutPenColor() const; // OdBmGStyleColorOverriderPtr を返します - 切断サーフェスの線色
  • OdBmObjectPtr getProjFillPattern() const; // OdBmGFillPatternOverriderPtr を返します - サーフェスの塗りつぶしパターン
  • OdBmObjectPtr getCutFillPattern() const; // OdBmGFillPatternOverriderPtr を返します - 切断サーフェスの塗りつぶしパターン
  • OdBmObjectPtr getProjFillColor() const; // OdBmGFillColorOverriderPtr を返します - 投影サーフェスの塗りつぶし色
  • OdBmObjectPtr getCutFillColor() const; // OdBmGFillColorOverriderPtr を返します - 切断サーフェスの塗りつぶし色
  • OdBmGSurfacesTransparencyOverriderPtr getSurfacesTransparency() const; // 投影および切断サーフェスの透明度を返します

ビューでのグラフィックオーバーライドの結合

要素のグラフィックオーバーライドが要素、カテゴリ、およびフィルター条件によって設定されている場合、結果のオーバーライドは、要素、カテゴリ、フィルターの優先順位で結合されます。

今すぐ始める

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

無料で試す