2017-06-02 9 views
0

私はJS forgeビューアーを使用しています。フォーワービューアー:部屋の中のアセットを拡大する(アセットの前面)

私は建物内の資産を選択し、その資産がある部屋の内部でカメラで拡大しようとしています。回転、 enter image description here

自動に資産のフロントを検出することが可能である(正確には外から)私は

let boundingBox = this.viewer.utilities.getBoundingBox(false); this.viewer.navigation.fitBounds(false, boundingBox, true);

を使用しようとしています。しかし、これは正しい方向をズームインではなくなりますカメラをこれに合わせてズームインしますか?

+0

現在のところ、私の親指に基づいて利用できない場合があります。部屋の形状は翻訳作業中に削除されます。私は開発チームとこれを確認し、A.S.A.P.に戻ってきます。 –

+0

@EasonKangよろしくお願いします。前もって感謝します。 – Rockernaap

答えて

1

長い間お待たせしました。デベロッパーチームによって、Revitルームはモデルデリバティブサービスの翻訳手順で翻訳されないことが確認されています。したがって、ルーム関連の関数またはAPIは、現在のForgeビューアではサポートされません。

さらに、私たちはあなたのAPIリクエストを見つけ出し、部屋内の資産を拡大し、Forge tech。で開発されたBIMアプリケーションにのみ適しています。この要求に基づいてさまざまな種類のユースケースがあるかもしれません。したがって、Forge Viewerでは、リクエストの一般的な関数やAPIを設計するのは難しいです。したがって、Forge Viewerの将来のリリースではサポートされない可能性があります。

しかし、私たちは自分でこの機能を実装するためにあなたのような開発者を奨励し、ここにあなたのための回避策です:

  1. あなたのRevit 部屋要素のみ Navisworksの経由でプロジェクト、およびアップロードを開き、翻訳のために鍛造するには、この結果をあなたのビューアアプリの二次モデルとしても使用します。 [ここにいくつかの情報があります。私の同僚の部屋について(link)]。
  2. アプリ内で選択したアセットのフラグメントを純粋なTHREE.Geometryに変換します。 [メッシュ情報にアクセスする例です。 Forgeビューア(link)の]。
  3. step. 2THREE.GeometryBoundingSphereを計算し、球の中心を選択したアセットの中心点として扱います。
  4. BoundingSphereセンターのルームジオメトリでThree.js raytracingを実行すると、カメラと選択したアセットの間に妨害のない光線がいくつか見つかります。 [Forgeビューア(link)でThree.jsレイトレースを使用する方法を示す例です。
  5. 視線としてstep. 4から届いた光線を処理します。
  6. step. 5から目的の視線を選択して、カメラの位置、ターゲット、ピボットを再計算します。


P.S.これは回避策に過ぎず、正式な解決策ではありません。あなた自身の責任において使用する必要があります。

関連する問題