Локализация и изменение кодов элементов конструкций

В целях локализации типовые элементы конструкций Autodesk Civil 3D для определения кодов точек, звеньев и форм, на которые выполняются ссылки в элементах конструкции, используют внешний файл кодов.

Внешний файл кодов имеет имя C3DStockSubassemblyScripts.codes и находится в той же папке, что и файл C3DStockSubassemblyScripts.dvb и/или файл C3DStockSubassemblies.dll. В английской версии системы по умолчанию используется папка C:\ProgramData\Autodesk\C3D <версия>\rus. В локализованных версиях систем вместо "enu" стоит код соответствующего языка или региона.

Файл кодов связывается с каждым узлом с помощью модуля CodesSpecific в файле .dvb. В следующих разделах представлено пояснение определения файлов кодов и способ их редактирования или добавления к ним кодов точек, звеньев и форм.

Модуль CodesSpecific находится в файле CodesSpecific.vb проекта VB C3DStockSubassemblies (в случае работы с элементами конструкции на языке .NET) и в файле формата .dvb (при работе с элементами конструкции VBA).

Общие сведения о файле C3DStockSubassemblyScripts.codes

Файл C3DStockSubassemblyScripts.Codes можно открыть в любом текстовом редакторе. Комментарии можно добавлять в этот файл, поставив две наклонные черты // в начале предложения. В этом файле не следует оставлять какие-либо пустые строки. Каждая строка кодов отделяется от следующей символом возврата каретки. Каждое определение кода состоит из указанных ниже компонентов, разделенных запятыми:

Прим.: Файлы кодов должны храниться в кодировке Юникод. Например, если файл кодов обновляется в программе Блокнот, в диалоговом окне "Сохранить как" есть поле, в котором можно выбрать кодировку. Проверьте, чтобы в нем был выбран Юникод.

Ниже приведен пример строки определения кода в файле C3DStockSubassemblyScripts.codes:

38,BottomCurb,Bottom of curb,Bottom of curb for a curb without gutter.

The Index number is: 38.

The Localized Code is: BottomCurb.

The Original Code is: BottomCurb.

The Code Description is: Bottom of curb for a curb without gutter.

Изменение кодов по умолчанию для типовых элементов конструкции Autodesk Civil 3D

Чтобы изменить или локализовать отображаемые имена кодов, следует открыть файл C3DStockSubassemblyScripts.codes в текстовом редакторе и изменить "Локализованный код" и/или описание соответствующего кода.

Например, отображаемое имя "Curb Bottom" можно изменить, отредактировав указанные ниже жирным шрифтом компоненты в файле C3DStockSubassemblyScripts.codes следующим образом:

38,НизБордюра,BottomCurb,Нижняя часть бордюра для бордюра без водосборного лотка

Добавление нового кода к типовым элементам конструкции Autodesk Civil 3D

Если требуется изменить коды имеющихся элементов конструкции или добавить новый модуль элемента конструкции и предполагается использовать ту же самую структуру, которая используется по умолчанию в библиотеке компонентов для элементов конструкции .NET, выполните следующие операции:

  1. Добавьте запись <New Code> в конец файла C3DStockSubassemblyScripts.Codes с новым индексом, первоначальным кодом и описанием (описание не обязательно).
  2. В файле CodesSpecific.vb проекта VB C3DStockSubassemblies добавьте следующую запись в конце структуры AllCodes:Public <New Code> as CodeType.
  3. В файле CodesSpecific.vb, в блоке With/End With процедуры FillCodeStructure, в конце добавьте следующую запись: GetFromCollection colCodesAndDescriptionHashtable, n, .<NewCode>
  4. Объявите значения, которые будут использоваться по умолчанию, если файл кодов не будет найден, для элемента CodesDefault(<New Code Index>) в функции InitializeDefaults() модуля CodesSpecific.
  5. Измените размер массива CodesDefault в модуле CodesSpecific инструкции Dim.

Новый код, который добавляется с использованием этих процедур, может использоваться для любых имеющихся или новых элементов конструкции на коде .NET в типовых элементах конструкции Autodesk Civil 3D.

Для элементов конструкции VBA можно выполнить следующие операции:

  1. Добавьте запись <New Code> в конец файла C3DStockSubassemblyScripts.Codes с новым индексом, локализованным именем и описанием (описание не обязательно).
  2. В модуле CodesSpecific файла C3DStockSubassemblyScripts.dvb добавьте в конце структуры AllCodes следующую запись: g_s<New Code> as CodeType
  3. В файле CodesSpecific, в блоке With/End With процедуры FillCodeStructure, в конце добавьте следующую запись: GetFromCollection colCodesAndDescriptionHashtable, n, .g_s<NewCode>
  4. Объявите значения, которые будут использоваться по умолчанию, если файл кодов не будет найден, для элемента g_arrDefaults(<New Code Index>) в функции InitializeDefaults() модуля CodesSpecific.
  5. Измените размер массива g_arrDefault в модуле CodesSpecific.

Новый код, который добавляется с использованием этих процедур, может использоваться для любых имеющихся или новых элементов конструкции на коде VBA в типовых элементах конструкции Autodesk Civil 3D.

Прим.: Процесс связывания кодов точек выполняется, в первую очередь, для облегчения локализации библиотечных элементов по умолчанию. Если пользователь составляет собственные элементы конструкции, эту процедуру использовать не обязательно. Пользователь может создавать новые модули, содержащие составленный пользователем список кодов, на которые могут ссылаться элементы конструкции. Кроме того, можно пропустить этот процесс и жестко закодировать строки внутри каждого модуля.

Локализация палитр инструментов и каталогов элементов конструкции

В общем случае элементы конструкции по умолчанию определяются для широкого ряда клиентов и географических регионов. Возможно, возникнет необходимость в замене некоторых отображаемых имен каталогов, палитр, инструментов или значений инструментов, которые применяются для разных ситуаций и языков. Эти каталоги и палитры инструментов составлены в файлы .atc в формате XML, и их можно редактировать.

Прим.: По умолчанию для английской версии системы файлы .atc каталога инструментов элементов конструкции Autodesk Civil 3D устанавливаются в папку C:\ProgramData\Autodesk\C3D <версия>\rus\Tool Catalogs\Road Catalog.

В приведенном ниже списке указаны значения элементов данных, которые можно изменить в целях локализации в файле .atc каталога инструментов элементов конструкции.

Прим.: Изменять следует только значения элементов данных, а не сами имена элементов (например - "Ширина" в узле "ПростаяПолоса"). Эти элементы данных являются именами глобальных переменных, используемых в сценариях для элементов конструкции.

Установка пакетов адаптации, пользовательских файлов кодов, региональных файлов кодов

Если вы планируете установить пакет адаптации, содержащий региональный файл кодов, или использовать файлы кодов с локализованным содержимым, перед установкой выполните следующее:

Создайте резервную копию регионального или пользовательского файла кодов, переименуйте его, присвоив имя стандартного установленного файла кодов (например, в английской версии продукта используется имя C3DStockSubassemblyScripts_US.codes), и скопируйте в папку C:\ProgramData\Autodesk\C3D <версия>\rus В локализованных версиях систем вместо кода "enu" стоит обозначение соответствующего региона.

При первой установке программы Autodesk Civil 3D на компьютер устанавливаются две версии файла кодов:

Файл C3DStockSubassemblyScripts_<регион>.codes (в нашем примере файл C3DStockSubassemblyScripts_US.codes) используется для резервного копирования и защиты содержимого файла кодов.

При установке пакета адаптации, содержащего региональный файл кодов, файл с локализованными кодами записывается под именем C3DStockSubassemblyScripts.codes, заменяя существующий файл, а в файле C3DStockSubassemblyScripts_<регион>.codes создается его копия. По этой причине в случае изменения файла C3DStockSubassemblyScripts.codes важно создать резервную копию до установки пакета адаптации или региональных файлов кодов.

Устранение проблем, связанных с файлами кодов

Если при использовании пользовательских элементов конструкции или при выполнении каких-либо операций по моделированию коридоров в Autodesk Civil 3D вы получаете не те результаты, которые ожидали, причина может заключаться в том, что не удается найти файл кодов, на который ссылается чертеж. В некоторых случаях эту проблему можно решить, обновив файл кодов и добавив в него всю необходимую информацию.