AutoCAD Civil 3D Help: Accessing Drawing, Feature, and Command Settings
访问图形、特性和命令设置
在AutoCAD Civil 3D中,设定被应用在3个级别:
- 图形级别: 有图形范围内的设置,如单位、分带、缩写等等;也有环境设置,会影响到AutoCAD Civil 3D的很多行为。图形级别的设置会被要素或命令级别的设置所覆盖。
- 要素(对象)级别: 环境设置会覆盖该要素在图形级别的环境设置。另外也有指定要素设置,比如缺省样式。
- 命令级别:环境设置可以在逐条命令的基础上进行设定。这些设置会覆盖图形级别和特性级别两者的设置。
对于通用设置,请访问 About Settings.获取更多信息。
通过SettingsRoot 对象的属性可以访问一个文档的设置, 该对象可以通过Document.Settings属性取得。它包含了DrawingSettings 属性 (SettingsDrawing类型)。 DrawingSettings 属性涵盖了该文档的所有顶级的环境设置。它的GetSettings()方法可以取得要素(feature) 和 命令(command)设置。
图形设置和通用环境设置位于Autodesk.Civil.Settings 命名空间,而要素和命令设置位于相应要素的命名空间中。例如: 路线(alignment)相关的环境和命令设置位于Autodesk.Civil.Land.Settings 命名空间中。
下面的例子显示了怎样访问一个路线(Alignment)的角度设置:
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);
命令设置应用于命令,相当于在AutoCAD Civil 3D工具空间(Toolspace)设置选项卡上的Command文件夹下所有项目的设置。每个命令设置都有一个相应的类,叫做SettingsCmdCommandName。例如: CreateAlignmentLayout 命令的相应的设置类叫做SettingsCmdCreateAlignmentLayout。对于其他类型的设置,你可以用CivilDocument.Settings.GetSettings() 方法在该文档中访问命令设置对象
下面的代码段演示了什么是CreateAlignmentLayout命令的 “Alignment Type Option”:
SettingsCmdCreateAlignmentLayout alignLayoutCmdSettings = doc.Settings.GetSettings<SettingsCmdCreateAlignmentLayout>();
ed.WriteMessage(@"Alignment Layout Command settings: AlignmentType: {0} ",alignLayoutCmdSettings.AlignmentTypeOption.AlignmentType.Value);
上面代码的返回值是当前的命令设置:
获取命令设置
Parent topic: