図面、フィーチャ、コマンド設定にアクセスする

Autodesk Civil 3D では、設定は次の 3 つのレベルで適用されます。

  1. 図面レベル: 単位、ゾーン、略語など、図面全体の設定があります。Autodesk Civil 3D のさまざまな動作に影響する環境設定もあります。これらの設定は図面全体に適用されますが、フィーチャまたはコマンド レベルで他の設定を優先させることもできます。
  2. フィーチャ(オブジェクト)レベル: 環境設定は、特定のフィーチャにおいてのみ、図面レベル環境設定よりも優先されます。既定のスタイルなどのフィーチャ固有の設定もあります。
  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
   );

このコードの結果として、現在のコマンド設定が返されます。

コマンド設定を取得する