基線リージョンの中に、主基線からオフセットされた補助的な基線を配置できます。オフセット基線のコレクションは、BaselineRegion.OffsetBaselines プロパティに含まれています。このコレクションには、BaseBaseline クラスから派生した 2 種類の基線が含まれています。1 つは、ハードコードされたオフセット基線(HardcodedOffsetBaseline クラスのインスタンス)で、その全長にわたって主基線から一定の距離を保持します。もう 1 つはオフセット基線(OffsetBaseline クラスのインスタンス)で、主基線からの距離は一定ではありません。
Autodesk Civil 3D .NET API には、新しいオフセット基線またはハードコードされたオフセット基線を作成するメソッドは含まれていません。
次のコードでは、基線リージョン内の各オフセット基線を調べます。
foreach (BaseBaseline ob in oBaselineRegion.OffsetBaselines)
{
ed.WriteMessage("Offset baseline: \n");
switch (ob.BaselineType)
{
case CorridorBaselineType.OffsetBaseline:
OffsetBaseline offb = (OffsetBaseline)ob;
ed.WriteMessage("Offset baseline, station {0} to {1}\n",
offb.StartStationOnMainBaseline, offb.EndStationOnMainBaseline);
ed.WriteMessage(" is offset by: {0} horizontal and {1} vertical at start\n",
offb.GetOffsetElevationFromMainBaselineStation(offb.StartStationOnMainBaseline).X,
offb.GetOffsetElevationFromMainBaselineStation(offb.StartStationOnMainBaseline).Y);
ed.WriteMessage(" is offset by: {0} horizontal and {1} vertical at end\n",
offb.GetOffsetElevationFromMainBaselineStation(offb.EndStationOnMainBaseline).X,
offb.GetOffsetElevationFromMainBaselineStation(offb.EndStationOnMainBaseline).Y);
break;
case CorridorBaselineType.HardcodedOffsetBaseline:
HardcodedOffsetBaseline hob = (HardcodedOffsetBaseline)ob;
ed.WriteMessage("Hardcoded offset baseline {0} \n",
hob.Name);
ed.WriteMessage(" is offset by: {0} horizontal and {1} vertical\n",
hob.OffsetElevationFromMainBaseline.X,
hob.OffsetElevationFromMainBaseline.Y);
break;
default:
break;
}
}