Конструктор элементов для безнапорной сети. Возможности расширенной адаптации.

Автор Тема: Конструктор элементов для безнапорной сети. Возможности расширенной адаптации.  (Прочитано 8154 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Мало кто знает, что каталог элементов для безнапорной сети включает в себя XML документы, определяющие характеристики элементов. Правкой этих документов можно добиться гораздо лучших результатов, чем с использованием стандартного интерфейса редактирования каталога. Как примеры:
Добавление нового свойства к элементу:
http://beingcivil.typepad.com/my_weblog/2010/07/assigning-optional-properties-to-a-part-size.html
Решение проблемы создания нового элемента:
http://forums.autodesk.com/t5/AutoCAD-Civil-3D-%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9/%D0%9A%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D0%BE%D1%80-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2-%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BE%D0%BB%D0%BE%D0%B4%D1%86%D0%B5%D0%B2/td-p/3784869
Также, обнаружил еще одну возможность, кому-то, может быть, пригодится. При задании имени элемента, можно пользоваться калькулятором, позволяющим вводить в имя переменные параметры. Это хорошая возможность, но не всегда получается тот результат, который нужен. К примеру, везде между параметрами обязательно ставится пробел. Также, если мы используем числовой параметр, то при его отображении обязательно появляется пробел-разделитель тысячных разрядов. Чтобы исправить ситуацию, можно снова воспользоваться возможностью ручной корректировки XML файлов каталога. Открываем XML документ в каталоге с именем нужного элемента, находим в нем строчку описания имени размера. У меня она выглядит так:
Код - XML [Выбрать]
  1. <ColumnCalc desc="Название размера элемента" dataType="string" unit="" name="PrtSN" id="CCA0" visible="1" context="Catalog_PartSizeName" index="0">"Колодец " + FormatNumber($SID,0) + " мм"</ColumnCalc>
Здесь мы видим, что имя образуется простым объединением частей строк с использованием функции FormatNumber. Это функция VBScript: http://msdn.microsoft.com/en-us/library/ws343esk(v=vs.84).aspx. Убрав ненужные нам пробелы и задав желаемые параметры, получим строку такого вида:
Код - XML [Выбрать]
  1. <ColumnCalc desc="Название размера элемента" dataType="string" unit="" name="PrtSN" id="CCA0" visible="1" context="Catalog_PartSizeName" index="0">"Колодец " + FormatNumber($SID,0,,,0) + "мм"</ColumnCalc>
Меняем строку, сохраняем и закрываем XML, перезагружаем каталог. Название элемента после этого отображается так, как мне нужно.
Возможно, есть еще какие-то скрытые возможности? Предлагаю обменяться опытом :)

Оффлайн Doublefish

  • ADN Club
  • ****
  • Сообщений: 288
  • Карма: 10
  • AutoCAD Civil 3D
Да - в некоторых случаях проще отредактировать определённые xml файлы чем лесть в конструктор элементов.

Есть ещё команда PARTCATALOGREGEN, которая позволяет обновить каталог - на самом деле происходит обновление xml файла Pipes Metric Russia.apc и Structures Metric Russia.apc (обновляется структура этих xml).