3D図面AR表示で入れ子ブロックの変換重複が起こる仕組み
絶対座標を持つ3D図面をAR表示したとき、構造物全体が一定方向へずれる、一部の部材だけが大きく移動する、モデルの向きが合わない、同じ形状が少しずれて二重に見えるといった問題が発生することがあります。現地で3D図面と施工対象を重ねて確認する実務では、こうした位置ずれが起きると、設計位置の確認や離隔の把握、施工前の干渉確認を安定して行えません。
AR表示の位置ずれには、測位状態、端末の姿勢推定、方位、座標系、高さ基準など複数の要因があります。その中でも、特定の部材群だけが一定量ずれる場合や、同じブロックを配置した箇所で似たずれ方が繰り返される場合は、入れ子ブロックの変換重複を疑う必要があります。
入れ子ブロックとは、あるブロックの中に別のブロックが配置され、さらにその内部に部材ブロックが含まれているような階層構造です。たとえば、構造物全体を表す最上位ブロックの中に工区単位のブロックがあり、その内部に柱、梁、配管、設備、仮設物などのブロックが配置されている状態が該当します。
ブロックには、形状そのものを定義する情報と、その形状をどの位置、向き、大きさで配置するかを示す変換情報があります。主な変換情報は、X、Y、Z方向の平行移動、各軸まわりの回転、尺度、基準点です。子ブロックの最終位置は、子ブロック自身の変換だけでは決まりません。子ブロックの変換に親ブロックの変換が加わり、さらに上位のブロックがあれば、その変換も順番に継承されます。
正常な処理では、各階層の変換が一度ずつ適用されます。しかし、3D図面の書き出しや中間形式への変換、ブロックの展開、AR表示用データの生成などの途中で、すでに形状座標へ反映された変換が再び適用されることがあります。これが変換重複です。
たとえば、親ブロックがX方向へ100メートル移動し、その内部の子ブロックが親原点からX方向へ10メートルの位置に配置されている場合、正常な最終位置は基準原点から110メートルです。ところが、親ブロックの100メートル移動が頂点座標へ反映された後に、親ブロックの変換情報がもう一度適用されると、子ブロックは210メートル付近へ表示されます。
同じ問題は回転や尺度でも発生します。30度の回転が二度適用されれば、最終的には60度回転したように見えます。単位を合わせるための尺度が二度適用されれば、モデルが極端に大きくなったり、小さくなったりします。
絶対座標を扱う3D図面では、さらに注意が必要です。大きな座標値をそのままAR表示処理へ渡すのではなく、現場付近にローカル原点を設定し、絶対座標から原点座標を差し引く処理が行われることがあります。この原点変換と入れ子ブロックの平行移動が混同されると、ずれ量が非常に大きくなります。
入れ子ブロックの変換重複を探すには、AR画面上でモデルを手動移動して合わせるのではなく、ブロック階層、平行移動、回転、尺度、絶対座標、ローカル原点を分けて確認することが大切です。ここからは、原因を絞り込むための6つのチェックを順番に解説します。
チェック1 ブロック階層と親子関係を整理する
最初に行うべき確認は、ずれている部材がどのブロックに含まれ、そのブロックがどの親ブロックへ配置されているかを整理することです。階層構造を把握しないまま最終座標だけを確認しても、どの段階で変換が重複したのか判断しにくいためです。
まず、AR表示で位置が合わない部材を一つ選びます。その部材が直接持っている座標だけでなく、部材を含む子ブロック、子ブロックを含む親ブロック、さらにその上位にあるブロックまでさかのぼります。構造物全体、工区、階、区画、設備、部品というように、実際の管理単位に合わせて階層を確認します。
このとき、ブロック定義とブロックの配置情報を区別する必要があります。ブロック定義には、原点を基準にした形状座標が保存されます。一方、実際の図面へ配置されたブロックには、挿入位置、回転角度、尺度などの情報が設定されます。同じブロック定義を複数の場所へ配置している場合、形状は共通でも、配置情報はそれぞれ異なります。
形式変換でブロックを展開すると、配置情報が各頂点へ反映され、ブロックではない通常の形状へ変換される場合があります。この処理自体は問題ではありません。注意したいのは、頂点へ変換を反映した後も、元の挿入位置や回転角度が残っていないかという点です。
たとえば、子ブロックの挿入位置がX方向へ5メートル、Y方向へ3メートルであった場合、ブロック展開時にすべての頂点へその移動量を加えれば、展開後の形状は正しい位置になります。しかし、その形状をさらに元と同じ挿入位置へ配置すると、X方向へ10メートル、Y方向へ6メートル移動した状態になります。
階層を整理するときは、正常な部材とずれている部材の親子関係を比較することも有効です。同じ親ブロックに含まれる部材がすべて同じ方向へずれている場合は、親ブロックの変換が重複している可能性があります。特定の子ブロックだけがずれている場合は、その子ブロックの定義または配置情報に原因があると考えられます。
同じ形状を複数箇所へ配置しているにもかかわらず、一部の配置だけがずれる場合は、ブロック定義ではなく、個別の配置情報を重点的に確認します。配置ごとに回転、尺度、反転、基準点が異なっていることがあるためです。
また、同じ名称に見えるブロックが、実際には別の定義として登録されている場合もあります。形状が同じでも、一方はローカル原点を基準に作成され、もう一方は絶対座標を含んだ状態で作成されていることがあります。名称だけで同一ブロックと判断せず、基準点や頂点座標まで確認することが重要です。
効率的に調べるには、問題の部材を含む最小単位のブロックを単独で取り出します。そのブロックを原点付近へ配置し、形状、大きさ、向きを確認します。単独では正常に表示されるのであれば、原因は上位の親ブロックや絶対座標への変換にある可能性が高くなります。
反対に、単独表示でも形状や位置が不自然であれば、子ブロック内部ですでに変換が重複していると考えられます。どの親を追加した時点でずれが発生するかを一階層ずつ確認すれば、調査対象を絞り込めます。
チェック2 平行移動が二重に加算されていないか確認する
3D図面の位置と向き、大きさが正しいまま、モデル全体または特定の部材群が一定方向へずれている場合は、平行移動の二重加算を優先して確認します。入れ子ブロックの変換重複の中でも、比較的発見しやすい症状です。
平行移動は、X、Y、Z方向の移動量として表されます。絶対座標を持つ図面では、XとYに大きな平面座標が入り、Zには標高または基準面からの高さが入る場合があります。入れ子ブロックでは、子ブロックの挿入位置に親ブロックの挿入位置が加算され、さらに最上位の絶対座標が加わる構造になることがあります。
確認するときは、形状自身が持つ頂点座標、子ブロックの挿入位置、親ブロックの挿入位置、絶対座標への変換量、AR表示時の原点移動量を分けて扱います。すべてを一つの座標値として見ると、どの移動量が重複しているのか判断できません。
たとえば、子ブロック内の確認点がローカル原点からX方向へ2メートルの位置にあり、子ブロックの挿入位置がX方向へ8メートル、親ブロックの挿入位置がX方向へ100メートルであれば、正常な最終位置は110メートルです。
ところが、子ブロックを展開した際に8メートルの移動が頂点へ反映され、その後も子ブロックの挿入位置として8メートルが適用されると、最終位置は118メートルになります。この場合、AR表示上のずれ量である8メートルが、子ブロックの挿入位置と一致します。
同様に、ずれ量が親ブロックの挿入位置と一致する場合は、親の平行移動が二度適用されている可能性があります。ずれ量がローカル原点の座標値と一致する場合は、絶対座標とローカル座標の変換が重複している可能性があります。
原因を探す際は、AR画面で見た方向だけではなく、座標差をX、Y、Zに分解します。北東方向へ斜めにずれているように見える場合でも、実際にはX方向へ10メートル、Y方向へ20メートルという既知の移動量が重複していることがあります。
複数の基準点でほぼ同じ座標差が出る場合は、純粋な平行移動の重複である可能性が高いと考えられます。ある点では2メートル、離れた点では5メートルというように、位置によって差が変化する場合は、回転や尺度も関係している可能性があります。
高さ方向だけが合わない場合は、Z方向の移動量を重点的に確認します。平面位置は一致しているのに、モデルが地面から浮いている、または地中へ沈んでいる場合、ブロックの基準高、絶対標高、ローカル原点の高さ、AR表示時の高さ補正が重複していることがあります。
たとえば、3D図面がすでに絶対標高を持っているにもかかわらず、AR表示側で現地基準点の標高をもう一度加えると、モデルは基準点の標高分だけ浮き上がります。反対に、絶対標高からローカル原点の高さを二度差し引けば、モデルが大きく沈みます。
高さのずれは、地盤面をゼロとして作成したモデルと、絶対標高を直接持つモデルが混在したときにも起こります。同じ図面内で高さの持たせ方が統一されているかを確認することが必要です。
平行移動の確認では、モデルを手動で移動して合わせる前に、元の座標値を記録します。手動補正を加えると、元データの重複量と補正量が混ざり、原因が分かりにくくなるためです。調査中は手動補正を解除し、基準状態で比較することが大切です。
チェック3 回転角度と回転中心の重複を確認する
モデルの中心付近では位置が合っているのに、端部へ行くほどずれが大きくなる場合や、構造物の長手方向が現地と合わない場合は、回転変換の重複を確認します。回転が原因のずれは、単純な平行移動とは異なり、回転中心から離れるほど位置差が大きくなります。
入れ子ブロックでは、子ブロック自身に回転角度が設定され、その上から親ブロックの回転が適用されます。子ブロックの形状へ親の回転を反映した後に、親ブロックの回転情報がもう一度適用されると、回転角度が重複します。
たとえば、親ブロックへ鉛直軸まわりに30度の回転が設定されているとします。ブロック展開時に形状へ30度の回転を反映し、さらに展開後の形状全体へ同じ30度を適用すると、最終的には60度回転した状態になります。
ただし、実務で発生する回転重複は、角度が単純に二倍になるとは限りません。回転中心、回転軸、座標軸の向き、変換の適用順が異なると、見た目は複雑になります。
同じ30度の回転でも、ブロック自身の基準点を中心に回す場合と、絶対座標の原点を中心に回す場合では、最終位置が大きく異なります。現場が絶対座標原点から遠い場合、わずかな角度差でも大きな位置ずれにつながります。
たとえば、回転中心から長い距離だけ離れた構造物では、小さな角度の重複でも端部の横ずれが目立ちます。道路、護岸、配管、橋梁、造成境界など、細長い形状では特に注意が必要です。
回転重複を確認するときは、モデル中心の一点だけで判断してはいけません。回転中心付近はずれが小さいため、問題を見落としやすくなります。構造物の始点、中間点、終点、または建物の四隅など、離れた複数の点を比較します。
正しい方向が分かる基準線を使うことも有効です。道路中心線、敷地境界、通り芯、構造物の長辺などを基準にし、AR表示した3D図面の線と現地の方向が平行になるかを確認します。一定の角度で交差している場合は、回転変換や方位変換を調べます。
3D図面では、X軸、Y軸、Z軸それぞれの回転が含まれる場合があります。平面図を中心に作成されたモデルであっても、データ形式の変換時に鉛直軸の扱いが変わることがあります。元データではZ軸が上方向でも、変換後に別の軸が上方向として解釈されると、回転軸の置き換えが必要になります。
軸変換が適切に行われた後に、元の回転情報が再び適用されると、モデルが方位方向へ回るだけでなく、床面が傾く、柱が横倒しになる、上下が反転するといった現象が発生します。AR表示で水平であるべき面が傾いている場合は、鉛直軸まわりの回転だけでなく、全軸の変換を確認します。
回転角度の数値を確認するときは、角度の表現方法も確認します。処理工程ごとに角度の単位や正方向が異なると、重複とは別に大きな回転誤差が発生します。右回りを正とする処理と左回りを正とする処理が混在していないかも見ておきます。
反転を含むブロックでは、回転方向の見え方が変わる場合があります。X、Y、Zのいずれかに負の尺度が設定されていると、鏡像配置となり、通常の回転と異なる結果になることがあります。回転角度だけを確認するのではなく、尺度の符号と反転の有無も合わせて調べます。
切り分けでは、問題のブロックを原点付近へ移した検証用データを作り、平行移動と尺度を単純化したうえで回転だけを確認します。絶対座標から離して検証することで、回転中心の違いによる大きな移動を除外し、角度そのものの重複を見つけやすくなります。
チェック4 尺度と単位変換の二重適用を確認する
位置合わせを行った一点ではモデルが合っているものの、離れた場所ほどずれが拡大する場合や、構造物全体の大きさが現地と異なる場合は、尺度の重複を確認します。単位変換の二重適用も、尺度重複の代表的な原因です。
3D図面の長さ単位は、作成環境や受け渡し方法によって異なることがあります。元の図面がミリメートルで作成され、AR表示側ではメートルとして扱う場合、読み込み工程のどこかで単位変換が必要です。
正常な処理では、ミリメートルからメートルへの変換は一度だけ行います。しかし、書き出し時に単位を変換し、読み込み時にも同じ変換を行うと、モデルは想定より極端に小さくなります。反対方向の変換が二度行われれば、モデルが極端に大きくなります。
入れ子ブロックでは、最上位ブロックに単位調整のための尺度が設定され、子ブロックにも個別の尺度が設定されている場合があります。親ブロックの尺度を形状座標へ反映した後に、元の尺度情報をもう一度適用すると、同じ倍率が二重に掛かります。
たとえば、親ブロックに2倍の尺度が設定されている場合、頂点へ2倍を反映した後、もう一度2倍を適用すると、最終的な大きさは元の4倍になります。1000分の1の単位変換が二度適用されれば、元の100万分の1となり、ほとんど見えないほど小さくなる可能性があります。
尺度重複の特徴は、原点付近ではずれが小さく、原点から離れるほど差が大きくなることです。平行移動の重複であれば、複数の点がおおむね同じ方向へ同じ距離だけずれます。尺度の重複では、原点を中心に外側へ広がる、または内側へ縮むようなずれ方になります。
確認には、設計上の長さが分かる二点を使います。柱間隔、通り芯間隔、区画幅、構造物全長、既知の基準点間距離などを選び、元の3D図面、変換後データ、AR表示結果で距離を比較します。
全方向が同じ倍率で変化していれば、均一尺度または単位変換を疑います。X方向だけ長く、Y方向は正しい場合や、高さだけ異なる場合は、不均一尺度が含まれている可能性があります。
不均一尺度が設定されたブロックを展開すると、方向ごとの倍率が頂点座標へ反映されます。その後、元の尺度情報が残ると、特定方向だけ二重に伸縮します。正方形の形状が長方形になる、円形断面が楕円になる、柱の高さだけが大きくなるといった症状が手掛かりになります。
負の尺度にも注意が必要です。負の尺度は、形状を特定の軸方向へ反転させるために使われることがあります。負の尺度が二度適用されると見た目の向きは元へ戻る場合がありますが、面の表裏や回転方向へ影響が残る可能性があります。
尺度の確認は、表示画面の見た目だけでは不十分です。自動的にモデル全体を画面内へ収める表示では、極端に小さいモデルでも拡大表示されるため、大きさの誤りを見落とすことがあります。必ず既知距離や外接範囲を数値で比較します。
AR表示でも、一点だけを手動で合わせると尺度誤りを見落とします。モデルの角を現地の角へ合わせたとしても、離れた反対側では大きくずれている可能性があります。十分に離れた二点以上で距離を比較することが必要です。
単位変換を安定させるには、どの工程で単位を統一するかを明確にします。書き出し時に変換するのであれば、読み込み側では自動変換を重ねないようにします。読み込み側で変換するのであれば、書き出しデータは元単位を保持し、単位情報を正しく伝えます。
チェック5 絶対座標とローカル原点の変換経路を確認する
絶対座標付き3D図面をAR表示するときは、ブロック内部の変換だけでなく、絶対座標からローカル座標への変換経路を確認する必要があります。この経路が整理されていないと、入れ子ブロックの平行移動と原点移動が同じ処理として重複することがあります。
絶対座標を持つ3D図面では、各頂点や最上位ブロックの挿入位置に、現場の位置を示す大きな座標値が設定されることがあります。一方、AR表示や3D描画の内部処理では、現場付近を原点とした小さなローカル座標へ変換して扱う場合があります。
たとえば、絶対座標上の基準点をローカル原点として設定し、各頂点の絶対座標から原点座標を差し引きます。これにより、モデルは原点から数メートルまたは数百メートル程度の値で扱えるようになります。
この原点移動が3D図面の書き出し時にすでに実行されているにもかかわらず、AR用データの読み込み時にも同じ原点座標を差し引くと、モデルは本来の位置から大きく反対方向へ移動します。反対に、ローカル座標へ変換済みのモデルへ絶対座標原点を二度加えると、モデルは現場から大きく離れた位置へ配置されます。
入れ子ブロックでは、最上位ブロックの挿入位置が絶対座標を表し、内部の子ブロックは最上位ブロックを基準としたローカル座標で作成されている場合があります。この構成で最上位ブロックを展開すると、絶対座標が各頂点へ反映されます。
展開後の頂点がすでに絶対座標を持っているにもかかわらず、元の最上位ブロックの挿入位置が再度加算されると、絶対座標が重複します。ずれ量は非常に大きくなり、AR表示範囲からモデルが完全に外れる場合もあります。
反対に、最上位ブロックの挿入位置を削除したものの、頂点座標へ反映していなければ、絶対位置情報が失われます。この場合、モデルは座標原点付近や意図しない位置へ表示されます。
変換経路を調べるには、元の3D図面からAR表示までの各段階で、代表となる基準点の座標を追跡します。元図面、書き出しデータ、中間変換データ、AR用データ、端末上の表示データという順番で、同じ点のX、Y、Zを記録します。
ある工程で大きな絶対座標から小さなローカル座標へ変化した場合、その工程で原点移動が実行されています。その後の工程でも同じ座標差が発生していれば、原点移動が二度行われた可能性があります。
絶対座標とローカル座標は、座標値の桁だけで判断しないことが重要です。現場で使用する座標系や作成方法によって数値範囲は異なります。使用している座標系、軸方向、単位、基準点、原点座標を合わせて確認します。
X軸とY軸の扱いも注意点です。設計図面の軸と測量座標の軸が異なる場合、変換工程で軸の交換や符号反転が行われることがあります。軸交換が二度行われると元に戻る場合もありますが、その途中で回転や反転が組み合わさると、最終位置は単純には戻りません。
高さについても、絶対標高とローカル高さを区別します。モデル内部では地盤面をゼロとして作成し、最上位ブロックのZ位置へ絶対標高を設定している場合があります。最上位の高さを頂点へ反映した後、AR表示側で基準点標高をもう一度加えると、高さが重複します。
また、同じ図面内に絶対標高を持つ部材と、地盤面からの相対高さだけを持つ部材が混在していると、一部だけ高さがずれる原因になります。平面位置が合っていても特定のブロックだけ浮く場合は、そのブロックがどの高さ基準で作成されているかを確認します。
AR表示側に手動の移動、回転、高さ補正が保存されている場合は、その補正も変換経路へ含めます。元データの座標を修正した後に古い補正値が残っていると、同じ修正が二度適用されます。調査中は補正を初期化し、データ本来の座標で比較することが大切です。
チェック6 基準点を使ってAR表示前後の座標差を確認する
入れ子ブロックの変換重複を最終的に判断するには、3D図面内の基準点と現地の基準点を対応させ、AR表示前後の差を確認します。データ内部で数値が合っていても、AR表示へ渡す最終工程で別の変換が加わる可能性があるためです。
基準点には、3D図面上で正確に特定でき、現地でも位置を確認できる点を選びます。構造物の角、杭位置、通り芯の交点、既知点、既設物の中心、測量で確認された点などが候補になります。
ただし、現地の見た目だけで選ぶと、設計位置と実物位置が施工誤差によって異なる場合があります。設計上の点と現地で確認する点が本当に対応しているかを確認します。
一点だけの確認では、平行移動、回転、尺度を区別できません。一点を手動で合わせれば、モデルの向きや大きさが間違っていても、その地点だけは一致します。最低でも離れた二点を使い、可能であれば一直線上にない三点以上を確認します。
最初の点で位置を確認し、二点目で距離と方向を確認します。三点目では、回転や方向別の尺度に問題がないかを確認します。高さを検証する場合は、異なる標高にある基準点を含めると、Z方向の変換重複を見つけやすくなります。
複数の基準点が、ほぼ同じ方向へ同じ量だけずれている場合は、平行移動や原点移動の重複を疑います。原点または特定の点から離れるほどずれが大きくなる場合は、回転または尺度の重複を疑います。
特定の基準点だけがずれている場合は、その点を含む子ブロックの変換を確認します。たとえば、構造物本体は合っているのに設備だけがずれている場合、設備ブロックの挿入位置や単位変換が重複している可能性があります。
基準点の座標差は、X、Y、Zごとに記録します。単に「右へずれている」「少し浮いている」と記録するのではなく、どの方向へどの程度の差があるかを数値化します。その差が、親ブロックや子ブロックの挿入位置、原点移動量、高さ補正量と一致するかを確認します。
AR表示の検証では、測位と姿勢推定が安定している条件を選びます。表示が大きく揺れている状態では、固定的な座標差と一時的な追跡変動を区別できません。一定時間の確認を行い、モデルの平均的なずれ方を見ます。
端末を移動したときの変化も手掛かりになります。端末を動かしてもモデルと現地の差がほぼ同じであれば、データ座標または固定的な変換設定に原因がある可能性があります。端末の向きを変えることで差が変化する場合は、方位や姿勢に関する要因も含めて確認します。
同じデータを再度読み込んだときに、同じ位置へずれるかどうかも確認します。毎回ほぼ同じずれが再現する場合は、データまたは設定に固定的な変換が含まれていると考えやすくなります。読み込むたびにずれ方が変わる場合は、初期位置合わせや測位状態など、別の要因も検討します。
修正後は、問題が見つかった部材だけでなく、同じ親ブロックに含まれる他の部材も確認します。一つの子ブロックの変換を削除したことで、別の部材に必要な変換まで失われることがあるためです。
基準点ごとに、修正前の差、修正後の差、残っている傾向を記録すれば、改善結果を客観的に判断できます。目視だけでは気づきにくい小さな回転や尺度の差も、複数点の座標差から見つけられます。
入れ子ブロックの変換重複を効率よく切り分ける手順
変換重複を調べるときに、完成した3D図面全体を一度に修正すると、どの操作が結果へ影響したのか分からなくなります。効率よく原因を絞るには、対象範囲と変換要素を段階的に分離することが大切です。
最初に、元データを保管し、調査用の複製データを作成します。元データへ直接変更を加えると、修正前の変換値を確認できなくなります。調査段階ごとにデータを分け、どの変換を変更したか分かる状態にします。
次に、AR表示で問題が発生している部材を一つ選びます。複数の部材を同時に調べるのではなく、代表的な一つの子ブロックから始めます。その子ブロックを単独で書き出し、原点付近へ配置して確認します。
単独表示で位置、向き、大きさが正しければ、子ブロック内部の形状は正常であり、上位階層の変換が原因である可能性が高くなります。単独でも異常がある場合は、子ブロック内ですでに変換が焼き込まれているか、挿入位置や尺度が重複していると考えられます。
子ブロックが正常であれば、直上の親ブロックを含む状態で確認します。その状態でずれが発生した場合は、追加した親ブロックの変換を重点的に調べます。正常であれば、さらに一つ上の階層を追加します。この方法で、どの階層から問題が始まるかを特定します。
変換要素も一つずつ確認します。平行移動、回転、尺度を同時に変更すると、結果が合っても本当の原因を特定できません。まず、尺度と回転を単純化した検証用データで平行移動を確認します。次に回転を戻し、最後に尺度を戻します。
ただし、回転と平行移動は適用順によって結果が変わります。検証用に値を一時変更したデータをそのまま完成データとして使うのではなく、原因を特定した後に正しい順序で変換を再構成する必要があります。
各工程で同じ基準点の座標を記録することも有効です。元図面、ブロック展開後、単位変換後、原点移動後、AR用データ生成後の座標を比較すれば、どの工程で差が生じたか分かります。
モデル全体の座標範囲も確認します。変換前後で最小座標と最大座標が大きく変化している場合、親ブロックの移動量や絶対座標が重複した可能性があります。座標範囲が極端に縮小している場合は、単位変換や尺度が複数回適用された可能性があります。
同じ形状が二重に見える場合は、変換情報だけでなく形状自体の重複も確認します。ブロックを展開して生成した形状と、展開前のブロックインスタンスが両方残っていると、同じ部材が二つ出力されます。
二つの形状が完全に同じ位置へ配置されている場合は、表面がちらつくように見えることがあります。変換値がわずかに異なる場合は、二重線や厚みのある輪郭のように見えます。この場合は、どちらの形状を残すべきかを判断し、不要な重複要素を削除します。
部材数や頂点数が変換前後で不自然に増えていないかも確認します。ブロック展開によって一定の増加は起こり得ますが、想定以上に増えている場合は、同じ階層が複数回出力されている可能性があります。
原因と修正方法が一つの代表ブロックで確認できたら、同じ構造を持つ他のブロックへ適用します。ただし、すべてのブロックが同じ変換条件とは限りません。配置回転や尺度が異なるブロックからも代表点を選び、修正結果を再確認します。
変換重複の再発を防ぐ3D図面管理
入れ子ブロックの変換重複は、変換処理の不具合だけでなく、3D図面の受け渡し時に座標や単位の情報が共有されていないことで発生しやすくなります。再発を防ぐには、作成、変換、登録、AR表示の各工程で扱いを統一する必要があります。
まず、受け渡す3D図面が絶対座標を保持しているのか、ローカル原点へ移動済みなのかを明確にします。単に「座標付き」とするのではなく、使用している座標系、原点座標、軸方向、長さ単位、高さ基準を記録します。
ブロックを保持した状態で渡すのか、すべてのブロックを展開した状態で渡すのかも決めます。ブロックを保持すれば、同じ形状を繰り返し利用でき、データを効率的に管理できます。ただし、変換先が入れ子構造と親子変換を正しく扱えることが前提です。
ブロックを展開する場合は、どの階層まで展開するか、変換をどの時点で頂点へ反映するかを統一します。形状へ変換を焼き込んだ後は、元の挿入位置、回転、尺度を再度適用しないようにします。
反対に、配置情報を保持する場合は、頂点座標へ同じ変換を事前に焼き込まないようにします。形状座標と配置変換のどちらが最終位置を持つのかを明確にすることが重要です。
単位変換の担当工程も一つに決めます。書き出し時に単位を統一するのか、読み込み時に統一するのかが曖昧だと、両方の工程で変換が行われる可能性があります。自動判定に任せる場合でも、変換後の既知距離を必ず確認します。
絶対座標からローカル原点への変換も、実行する工程を固定します。ローカル原点へ移動したデータには、使用した原点座標を記録します。絶対座標へ戻す必要がある場合は、同じ原点、軸、単位を使用します。
確認用の基準点を3D図面に含めておくと、変換重複の早期発見に役立ちます。基準点には識別しやすい名称を付け、期待するX、Y、Z座標を共有します。変換後に同じ座標が得られるかを確認すれば、AR表示工程へ進む前に異常を見つけられます。
基準点は狭い範囲へ集中させず、モデル全体へ分散させます。建物であれば対角に離れた角、長い構造物であれば始点、中間点、終点を使います。高さも重要な場合は、異なる標高の基準点を含めます。
データ更新時には、形状変更だけでなく、ブロック階層と変換設定の変更も記録します。設計変更で新しい設備や部材を追加した際に、その部材だけ別の原点や単位で作成されることがあります。
既存部分が正しく表示されていても、追加部分に変換重複が発生する可能性があります。更新後は、既存範囲と追加範囲の両方で基準点を確認します。
AR表示側で行った手動補正も管理対象です。補正値、補正理由、対象データの版を記録します。元データを修正した後も古い補正値が残っていると、修正量が重複します。
恒常的に使用する3D図面では、AR画面上の手動調整だけで位置を合わせるのではなく、可能な限り元データの座標と変換経路を整えます。元データが正しければ、更新や共有を行った場合も同じ基準で表示しやすくなります。
まとめ
3D図面をAR表示したときに、モデル全体が一定方向へずれる、一部の部材だけが移動する、端部ほどずれが大きくなる、同じ形状が二重に見える場合は、入れ子ブロックの変換重複を確認する必要があります。
入れ子ブロックでは、子ブロックの変換に親ブロックの変換が加わり、さらに上位階層の変換が順番に適用されます。書き出しやブロック展開の途中で、変換を頂点へ反映した後も元の配置情報が残ると、平行移動、回転、尺度が二重に適用されます。
原因を探す際は、最初にブロック階層と親子関係を整理します。その後、平行移動、回転、尺度を分けて確認し、絶対座標とローカル原点の変換経路を追跡します。最後に、離れた複数の基準点を使ってAR表示結果を検証します。
複数の基準点が同じ量だけずれる場合は、平行移動や原点移動の重複が考えられます。原点から離れるほど差が広がる場合は、回転や尺度の重複を疑います。特定の部材だけがずれる場合は、その部材を含む子ブロックの配置情報を重点的に確認します。
調査はモデル全体を一度に修正するのではなく、問題の子ブロックを単独表示し、親階層を一つずつ追加して進めます。工程ごとに基準点の座標を記録すれば、どの段階で変換が重複したのかを特定しやすくなります。
再発を防ぐには、座標系、単位、原点、高さ基準、軸方向、ブロックを展開する工程を明確にし、担当者間で共有することが重要です。変換前後で確認できる基準点をモデル内に用意し、3D図面の更新時にも同じ点を確認します。
入れ子ブロックの変換経路を整理し、絶対座標を正しく維持した3D図面を用意できれば、現地で設計位置や構造物の配置を確認しやすくなります。3D図面を絶対座標に基づいてAR表示し、現場でモデルと周囲の状況を重ねて確認する運用を進める際は、LRTK Phoneの活用へ自然につなげられます。