8.3. Пример внедрения в программу линейных условных знаков


См. так же:

8.1. Пример внедрения в программу точечных условных знаков (без текстовой информации)

8.2. Пример внедрения в программу точечных условных знаков (с текстовой информацией)

8.4. Пример внедрения в программу площадных условных знаков


Основные сведения

Как говорилось ранее, используемые Программой условные знаки условно поделены на 4 группы:

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

Имя модуляИмя файла с настройкамиТип условных знаков
Растительность -> Отдельно стоящие деревьяces_topo_породы_деревьев.csvТочечные
Растительность -> Точечные топознакиces_topo_растительность_точечн.csv
Коммуникации -> Люкиces_topo_люки.csv
Геодезические пунктыces_topo_геодезические_пункты.csvТочечные с текстовой информацией
Строенияces_topo_строения.csv
Промышленные объектыces_topo_промышленные_объекты.csv
Железные дороги -> Сооружения при ЖДces_topo_сооруж_при_жд.csv
Автодороги -> Сооружения при автодорогахces_topo_сооруж_при_ад.csv
Гидрография -> Точечные топознакиces_topo_гидрография.csv
Гидротехнические объекты -> Точечные топознакиces_topo_гидротехн_объекты.csv
Мосты -> Точечные топознакиces_topo_мосты.csv
Рельеф -> Точечные топознакиces_topo_рельеф.csv
Растительность -> Характеристики деревьевces_topo_характеристики_пород.csv
Сельхозугодья -> Точечные топознакиces_topo_сельхоз_угодья.csv
Грунты -> Точечные топознакиces_topo_грунты.csv
Болота -> Точечные топознакиces_topo_болота.csv
Коммуникации -> Трубопроводыces_topo_трубопроводы.csvЛинейные
Коммуникации -> Кабелиces_topo_кабели.csv
Растительность -> Кабелиces_topo_растительность_лин.csv
Огражденияces_topo_ограждения.csv
Растительность -> Площадные топознакиces_topo_растительность_площ.csvПлощадные
Ограждения -> Ограждения на фундаментеces_topo_ограждения_на_фунд.csvЧастный случай линейных

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

8.3. Пример внедрения в программу линейных условных знаков

8.3.1. Внедряем типы линий

Открываем файл ces_topo_blocks.dwg из папки с программой. Папку с программой можно открыть через меню CES-Топо - Открыть папку с программой. В этот файл вносим необходимые нам типы линий для линейных условнх знаков. В данном примере это полилинии (типы линий g_122_kn, g_122_kb, g_122_kpr, g_122_kprl).

Убеждаемся что нужные нам типы линий присутствуют в списке, вызвав команду '_LINETYPE'

Сохраняем изменения в файле ces_topo_blocks.dwg, сохранив его в формате AutoCAD версии не позднее той, в которой вы собираетесь работать. К примеру, чтобы работать в версии 2010 и позднее, нужно сохранить в формате 2010.

8.3.2. Составляем описание условных знаков, назначаем свойства(наименование, цвет, слой и т.д.).

Открываем Excel, создаем новый файл в следующем виде:

Внимание! На данном этапе слайдам в 5-м столбце только назначаем имена, готовить слайды будем позже. Имена можно назначать произвольно, но я рекомендовал бы для удобства использовать в имени слайда имя соответствующего блока и приставку sld_.

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

Сохраняем файл под именем ГУГК-трубопроводы.csv(или любым другим) в папке с программой.

Следует убедиться, что в качестве разделителя столбцов стоит точка-запятой. Для этого можно открыть наш CSV файл в блокноте. Он должен выглядеть так:

8.3.3. Внедряем в меню.

Открываем в блокноте файл ces_topo.mns из папки с программой. Структура этого файла описывает меню программы:

Обратите внимание на комбинацию символов '->' перед словом 'Построение', означающий начало подменю, и на '<-' перед 'Справка по разделу', означающий конец подменю, это поможет понять принцип описания структуры меню в файле MNS.

Поместим нашу группу условных знаков в отдельное подменю. К примеру, между подменю 'Построения' и пунктом меню 'Перезагрузить программу'. Для этого корректируем MNS файл так, как показано ниже. Добавляемые строки показаны красным. Серым цветом показаны строки, добавленные в предыдущих примерах, (1) и (2).

...
[->Построения]
[Построение прямоугольника]^C^C^C^P(if (not ces_topo_cfg)(load "ces_topo.fas"))^P;_ces_draw_rect
[--]
[Заполнить область перекрестьями координат]^C^C^C^P(if (not ces_topo_cfg)(load "ces_topo.fas"))^P;_ces_ins_kr
[Подписать перекрестья координат]^C^C^C^P(if (not ces_topo_cfg)(load "ces_topo.fas"))^P;_ces_mrk_kr
[--]
[Геоданные контура(полилинии)]^C^C^C^P(if (not ces_topo_cfg)(load "ces_topo.fas"))^P;_ces_geo_data
[--]
[<-Справка по разделу]^C^C^C^P(if (not ces_topo_cfg)(load "ces_topo.fas"))^P;(ces_help "chapter_7-9.htm")
[--]
[->Усл. знаки ГУГК]
[Точечные, автодороги]^C^C^C^P(if (not ces_topo_cfg)(load "ces_topo.fas"))^P;(ces_topo_so "ГУГК-автодороги")
[Точечные, геопункты]^C^C^C^P(if (not ces_topo_cfg)(load "ces_topo.fas"))^P;(ces_topo_so_atr "ГУГК-геопункты")
[<-Трубопроводы]^C^C^C^P(if (not ces_topo_cfg)(load "ces_topo.fas"))^P;(ces_topo_sl "ГУГК-трубопроводы")
[--]
[Перезагрузить программу]^C^C^C^P(if (not ces_topo_cfg)(load "ces_topo.fas"))^P;(ces_topo_menu_reload)
[Удалить программу]^C^C^C^P(if (not ces_topo_cfg)(load "ces_topo.fas"))^P;(ces_topo_uninstall)
[Настройки]^C^C^C^P(if (not ces_topo_cfg)(load "ces_topo.fas"))^P;_ces_topo_options
...

Вид отредактированного MNS файла в блокноте:

После этого обязательно(!) выбираем в меню программы Перезагрузить программу. Только после этого изменения появятся в меню:

Пояснение(1). Команда ces_topo_sl является частью программы CES-Топо, а фраза ГУГК-трубопроводы является именем составленного нами ранее файла CSV без расширения (.CSV) и находящегося в папке с программой. Расширение в меню указывать не нужно! Следующий пример является неправильным: (ces_topo_sl "ГУГК-трубопроводы.CSV"), поскольку программа автоматически добавит расширение и будет искать файл ГУГК-трубопроводы.CSV.CSV и не найдет его.

Пояснение(2). В файле меню комбинация символов -> означает начало подменю, а комбинация символов <- означает конец подменю, этой комбинацией символов должен предваряться только последний пункт подменю, но не все! Обратите внимание на структуру подменю 'Построения'.

8.3.4. Проверка.

Запускаем через меню нашу новую команду. Результат должен быть таким:

На данном этапе изображения отсутствуют, это нормально. Изображения, т.н. слайды, мы будем делать в следующем разделе.

Проверяем каждый условный знак кликая мышью по пустому прямоугольнику под наименованием условного знака.

8.3.5. Готовим слайды.

Вставляем в чертеж по очереди все вновь добавляемые условные знаки (блоки), с некоторым расстоянием между собой. Для каждого условного знака повторяем следующие действия:

Результатом манипуляций будет набор файлов с расширением .SLD:

Причем имена этих файлов должны соответствовать записям в ранее подготовленном нами файле ГУГК-трубопроводы.CSV :

8.3.6. Готовим библиотеку слайдов.

Приготовленные слайды (файлы с расширением sld) необходимо внедрить в библиотеку слайдов, файл с именем ces_sld.slb из папки с программой. Для этого нам потребуются исходные слайды программы CES-Топо, утилита slidelib.exe, идущая в комплекте с автокадом (нужен установленный автокад, путь к этой утилите будет примерно таким: C:\Program Files\Autodesk\AutoCAD 2014\slidelib.exe, так же можно эту утилиту найти через поиск) и скрипт, который облегчит создание библиотеки. Все кроме утилиты slidelib.exe можно загрузить с моего сайта, саму же утилиту, по понятным причинам, я выкладывать не могу.

Загружаем архив с исходными слайдами по ссылке.

Распаковываем его на жесткий диск, в распакованную папку помещаем ранее приготовленные слайды и утилиту slidelib.exe

Запускаем скрипт !sld_make.bat

Результатом работы скрипта и утилиты будет файл ces_sld.slb, который нужно поместить в папку с программой с обязательной заменой исходного файла.

На изображении ниже показано окно проводника с распакованными и нашими новыми слайдами, которые выделены.

8.3.7. Финальная проверка.

При запуске нашего нового пункта меню окно программы должно выглядеть примерно так:

Примечание. Сплошная заливка в формате слайда может выглядеть некорректно. Могу рекомендовать использовать наклонную штриховку с очень маленьким масштабом.

8.3.8. Делаем копии измененных файлов.

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

8.3.9. Возвращаем на место наши изменения после обновления программы.

Просто так вернуть на место измененные нами файлы с заменой существующих после обновления программы может оказаться плачевным - программа в плане обновления окажется в том состоянии, в котором была на момент наших манипуляций, описанных здесь. Поэтому обновленный файл меню (mns) не заменяем нашей копией, а только добавляем в него нашу строчку. С файлом ces_topo_blocks.dwg поступаем так же. Открываем этот файл из папки с программой, открываем в другом окне нашу копию и копируем через буфер обмена наши блоки. Если вы делали изменения в файлах CSV, которые шли вместе с программой, то такие файлы так же нужно обновлять не копированием с заменой, а так же как и файл меню (mns), т.е. копированием только тех строк, которые мы добавляли.


См. так же:

8.1. Пример внедрения в программу точечных условных знаков (без текстовой информации)

8.2. Пример внедрения в программу точечных условных знаков (с текстовой информацией)

8.4. Пример внедрения в программу площадных условных знаков