Руководство .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 | Чем описывается в API | Write | Примечание |
|---|---|---|---|---|
| Единицы чертежа | Свойство DrawingUnits | Перечисление DrawingUnitType | ✅ | |
| Преобразование британской системы единиц в метрическую | Свойство ImperialToMetricConversion | Перечисление ImperialToMetricConversionType | ✅ | |
| Единицы угловой меры | Свойство AngularUnits | Перечисление AngleUnitType | ✅ | |
| Масштабировать объекты, вставленные из других чертежей | Свойство ScaleObjectsFromOtherDrawings | bool | ✅ | |
| Установить соответствующие переменные AutoCAD | Свойство MatchAutoCADVariables | bool | ✅ | |
| Пользовательский масштаб | Свойство DrawingScale | double | ✅ | К выпадающему списку как в UI доступа нет. Вместо этого редактируйте данное свойство. |
| Категории: Доступные системы координат: Код выбранной системы координат Описание Проекция Референц-Эллипсоид | Свойство CoordinateSystemCode | string | ✅ | Вы можете вызвать статический метод GetAllCodes(), который вернёт коды всех загруженных систем координат.С помощью статического метода GetCoordinateSystemByCode можно получить определение СК по коду. И далее узнать её категорию Category и наименование Description.Описание, проекцию и референц-эллипсоид получить через свойства Description, Projection, Datum соответственно. |
Преобразование
Доступ к настройкам осуществляется через свойство SettingsDrawing.TransformationSettings и описываются классом SettingsTransformation.
| Элемент в настройках | Чем представлено в API | Чем описывается в API | Write | Примечание |
|---|---|---|---|---|
| Применить параметры преобразование | Свойство ApplyTransformSettings | bool | ✅ | Это свойство класса SettingsDrawing! |
| Описание зоны | Свойство CoordinateSystemCode | string | ❌ | Вернитесь к SettingsDrawing.UnitZoneSettings и вызовите через метод GetCoordinateSystemByCode информацию о СК чертежа, оттуда возьмите имя -Description |
| Применить масштабный коэффициент уровня моря | Свойство ApplySeaLevelScaleFactor | bool | ✅ | |
| Отметка (уровня моря) | Свойство SeaLevelScaleElevation | double | ✅ | |
| Радиус эллипсоида вращения | Свойство SpheroidRadius | double | ✅ | |
| Масштабный коэффициент сетки, вычисление (набор перечислений) | Свойство GridScaleFactorComputation | Перечисление GridScaleFactorType | ✅ | |
| Масштабный коэффициент сетки, величина масштабного коэффициент | Свойство GridScaleFactor | double | ||
| Центр поворота (флажок) Указать угол поворота сетки (флажок) | Свойство SpecifyRotationType | Перечисление SpecifyRotationType | ✅ | Для "Центр поворота" = RotationPoint; Для "Указать угол поворота сетки" = GridRotationAngle |
| Указать угол поворота сетки, значение "К северу" | Свойство RotationToGridNorth | double | ✅ | |
| Указать угол поворота сетки, значение "Азимут" | Свойство RotationToGridAzimuth | double | ✅ | |
| Центр поворота, Локальное северное положение Центр поворота, Локальное восточное положение | Свойство LocalRotationPoint | Point2d | ✅ | Компонента X описывает восточное положение; компонента Y описывает северное положение |
| Центр поворота, Северное положение в координатах сетки Центр поворота, Восточное положение в координатах сетки | Свойство GridRotationPoint | Point2d | ✅ | Компонента X описывает восточное положение; компонента Y описывает северное положение |
| Опорная точка, Локальное северное положение Центр поворота, Локальное восточное положение | Свойство LocalReferencePoint | Point2d | ✅ | Компонента X описывает восточное положение; компонента Y описывает северное положение |
| Опорная точка, Северное положение в координатах сетки Центр поворота, Восточное положение в координатах сетки | Свойство GridReferencePoint | Point2d | ✅ | Компонента 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 | Чем описывается | Примечание |
|---|---|---|---|
| Текст общего назначения | GeneralText | SettingsAbbreviationGeneral | |
| Текст для точки геометрии трассы | AlignmentGeoPointText | SettingsAbbreviationAlignment | |
| Данные объекта для точки геометрии трассы | AlignmentGeoPointEntityData | SettingsAbbreviationAlignmentEnhanced | |
| Вираж | Superelevation | SettingsAbbreviationSuperelevation | |
| Возвышение наружного рельса | Cant | SettingsAbbreviationCant | |
| Профиль | Profile | SettingsAbbreviationProfile | |
| Функциональность самих классом похожа. Имеется некоторое перечисление, для которого получаются настройки и задаются настройки (в виде строк). |
Параметры среды
Доступ к настройкам осуществляется через свойство SettingsDrawing.AmbientSettings и описываются классом SettingsAmbient.
Некоторые параметры среды (отдельные свойства) в UI имеют серый цвет и не доступны для редактирования, со стороны API к них также нет доступа для данной группы.
Все остальные свойства, характеризующие параметры среды, в API доступны только для чтения - никакие из них нельзя изменить!
Общие
Группа свойств описывается классом SettingsAmbient.SettingsGeneral и доступна через свойство General.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Тип отображения единиц при печати | Свойство PlottedUnitDisplay | Перечисление PlottedUnitDisplayType | |
| Задание единиц измерения AutoCAD | |||
| Сохранить изменения параметров команды | Свойство SaveCommandChangesToSettings | bool | Описывается PropertyBoolean, но по факту это обычный boolean |
| Отображать средство просмотра событий | Свойство ShowEventViewer | bool | |
| Показать подсказки | Свойство ShowToolTips | bool | |
| Преобразование британской системы единиц в метрическую | |||
| Состояние всплывающей подсказки для нового объекта | Свойство NewEntityToolTipState | bool | |
| Направление движения транспорта | Свойство DrivingDirection | Перечисление DrivingDirectionType | |
| Единица измерения на чертеже | |||
Также имеется свойство IndependentLayerOn - возвращает или задает признак, будет ли отображаться объект в зависимости от видимости его слоя. Согласно официальной справке свойство эквивалентно SettingsObjectLayers.ObjectControlledByLayer. |
Степень кривизны
Группа свойств описывается классом SettingsAmbient.SettingsDegreeOfCurvature и доступна через свойство DegreeOfCurvature.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единицы длины хорды | Свойство UnitChordLength | double | |
| Единица длины дуги | Свойство UnitArcLength | double |
Назначение меток
Группа свойств описывается классом SettingsAmbient.SettingsLabeling и доступна через свойство Labeling.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Метод запроса меток | Свойство PromptMethod | Перечисление LabelingPromptType | Запретить запросы = Suppress Командная строка = CommandLine Диалоговое окно = Dialog |
Время
Группа свойств описывается классом SettingsAmbient.SettingsTime и доступна через свойство Time.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление TimeUnitType | Запретить запросы = Suppress Командная строка = CommandLine Диалоговое окно = Dialog |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | Стандартное округление = Normal Округление вверх = Up Усечение = Truncate |
Безразмерный
Группа свойств описывается классом SettingsAmbient.SettingsUnitless и доступна через свойство Unitless.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType |
Расстояние
Группа свойств описывается классом SettingsAmbient.SettingsDistance и доступна через свойство Distance.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление LinearUnitType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType |
Размер
Группа свойств описывается классом SettingsAmbient.SettingsDimension и доступна через свойство Dimension.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление LinearUnitType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType |
Координата
Группа свойств описывается классом SettingsAmbient.SettingsCoordinate и доступна через свойство Coordinate.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление LinearUnitType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType |
Координата сетки
Группа свойств описывается классом SettingsAmbient.SettingsGridCoordinate и доступна через свойство GridCoordinate.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление LinearUnitType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType |
Отметка
Группа свойств описывается классом SettingsAmbient.SettingsElevation и доступна через свойство Elevation.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление LinearUnitType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType |
Площадь
Группа свойств описывается классом SettingsAmbient.SettingsArea и доступна через свойство Area.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление AreaUnitType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType |
Объём
Группа свойств описывается классом SettingsAmbient.SettingsVolume и доступна через свойство Volume.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление VolumeUnitType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType |
Скорость
Группа свойств описывается классом SettingsAmbient.SettingsSpeed и доступна через свойство Speed.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление SpeedUnitType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType |
Угол
Группа свойств описывается классом SettingsAmbient.SettingsAngle и доступна через свойство Angle.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление SpeedUnitType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType | |
| Отбрасывать дробную часть для целочисленных значений | Свойство DropDecimalForWholeNumbers | Перечисление DropDecimalWholeType | |
| Отбросить начальные нули для градусов | Свойство DropLeadingZerosForDegrees | Перечисление DropLeadingZeroType |
Направление
Группа свойств описывается классом SettingsAmbient.SettingsDirection и доступна через свойство Direction.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление AngleUnitType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство 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 | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Формат | Свойство Format | Перечисление AngleFormatType | |
| Направление | Свойство Direction | Перечисление DirectionDisplayType | |
| Заглавные буквы | Свойство Capitalization | Перечисление DirectionNameDisplayType | |
| Отбрасывать дробную часть для целочисленных значений | Свойство DropDecimalForWholeNumbers | Перечисление DropDecimalWholeType | |
| Отбросить начальные нули для градусов | Свойство DropLeadingZerosForDegrees | Перечисление DropLeadingZeroType |
Уклон
Группа свойств описывается классом SettingsAmbient.SettingsSlope и доступна через свойство Slope.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление SlopeFormatType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType |
Откос
Группа свойств описывается классом SettingsAmbient.SettingsGrade и доступна через свойство Grade.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление GradeFormatType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType |
Уклон/откос
Группа свойств описывается классом SettingsAmbient.SettingsGradeSlope и доступна через свойство GradeSlope.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление GradeSlopeFormatType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType |
Пикет
Группа свойств описывается классом SettingsAmbient.SettingsStation и доступна через свойство Station.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление LinearUnitType | |
| Формат | Свойство Format | Перечисление StationFormatType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType | |
| Символ разделителя пикетов | Свойство StationDelimiterCharacter | Перечисление StationDelimiterCharacterType | |
| Позиция разделителя пикетов | Свойство StationDelimiterPosition | Перечисление StationDelimiterPositionType | |
| Отбрасывать дробную часть для целочисленных значений | Свойство DropDecimalForWholeNumbers | Перечисление DropDecimalWholeType | |
| Отбросить начальные нули для градусов | Свойство DropLeadingZerosForDegrees | Перечисление DropLeadingZeroType | |
| Минимальная ширина отображения | Свойство MinimumDisplayWidth | int |
Ускорение
Группа свойств описывается классом SettingsAmbient.SettingsAcceleration и доступна через свойство Acceleration.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление AccelerationUnitType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType |
Давление
Группа свойств описывается классом SettingsAmbient.SettingsPressure и доступна через свойство Pressure.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Единица | Свойство Unit | Перечисление PressureUnitType | |
| Точность | Свойство Precision | int | |
| Округление | Свойство Rounding | Перечисление RoundingType | |
| Знак | Свойство Sign | Перечисление SignType |
Прозрачные команды
Группа свойств описывается классом SettingsAmbient.SettingsTransparentCommands и доступна через свойство TransparentCommands.
| Имя свойства в UI | Что отвечает в API | Чем описывается | Примечание |
|---|---|---|---|
| Запрос на ввод 3D точек | Свойство PromptFor3DPoints | bool | |
| Запрос на ввод Y до ввода X | Свойство PromptForYBeforeX | bool | |
| Запрос на ввод восточного положения до ввода северного положения | Свойство PromptForEastingThenNorthing | bool | |
| Запрос на ввод долготы до ввода широты | Свойство PromptForLongitudeThenLatitude | bool |
Стили
Стили - это неотъемлемая часть объектной модели Civil 3D, они определяют, как объект выглядит, какие у него настройки отображения\формирования, какие сценарии анализа можно применить к объекту и пр. На стороне UI стили объектов доступны для просмотра на вкладке "Параметры" области инструментов чертежа.
На стороне API доступ к стилям осуществляется через специальный класс StylesRoot, получаемый через свойство Styles у сущности CivilDocument. В таблице далее приведена информация, каким классом описывается коллекция стилей для соответствующего объекта в Civil 3D:
| Группа стилей в Civil 3D | Свойство в API | Чем описывается? | Примечание |
|---|---|---|---|
| Общие | |||
| Универсальные стили | |||
| Стили маркеров | MarkerStyles | MarkerStyleCollection | |
| Стили характерной линии | |||
| Стили штриховки откосов | |||
| Стили проекций | |||
| Стили набора кодов | |||
| Стили звена | |||
| Стили фигуры | |||
| Стили меток | |||
| Точка | PointStyles | PointStyleCollection | |
| Поверхность | SurfaceStyles | SurfaceStyleCollection | |
| Участок | ParcelStyles | ParcelStyleCollection | |
| Объект профилирования | |||
| Трасса | AlignmentStyles | AlignmentStyleCollection | |
| Профиль | |||
| Вид профиля | |||
| Вид виража | |||
| Вид возвышения наружного рельса | |||
| Ось сечения | |||
| Сечение | SectionStyles | SectionStyleCollection | |
| Вид сечения | SectionViewStyles | SectionViewStyleCollection | |
| Линия диаграммы земляных масс | |||
| Вид диаграммы земляных масс | |||
| Водосбор | |||
| Трубопроводная сеть | |||
| Труба | |||
| Колодец | |||
| Напорная трубопроводная сеть | |||
| Напорная труба | |||
| Фитинг | |||
| Устройство регулирования потока | |||
| Мост | |||
| Коридор | |||
| Перекресток | |||
| Конструкция | |||
| Элемент конструкции | |||
| Объем работ | |||
| Съемка | |||
| Группа рамок вида | |||
| Рамка вида | |||
| Линия соответствия | |||
| Участок застройки | |||
| Железная дорога | |||
| -- | |||
| Стили таблицы | TableStyles | TableStylesRoot | Для любых таблиц. Свойства класса описывают таблицы для соотв. объектов |
Получение стиля
Любой стиль