====== Структура изыскательского кодификатора ====== 1. Откройте папку **Codifiers** где находится файл изыскательского кодификатора, по умолчанию это следующий путь - **C:\ProgramData\Topomatic\Robur Survey\16.0\Support\**. В зависимости от используемой версии и конфигурации программы путь к папке с кодификатором может незначительно отличаться. 2. С помощью любого текстового редактора откройте файл **Robur-Road.codes**:{{ :road:structure_codifier.jpg |рис.1}} Каждая строка кодификатора описывает один элемент (код). Каждый элемент содержит четыре параметра: * **Code Pattern** – это текстовое поле где задается изыскательский код объекта съемки, который программа будет находить (при импорте поверхности или при работе с уже загруженными точками) и сопоставлять с объектом из программной библиотеки (Менеджер структуры семантики). Изыскательский код может быть набором различных символов, т.е. состоять, например только из цифровых\буквенных значений: **1, 54, КН, ИС** и т.д., а также из любого набора символов, например: **1К-Н, 23СТ** и т.д. В связи с тем, что система кодирования на предприятии может быть различной и в значение кода при съемке может быть добавлена также информация, например о порядковом номере снимаемого объекта, его характеристике и т.д., в результате, например, снимаемые объекты **Опоры ЛЭП** могут быть закодированы кодами - **ОЖБ87, ОЖБ88** и т.д., где: - О - код объекта "Опора" - ЖБ - материал опор (Железобетонная) - 87, 88 - номер опоры В результате получается, что один и тот же объект съемки (Опора) имеет разные изыскательские коды (ОЖБ87, ОЖБ88 и т.д), а объект из библиотеки для всех этих кодов должен быть назначен одинаковый (Опора ЛЭП). Таким образом, для решения задачи нахождения кода и сопоставления его с объектом из библиотеки, необходимо искать (в данном случае) не полное соответствие изыскательского кода, а только его часть, т.е. "ОЖБ", а остальную часть кода (цифры характеризующие номера опор) пропустить. Для решения этой задачи в текстовом поле **Code Pattern** можно использовать синтаксис регулярных выражений. В следующем разделе документации [[road:work_with_cmm:settings_codifier:creating_and_applying_codifier:start|Создание и редактирование изыскательского кодификатора]] приведен пример использования регулярных выражений. Более подробную информацию о регулярных выражениях можно найти в свободном доступе, например [[https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F|Wikipedia]] или [[https://docs.microsoft.com/ru-ru/dotnet/standard/base-types/regular-expression-language-quick-reference|Microsoft]] * **DefaultValue** и **Descriptions** - текстовые поля, определяющие описание объектов изысканий, и отображающиеся непосредственно в самом окне **Кодификатора**, который можно открыть, например, выбрав меню **Поверхность - Точки - Подсветить**. {{ :road:structure_codifier2.jpg |рис.2}} * **Semantic** – текстовое поле, где указывается номер семантического объекта из **Менеджера структуры семантики**, который должен сопоставиться с точечным объектом съемки согласно изыскательского кода, т.е. указанного в параметре **Code Pattern** (подробнее о см. ниже в следующем разделе). Следующий раздел: [[road:work_with_cmm:settings_codifier:creating_and_applying_codifier:| Создание и редактирование изыскательского кодификатора]]