Руководство .NET-разработчика

Настоящее руководство является авторским переводом на русский язык оригинального руководства разработка Civil 3d API со значительными дополнениями (новые статьи, отдельные примеры, примечания).

Исходные материалы настоящего руководства расположены в https://github.com/GeorgGrebenyuk/acadDevDocsRu/tree/main/docs/civil3d/net

Вступление

Autodesk Civil 3d .NET API позволяет взаимодействовать с объектами Civil 3D - трассами, поверхностями, а также их стилями и некоторыми настройками чертежа, специфичными для Civil 3D.

Данный API основывается на AutoCAD .NET API (читай о нём локализованную справку здесь).

Состав API

В число библиотек, определяющих Civil 3d .NET API входят:

Основные библиотеки:

  • AeccDbMgd.dll: основная библиотека, предоставляющая доступ к основным объектам Civil 3D, стилям, настройкам чертежа;
  • AeccDataShortcutMgd.dll: функциональность быстрых ссылок на данные;
  • AeccPressurePipesMgd.dll: работа с напорными сетями;
  • AeccUiMgd.dll: взаимодействие с пользовательским интерфейсом, окнами, палитрами, специальными окнами отдельных команд;

Вспомогательные библиотеки:

  • AeccCogoMgd.dll: вспомогательная библиотека, содержит unsafe-код, утилиты для работы с точками COGO, преобразованиями единиц;
  • AeccAdpMgd.dll: вспомогательная библиотека, какие-то действия с атрибутами в файле (?);
  • AeccHydroCalcsMgd.dll: вспомогательная библиотека, содержит перечисления, структуры для функций анализа поверхности на сток воды, водосборы и пр.;
  • AeccLogMgd.dll: модуль логгирования;
  • AeccMgdReverse.dll: вспомогательная библиотека, внутренние исключения, обработчики ошибок (?);
  • CaMgdContentData.dll: внутренние перечисления, действиям с библиотекой компонентов, прочее;

Также в Civil 3D имеется набор библиотек от AutoCAD Architecture (ACA): Основные библиотеки:

  • AecBaseMgd.dll: основная библиотека для взаимодействия с ACA;
  • AecCoreMgd.dll: доступ к основным ACA-объектам, включая меж-объектные связи и структуру данных модели;
  • AecPropDataMgd.dll: работа с наборами характеристик;

Вспомогательные библиотеки:

  • AecArchMgd.dll: объектная модель архитектурных объектов (стены, двери и пр.);
  • AecStructureMgd.dll: работа с конструктивными элементами (балки, колонны), также анализ конструкций;
  • AecBaseUtilsMgd.dll: вспомогательные функции для ACA;
  • AecArchDACHMgd.dll: содержит стандарты для Германии;
  • AecAppMgd.dll: доступ к событиям и прочим настройкам ACA;
  • AecRenovationUIMgd.dll: инструменты для работы со стадиями проектирования (?);
  • AecRcpMgd.dll: работа с планами потолков, с осветительным оборудованием;
  • AecProjectBaseMgd.dll: доступ к данным проекта, листам;
  • AecMgdReverse.dll: преобразование объектов ACA в стандартные объекты AutoCAD и обратно;
  • AecStandaloneMgd.dll: модули для работы вне AutoCAD;

Об объектах верхнего уровня

Перед тем, как переходить непосредственно к API объектов Civil 3D необходимо уделить внимание нескольким объектам "верхнего уровня":

  • сущности "Приложение Civil 3d" - CivilApplication;
  • сущности "Документа Civil 3d" - CivilDocument;
  • настройкам единиц и прочего в документе - SettingsRoot;

Первые 2 предоставляют доступ к особым свойствам и объектам в Civil 3D, тогда как настройки определяют поведение единиц и прочих параметров при работе в чертеже.

О CivilApplication

Объект CivilApplication (из пространства имён Autodesk.Civil.ApplicationServices) представляет собой класс, предоставляющий доступ к статическим свойствам:

  • ActiveDocument - текущему (активному) документу, описывается классом CivilDocument;
  • ActiveProduct - возвращает перечисление, какая сейчас запущена конфигурация;
  • SurveyProjects - возвращает объект класса SurveyProjectCollection, предоставляющий доступ к подсистеме "Съемка" (топогеодезические инструменты);

О CivilDocument

Объект CivilDocument (из пространства имён Autodesk.Civil.ApplicationServices) представляет собой класс, предоставляющий доступ к коллекциям объектов Civil 3D, а также настройкам чертежа для данного документа. Фактически его можно рассматривать как расширение к стандартному классу Document, описывающего открытую модель AutoCAD.

К CivilDocument можно перейти, вызвав статическое свойство у класса CivilApplication, либо воспользовавшись статическим методом CivilDocument.GetCivilDocument() для данной базы данных чертежа (при манипуляциях с файлом без его открытия в AutoCAD).

Функциональность класса CivilDocument можно разделить на 3 основные группы:

  • предоставление доступа к классам-обработчикам коллекций объектов Civil 3D (группы точек COGO CogoPoints, коридоры CorridorCollection и т.д.) через свойства класса CivilDocument;
  • получение ObjectId или ObjectIdCollection для заданных объектов чертежа (трасс, поверхностей и т.д.), к ним относятся все методы класса;
  • доступ к стилям и настройкам чертежа - через свойства Styles и Settings соответственно, сюда же вспомогательные методы IsCorridorSectionViewActive, IsSectionEditorCorridorReferenceObject, IsDriveActive;

Настройки модели Civil

Программный доступ к настройкам модели Civil 3D осуществляется через свойство Settings у оболочки документа Civil 3D -- CivilDocument. Настройки описывается классом SettingsRoot из пространства имён Autodesk.Civil.Settings.

  • TagSettings (класс SettingsTag) задает значения для счётчиков объектов при их создании - отдельные окна при каждом окне создания объекта в UI;
  • DrawingSettings (класс SettingsDrawing) - параметры чертежа, см. отдельную статью;
  • AssociateShortcutProjectId (строка) - идентификатор данного проекта в механизме Быстрых ссылок на данные;
  • LandXMLSettings (класс SettingsLandXML) - настройки импорта-экспорта LandXML, альтернатива окна, запускаемого командой EDITLANDXMLSETTINGS;

Также возможно запросить настройки среды для заданной группы в альтернативу их получения через DrawingSettings.AmbientSettings с помощью метода GetSettings с передачей ему типа класса, описывающего данную группу параметров среды.

Рассмотрим далее перечень доступных настроек в сравнении с UI.

Параметры чертежа

Окно с параметрами чертежа Civil 3D со стороны UI вызывается командой _AeccEditDrawingSettings.

Со стороны API эти настройки доступны через свойство DrawingSettings у оболочки настроек SettingsRoot и описываются классом SettingsDrawing.

Единицы измерения и зона

Доступ к настройкам осуществляется через свойство SettingsDrawing.UnitZoneSettings и описываются классом SettingsUnitZone.

![[Pasted image 20260415160738.png]]

Далее рассмотрим, какие элементы на стороне UI чем на стороне API описаны:

Элемент в настройкахЧем представлено в APIЧем описывается в APIWriteПримечание
Единицы чертежаСвойство DrawingUnitsПеречисление DrawingUnitType
Преобразование британской
системы единиц в метрическую
Свойство ImperialToMetricConversionПеречисление ImperialToMetricConversionType
Единицы угловой мерыСвойство AngularUnitsПеречисление AngleUnitType
Масштабировать объекты,
вставленные из других чертежей
Свойство ScaleObjectsFromOtherDrawingsbool
Установить соответствующие
переменные AutoCAD
Свойство MatchAutoCADVariablesbool
Пользовательский масштабСвойство DrawingScaledoubleК выпадающему списку как в UI доступа нет. Вместо этого редактируйте данное свойство.
Категории:
Доступные системы координат:
Код выбранной
системы координат

Описание
Проекция
Референц-Эллипсоид
Свойство CoordinateSystemCodestringВы можете вызвать статический метод GetAllCodes(), который вернёт коды всех загруженных систем координат.
С помощью статического метода GetCoordinateSystemByCode можно получить определение СК по коду. И далее узнать её категорию Category и наименование Description.
Описание, проекцию и референц-эллипсоид получить через свойства Description, Projection, Datum соответственно.

Преобразование

Доступ к настройкам осуществляется через свойство SettingsDrawing.TransformationSettings и описываются классом SettingsTransformation.

Элемент в настройкахЧем представлено в APIЧем описывается в APIWriteПримечание
Применить параметры преобразованиеСвойство ApplyTransformSettingsboolЭто свойство класса SettingsDrawing!
Описание зоныСвойство CoordinateSystemCodestringВернитесь к SettingsDrawing.UnitZoneSettings и вызовите через метод GetCoordinateSystemByCode информацию о СК чертежа, оттуда возьмите имя -Description
Применить масштабный коэффициент уровня моряСвойство ApplySeaLevelScaleFactorbool
Отметка (уровня моря)Свойство SeaLevelScaleElevationdouble
Радиус эллипсоида вращенияСвойство SpheroidRadiusdouble
Масштабный коэффициент сетки, вычисление (набор перечислений)Свойство GridScaleFactorComputationПеречисление GridScaleFactorType
Масштабный коэффициент сетки, величина масштабного коэффициентСвойство GridScaleFactordouble
Центр поворота (флажок)
Указать угол поворота сетки (флажок)
Свойство SpecifyRotationTypeПеречисление SpecifyRotationTypeДля "Центр поворота" = RotationPoint; Для "Указать угол поворота сетки" = GridRotationAngle
Указать угол поворота сетки, значение "К северу"Свойство RotationToGridNorthdouble
Указать угол поворота сетки, значение "Азимут"Свойство RotationToGridAzimuthdouble
Центр поворота, Локальное северное положение
Центр поворота, Локальное восточное положение
Свойство LocalRotationPointPoint2dКомпонента X описывает восточное положение; компонента Y описывает северное положение
Центр поворота, Северное положение в координатах сетки
Центр поворота, Восточное положение в координатах сетки
Свойство GridRotationPointPoint2dКомпонента X описывает восточное положение; компонента Y описывает северное положение
Опорная точка, Локальное северное положение
Центр поворота, Локальное восточное положение
Свойство LocalReferencePointPoint2dКомпонента X описывает восточное положение; компонента Y описывает северное положение
Опорная точка, Северное положение в координатах сетки
Центр поворота, Восточное положение в координатах сетки
Свойство GridReferencePointPoint2dКомпонента X описывает восточное положение; компонента Y описывает северное положение

Слои объекта

Доступ к настройкам осуществляется через свойство SettingsDrawing.ObjectLayerSettings и описываются классом SettingsObjectLayers.

Перечень всех объектов (первая колонка настроек), для которых может иметься некоторый слой, приведен в системном перечислении SettingsObjectLayerType. Для редактирования информации о слое вызовите метод SettingsObjectLayers.GetObjectLayerSetting для заданного типа объекта (перечисления SettingsObjectLayerType).

  • Слой: свойство LayerId или LayerName. При редактировании предпочтительно задавать через LayerId, при чтении можно через LayerName считывать имя слоя (в альтернативу получения LayerTableRecord через LayerId);
  • Модификатор: свойство Modifier (представлено перечислением ObjectLayerModifierType, названия очевидны и в комментировании не нуждаются);
  • Значение: свойство ModifierValue (заполняется только, если Modifier= ObjectLayerModifierType.Suffix или Modifier= ObjectLayerModifierType.Prefix ) - какой у слоя будет суффикс или префикс соответственно);
  • Заблокировано: свойство Locked;

Перечень сокращений

Доступ к настройкам осуществляется через свойство SettingsDrawing.AbbreviationsSettings и описываются классом SettingsAbbreviation.

Каждое из свойств класса SettingsAbbreviation описывает одну из групп сокращений:

Имя группы в UIСвойство в APIЧем описываетсяПримечание
Текст общего назначенияGeneralTextSettingsAbbreviationGeneral
Текст для точки геометрии трассыAlignmentGeoPointTextSettingsAbbreviationAlignment
Данные объекта для точки геометрии трассыAlignmentGeoPointEntityDataSettingsAbbreviationAlignmentEnhanced
ВиражSuperelevationSettingsAbbreviationSuperelevation
Возвышение наружного рельсаCantSettingsAbbreviationCant
ПрофильProfileSettingsAbbreviationProfile
Функциональность самих классом похожа. Имеется некоторое перечисление, для которого получаются настройки и задаются настройки (в виде строк).

Параметры среды

Доступ к настройкам осуществляется через свойство SettingsDrawing.AmbientSettings и описываются классом SettingsAmbient.

Некоторые параметры среды (отдельные свойства) в UI имеют серый цвет и не доступны для редактирования, со стороны API к них также нет доступа для данной группы.

Все остальные свойства, характеризующие параметры среды, в API доступны только для чтения - никакие из них нельзя изменить!

Общие

Группа свойств описывается классом SettingsAmbient.SettingsGeneral и доступна через свойство General.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
Тип отображения единиц при печатиСвойство PlottedUnitDisplayПеречисление PlottedUnitDisplayType
Задание единиц измерения AutoCAD
Сохранить изменения параметров командыСвойство SaveCommandChangesToSettingsboolОписывается PropertyBoolean, но по факту это обычный boolean
Отображать средство просмотра событийСвойство ShowEventViewerbool
Показать подсказкиСвойство ShowToolTipsbool
Преобразование британской системы
единиц в метрическую
Состояние всплывающей подсказки
для нового объекта
Свойство NewEntityToolTipStatebool
Направление движения транспортаСвойство DrivingDirectionПеречисление DrivingDirectionType
Единица измерения на чертеже
Также имеется свойство IndependentLayerOn - возвращает или задает признак, будет ли отображаться объект в зависимости от видимости его слоя. Согласно официальной справке свойство эквивалентно SettingsObjectLayers.ObjectControlledByLayer.

Степень кривизны

Группа свойств описывается классом SettingsAmbient.SettingsDegreeOfCurvature и доступна через свойство DegreeOfCurvature.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
Единицы длины хордыСвойство UnitChordLengthdouble
Единица длины дугиСвойство UnitArcLengthdouble

Назначение меток

Группа свойств описывается классом SettingsAmbient.SettingsLabeling и доступна через свойство Labeling.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
Метод запроса метокСвойство PromptMethodПеречисление LabelingPromptTypeЗапретить запросы = Suppress
Командная строка = CommandLine
Диалоговое окно = Dialog

Время

Группа свойств описывается классом SettingsAmbient.SettingsTime и доступна через свойство Time.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление TimeUnitTypeЗапретить запросы = Suppress
Командная строка = CommandLine
Диалоговое окно = Dialog
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingTypeСтандартное округление = Normal
Округление вверх = Up
Усечение = Truncate

Безразмерный

Группа свойств описывается классом SettingsAmbient.SettingsUnitless и доступна через свойство Unitless.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType

Расстояние

Группа свойств описывается классом SettingsAmbient.SettingsDistance и доступна через свойство Distance.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление LinearUnitType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType

Размер

Группа свойств описывается классом SettingsAmbient.SettingsDimension и доступна через свойство Dimension.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление LinearUnitType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType

Координата

Группа свойств описывается классом SettingsAmbient.SettingsCoordinate и доступна через свойство Coordinate.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление LinearUnitType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType

Координата сетки

Группа свойств описывается классом SettingsAmbient.SettingsGridCoordinate и доступна через свойство GridCoordinate.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление LinearUnitType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType

Отметка

Группа свойств описывается классом SettingsAmbient.SettingsElevation и доступна через свойство Elevation.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление LinearUnitType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType

Площадь

Группа свойств описывается классом SettingsAmbient.SettingsArea и доступна через свойство Area.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление AreaUnitType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType

Объём

Группа свойств описывается классом SettingsAmbient.SettingsVolume и доступна через свойство Volume.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление VolumeUnitType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType

Скорость

Группа свойств описывается классом SettingsAmbient.SettingsSpeed и доступна через свойство Speed.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление SpeedUnitType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType

Угол

Группа свойств описывается классом SettingsAmbient.SettingsAngle и доступна через свойство Angle.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление SpeedUnitType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType
Отбрасывать дробную часть
для целочисленных значений
Свойство DropDecimalForWholeNumbersПеречисление DropDecimalWholeType
Отбросить начальные
нули для градусов
Свойство DropLeadingZerosForDegreesПеречисление DropLeadingZeroType

Направление

Группа свойств описывается классом SettingsAmbient.SettingsDirection и доступна через свойство Direction.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление AngleUnitType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ФорматСвойство FormatПеречисление AngleFormatType
НаправлениеСвойство DirectionПеречисление DirectionDisplayType
Заглавные буквыСвойство CapitalizationПеречисление DirectionNameDisplayType
ЗнакСвойство SignПеречисление SignType
Тип измеренияСвойство MeasurementTypeПеречисление VectorMeasurementType
Четверть румбаСвойство BearingQuadrantПеречисление BearingQuadrantType
Отбрасывать дробную часть
для целочисленных значений
Свойство DropDecimalForWholeNumbersПеречисление DropDecimalWholeType
Отбросить начальные
нули для градусов
Свойство DropLeadingZerosForDegreesПеречисление DropLeadingZeroType

Широта Долгота

Группа свойств описывается классом SettingsAmbient.SettingsLatLong и доступна через свойство LatLong.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление AngleUnitType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ФорматСвойство FormatПеречисление AngleFormatType
НаправлениеСвойство DirectionПеречисление DirectionDisplayType
Заглавные буквыСвойство CapitalizationПеречисление DirectionNameDisplayType
Отбрасывать дробную часть
для целочисленных значений
Свойство DropDecimalForWholeNumbersПеречисление DropDecimalWholeType
Отбросить начальные
нули для градусов
Свойство DropLeadingZerosForDegreesПеречисление DropLeadingZeroType

Уклон

Группа свойств описывается классом SettingsAmbient.SettingsSlope и доступна через свойство Slope.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление SlopeFormatType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType

Откос

Группа свойств описывается классом SettingsAmbient.SettingsGrade и доступна через свойство Grade.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление GradeFormatType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType

Уклон/откос

Группа свойств описывается классом SettingsAmbient.SettingsGradeSlope и доступна через свойство GradeSlope.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление GradeSlopeFormatType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType

Пикет

Группа свойств описывается классом SettingsAmbient.SettingsStation и доступна через свойство Station.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление LinearUnitType
ФорматСвойство FormatПеречисление StationFormatType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType
Символ разделителя пикетовСвойство StationDelimiterCharacterПеречисление StationDelimiterCharacterType
Позиция разделителя пикетовСвойство StationDelimiterPositionПеречисление StationDelimiterPositionType
Отбрасывать дробную часть
для целочисленных значений
Свойство DropDecimalForWholeNumbersПеречисление DropDecimalWholeType
Отбросить начальные
нули для градусов
Свойство DropLeadingZerosForDegreesПеречисление DropLeadingZeroType
Минимальная ширина отображенияСвойство MinimumDisplayWidthint

Ускорение

Группа свойств описывается классом SettingsAmbient.SettingsAcceleration и доступна через свойство Acceleration.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление AccelerationUnitType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType

Давление

Группа свойств описывается классом SettingsAmbient.SettingsPressure и доступна через свойство Pressure.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
ЕдиницаСвойство UnitПеречисление PressureUnitType
ТочностьСвойство Precisionint
ОкруглениеСвойство RoundingПеречисление RoundingType
ЗнакСвойство SignПеречисление SignType

Прозрачные команды

Группа свойств описывается классом SettingsAmbient.SettingsTransparentCommands и доступна через свойство TransparentCommands.

Имя свойства в UIЧто отвечает в APIЧем описываетсяПримечание
Запрос на ввод 3D точекСвойство PromptFor3DPointsbool
Запрос на ввод Y до ввода XСвойство PromptForYBeforeXbool
Запрос на ввод восточного положения
до ввода северного положения
Свойство PromptForEastingThenNorthingbool
Запрос на ввод долготы до ввода широтыСвойство PromptForLongitudeThenLatitudebool

Стили

Стили - это неотъемлемая часть объектной модели Civil 3D, они определяют, как объект выглядит, какие у него настройки отображения\формирования, какие сценарии анализа можно применить к объекту и пр. На стороне UI стили объектов доступны для просмотра на вкладке "Параметры" области инструментов чертежа.

На стороне API доступ к стилям осуществляется через специальный класс StylesRoot, получаемый через свойство Styles у сущности CivilDocument. В таблице далее приведена информация, каким классом описывается коллекция стилей для соответствующего объекта в Civil 3D:

Группа стилей в Civil 3DСвойство в APIЧем описывается?Примечание
Общие
Универсальные стили
Стили маркеровMarkerStylesMarkerStyleCollection
Стили характерной линии
Стили штриховки откосов
Стили проекций
Стили набора кодов
Стили звена
Стили фигуры
Стили меток
ТочкаPointStylesPointStyleCollection
ПоверхностьSurfaceStylesSurfaceStyleCollection
УчастокParcelStylesParcelStyleCollection
Объект профилирования
ТрассаAlignmentStylesAlignmentStyleCollection
Профиль
Вид профиля
Вид виража
Вид возвышения наружного рельса
Ось сечения
СечениеSectionStylesSectionStyleCollection
Вид сеченияSectionViewStylesSectionViewStyleCollection
Линия диаграммы земляных масс
Вид диаграммы земляных масс
Водосбор
Трубопроводная сеть
Труба
Колодец
Напорная трубопроводная сеть
Напорная труба
Фитинг
Устройство регулирования потока
Мост
Коридор
Перекресток
Конструкция
Элемент конструкции
Объем работ
Съемка
Группа рамок вида
Рамка вида
Линия соответствия
Участок застройки
Железная дорога
--
Стили таблицыTableStylesTableStylesRootДля любых таблиц. Свойства класса описывают таблицы для соотв. объектов

Получение стиля

Любой стиль