オフセット基線のリストを取得する

基線リージョンの中に、主基線からオフセットされた補助的な基線を配置できます。オフセット基線のコレクションは、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;
    }
}