Autodesk Civil 3D 2025 では、「ターゲット マッピング」機能が変更されました。これは、カスタム サブアセンブリの記述方法に影響します。この機能を使用すると、ジオメトリの定義に必要なコリドーに関連付けられた線形と縦断に加え、オブジェクト タイプをサブアセンブリのターゲットにできます。
カスタム サブアセンブリの記述方法については次の 4 つの変更点があります。
サブアセンブリでは、線形と縦断の代わりに、オフセット ターゲットと標高ターゲットをターゲットに使用できるようになりました。これらは、ParamLogicalNameType の新しいパラメータ タイプで表します。サブアセンブリで新しいターゲット タイプをサポートする場合は、次のように置換する必要があります。
corridorState オブジェクトからオフセットおよび標高ターゲット コレクションを取得するには、ParamsAlignment および ParamsProfile の代わりに、ParamsOffsetTarget および ParamsElevationTarget を使用します。オフセット ターゲットと標高ターゲットは、(ネットワーク パイプのターゲットも含め)すべて ParamsOffsetTarget と ParamsElevationTarget に含まれています。次に、サンプル VB.NET サブアセンブリの BasicLaneTransition.vb サンプルからの例を示します。
Dim oParamsLong As ParamLongCollection oParamsLong = corridorState.ParamsLong Dim oParamsOffsetTarget As ParamOffsetTargetCollection oParamsOffsetTarget = corridorState.ParamsOffsetTarget
ターゲットは、線形 ID または縦断 ID ではなく、オブジェクトとなりました。オフセット ターゲットに WidthOffsetTarget を定義し、標高ターゲットに SlopeElevationTarget を定義するようになったため、ターゲットを ID ではなくオブジェクトとして宣言できるようになりました。次に、サンプル VB.NET サブアセンブリの BasicLaneTransition.vb サンプルからの例を示します。
Dim offsetTarget As WidthOffsetTarget 'width or offset target offsetTarget = Nothing Dim elevationTarget As SlopeElevationTarget 'slope or elevation target elevationTarget = Nothing
CalcAlignmentOffsetToThisAlignment() ユーティリティ メソッドは、線形からオフセット ターゲットまでのオフセットを計算するようになりました。このメソッドは、測点値ではなく、線形測点に垂直なポイントでのオフセット ターゲットの XY 座標を返します。
標高ターゲットの標高を直接取得する場合、CalcAlignmentOffsetToThisAlignment() の代わりに、SlopeElevationTarget.GetElevation メソッドも使用できます。次に、サンプル VB.NET サブアセンブリの BasicLaneTransition.vb サンプルからの例を示します。
'get elevation on elevationTarget Try dOffsetElev = elevationTarget.GetElevation(oCurrentAlignmentId, _ corridorState.CurrentStation, Utilities.GetSide(vSide)) Catch Utilities.RecordWarning(corridorState, _ CorridorError.LogicalNameNotFound, _ "TargetHA", "BasicLaneTransition") dOffsetElev = corridorState.CurrentElevation + vWidth * vSlope End Try