Этот пример показывает один из простых вариантов использования LabPP_Automat. Он находится в дистрибутиве.
Достаточно немного поэкспериментировать с этим примером чтобы получить представление о гибкости и функциональности возможностей автоматизации.
Текстовые файлы программных скриптов позволяют вносить изменения и полностью менять все что Вы видите.
В каталоге tsprglist Вы можете создать рядом копию каталога "Ландшафтный дизайн с ценами" и дать ему собственное название.
А затем сразу приступить к созданию собственной системы автоматизации на базе своей собственной новой конфигурации. Создавать кнопки, программы, задавать вид панели LabPP_Automat и т.п.
Конфигураций может быть сколько угодно.
Разбор примера.
1. Структура каталогов и конфигурация.
2. Кнопка "Открыть файл Excel".
3. Кнопка помощи.
4. Кнопка выгрузки из ARCHICAD в EXCEL.
5. Кнопка загрузки из EXCEL в ARCHICAD.
6. Найти строку в EXCEL по выбранному объекту ARCHICAD.
7. Найти объект ARCHICAD по выбранной строке в EXCEL.
Подробнее: Пример возможностей скриптов для передачи данных из EXCEL в ARCHICAD
Этот пример показывает один из простых вариантов использования LabPP_Automat для настраиваемого расчета технико-экономических показателей (ТЭП) в ARCHICAD.
В информации о проекте создаются переменные, соответствующие разнообразным показателям. Это площадь застройки в квадратных метрах и в гектарах, площадь участка, коэффициент застройки, строительный объем и т.д.
Эти переменные могут использоваться в качестве автотекста в любых местах проекта штатными средствами ARCHICAD (например в таблицах ТЭП).
Их изменение отражается сразу во всех местах вашего проекта.
Значения переменных ТЭП автоматически рассчитываются и заполняются при выполнении функции "расчет" на панели LabPP_Automat.
Расчет ведется по имеющимся и специально создаваемым пользователем элементам проекта.
В этом примере площадь участка задается 2d штриховкой с ID="S участка" на слое "Площадь участка.ТЭП".
Названия слоев, значения ID и вообще весь порядок выполнения функции можно полностью изменять в текстовом файле программного скрипта.
Так же можно изменять, добавлять или удалять параметры ТЭП. Можно переделать чтобы какие-то переменные были без расчета, для ввода вручную.
Достаточно немного поэкспериментировать с этим примером чтобы получить представление о гибкости и функциональности возможностей автоматизации.
Текстовые файлы программных скриптов позволяют вносить изменения и полностью менять все что Вы видите.
Разбор примера.
1. Состав файлов конфигурации ТЭП. Файл config.cpp.
2. Файл tep.hpp, в котором заданы переменные с названиями слоев, объектов, параметров.
3. Кнопка "Создать параметры зон для ТЭПl".
4. Кнопка "Создать переменные ТЭП в информации о проекте".
5. Кнопка "Создать слои ТЭП в проекте".
6. Кнопка "Заполнить ТЭП по проекту".
В качестве основы языка программирования в LabPP_Automat используется широко известный, простой и гибкий язык Си++.
Достоинствами этого языка являются:
- высокая скорость выполнения;
- орошая читаемость, лаконичность и понятность кода;
- простота создания и обращения к функциям;
- большая библиотека разнообразных процедур.
- его освоение намного легче и он более удобный для работы.
Для большего удобства использования конструкций языка в LabPP_Automat добавлен тип данных string.
Если Вы задали функцию MyStringFunc, которая возвращает строковое значение, то можно писать так:
string MyString = MyStringFunc();
Здесь мы сразу объявляем переменную типа "строка" MyString и сразу же записываем в нее значение из функции MyStringFunc().
int ac_request() | Основаная функция для выполнения операций с ARCHICAD |
string ac_getstrvalue(); | Возвращает текстовый результат последнего запроса к ARCHICAD |
double ac_getnumvalue(); | Возвращает числовой результат последнего запроса к ARCHICAD |
int ac_request(string directive, ... );
Запрос к ARCHICAD. Директива представляет собой кодовое слово, в соответствии с которым выполняется запрос и определяется набор аргументов.
get_curr_floor_name | получить имя текущего этажа в 2d окне ARCHICAD | |
get_object_property_value | получить значение переменной объекта | |
set_object_property_value | изменить значение у переменной объекта | |
set_layer_visible | управляет видимостью слоя |
string alltrim(string source) | Обрезать пробелы в начале и в конце строки |
string toupper(string source) | Перевести содержимое строки в верхний регистр |
string tolower(string source) | Перевести содержимое строки в нижний регистр |
+ | Состыковка строк (конкатенация) |
= | Присвоение значения переменной типа string |
+= | Присваивает значение переменной прибавляя строку к ее текущему содержимому |
string itoa(int value) | Перевести целое значение в строку |
string сtoa(char value) | Перевести целое значение в строку в виде символа |
string sprintf(string format, double value) | Перевести число с плавающей точкой в строку |
int strcontains(string source,string substr) | Если строка source содержит substr, то возвращает 1 (если нет, то 0) |
cout << arg1 << arg2 << ... | Вывести информацию в окно сообщений |
Страница 1 из 3