Autodesk Civil 3D では、設定は次の 3 つのレベルで適用されます。
全般的な設定の詳細は、「設定とは」
ドキュメントの設定には、SettingsRoot オブジェクトのプロパティを通してアクセスします。このオブジェクトは、Document.Settings プロパティから取得します。このオブジェクトには、DrawingSettings プロパティ(タイプ SettingsDrawing)が含まれます。このプロパティには、ドキュメントのすべての最上レベル環境設定が含まれます。このオブジェクトには、フィーチャおよびコマンド設定を取得する GetSettings() メソッドも含まれます。
図面設定と全般的な環境設定は、Autodesk.Civil.Settings 名前空間にあります。フィーチャとコマンド設定は、関連するフィーチャの名前空間にあります。たとえば、線形に関連する環境設定とコマンド設定は Autodesk.Civil.Land.Settings 名前空間にあります。
次の例に、線形の角度設定にアクセスする方法を示します。
SettingsAlignment alignmentSettings = doc.Settings.GetSettings<SettingsAlignment>(); Autodesk.Civil.Settings.SettingsAmbient.SettingsAngle angleSettings = alignmentSettings.Angle; ed.WriteMessage(@"Alignment settings:\n Precision: {0}\n Rounding: {1} Unit: {2}\n Drop Decimal: {3}\n DropZeros: {4}\n ", angleSettings.Precision.Value, angleSettings.Rounding.Value, angleSettings.Unit.Value, angleSettings.DropDecimalForWholeNumbers.Value, angleSettings.DropLeadingZerosForDegrees.Value);
コマンド設定はコマンドに適用され、Autodesk Civil 3Dの[ツールスペース]の[設定]タブで、各項目の[コマンド]フォルダに対応します。各コマンド設定には、SettingsCmdCommandName という名前の対応するクラスがあります。たとえば、CreateAlignmentLayout コマンドに対応する設定クラスは、SettingsCmdCreateAlignmentLayout です。他の設定タイプと同じように、CivilDocument.Settings.GetSettings() メソッドを使用して、ドキュメントのコマンド設定オブジェクトにアクセスします。
次の断片によって、どの「線形タイプのオプション」が CreateAlignmentLayout コマンド用であるかが決定します。
SettingsCmdCreateAlignmentLayout alignLayoutCmdSettings = doc.Settings.GetSettings<SettingsCmdCreateAlignmentLayout>(); ed.WriteMessage(@"Alignment Layout Command settings: AlignmentType: {0} ", alignLayoutCmdSettings.AlignmentTypeOption.AlignmentType.Value );
このコードの結果として、現在のコマンド設定が返されます。
コマンド設定を取得する