Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
04 Руководство по проведению расчетов ArchiCAD.pdf
Скачиваний:
164
Добавлен:
18.03.2016
Размер:
12.37 Mб
Скачать

SQL в ArchiCAD

SQL в ArchiCAD

SQL (Structured Query Language структурированный язык запросов) является наиболее распространенным языком работы с базами данных. Он позволяет формулировать запросы к базе данных и получать структурированные результаты.

Так как проекты ArchiCAD, в целом, представляют собой базы данных конструктивных элементов (Стен, Перекрытий, Крыш, Оболочек, Объектов и т.д.), при помощи SQL можно получать данные об элементах, присутствующих в проекте. По умолчанию меню SQL отсутствует во всех Профилях Окружающей Среды. Для работы с SQL воспользуйтесь диалогом настройки Окружающей Среды, чтобы включить в структуру Меню следующие команды:

Запрос

Показать Структуру Данных.

Примечание: Чтобы найти эти команды, воспользуйтесь командой Параметры > Окружающая Среда > Меню, активируйте вариант "Все команды по теме" и раскройте список Расчеты.

Активируйте команду Запрос. Открывшееся окно Запроса SQL предназначено для ввода команд SQL.

SQL команды могут относиться либо к выбранным элементам, либо ко всей базе данных Проекта ArchiCAD. Это означает, что использование SQL команд не даст никакого результата в новом Проект, не содержащем ни одного элемента.

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

SQL данные Проекта ArchiCAD отображаются в виде таблиц. Эти таблицы содержат информацию об элементах, параметрах и реквизитах Проекта. Например, таблица WALLS

Руководство по Выполнению Расчетов в ArchiCAD

85

SQL в ArchiCAD

содержит все столбцы (параметры, значения, связанные со стенами), которые можно использовать для каждого элемента Стен.

При активации команды Показать Структуру Данных в окне браузера отображается файл XML, содержащий список всех Таблиц, которые могут использоваться в запросах SQL.

Команда SELECT является одной из наиболее часто используемых в Языке SQL. Она позволяет задать набор элементов, участвующих в запросе. Синтаксис этой команды представляет собой следующее выражение:

SELECT <parameters> FROM <table>

Вполе <parameters> можно указать имена интересующих вас параметров таблицы. Применение символа * приводит к отображению всех параметров. Имена нескольких параметров, включаемых в запрос, следует разделять запятыми.

Вполе <table> указывается имя таблицы, из которой требуется получить данные.

НарасположеннойвышеиллюстрациибылаиспользованакомандаSELECT * FROM WALLS, что привело в включению в отчет всех параметров таблицы WALLS. На следующей

86

Руководство по Выполнению Расчетов в ArchiCAD

SQL в ArchiCAD

иллюстрации приведен пример включения в команду параметров Пользовательского ID, Длины, Высоты и Толщины, разделенных запятыми.

Следующим модификатором SQL команд является WHERE. Он позволяет ограничить количество элементов, включаемых в отчет. Например, запрос:

SELECT ID, LENGTH, HEIGHT, THICKNESS FROM WALLS WHERE HEIGHT='2.700'

приводит к выводу значений перечисленных параметров только для Стен высотой 2.7 метра (числовые значения в командах GRAPHISOFT® всегда указываются в метрической системе).

База данных ArchiCAD имеет некоторое отличие от обычных баз данных SQL. Оно заключаетсявтом, чтонекоторыепараметрынекоторыхтаблицсамиявляютсятаблицами. Например, столбец Parameters таблицы OBJECTS сам является таблицей. Ввод запроса:

SELECT USERID, LIBRARY_PART_NAME, PARAMETERS FROM OBJECTS WHERE LIBRARY_PART_NAME='Стул 01'

Руководство по Выполнению Расчетов в ArchiCAD

87

SQL в ArchiCAD

приводит к получению следующего результата:

Отчет содержит Пользовательский ID, Имя Библиотечного Элемента и Параметры объекта Стул 01.gsm. Как вы можете заметить, расширение имени файла библиотечного элемента в командах SQL не указывается. Столбец Параметры содержит таблицу ПАРАМЕТРЫ со своими собственными столбцами.

В языке SQL GRAPHISOFT имеется специальная команда для получения только такой внутренней таблицы. Она называется FLAT и ее синтаксис следующий:

FLAT(<table>, <parameter>) AS <name>

В полях <table> и <parameter> указывается имя таблицы и параметр, который следует вывести. Поле <name> определяет новое имя создаваемой таблицы, чтобы на нее можно было сослаться.

Ниже приводится пример вывода всех параметров объекта Стул 01.gsm. Здесь таблице PARAMETERS, вложенной в таблицу OBJECTS, присвоено имя XX. Обращение к таким вложенным параметрам осуществляется следующим образом:

XX.PARAMETERS.<parameter>, где XX.PARAMETERS таблица параметров объекта.

88

Руководство по Выполнению Расчетов в ArchiCAD

SQL в ArchiCAD

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

SQL:

Давайте рассмотрим простой пример. С помощью одной из основных Схем Ведомостей Зон мы можем создать следующий список помещений жилого здания. Все зоны, расположенные на одном этаже, имеют одинаковый Пользовательский ID: ‘A1 03’.

Руководство по Выполнению Расчетов в ArchiCAD

89

SQL в ArchiCAD

Для получения того же результата с помощью SQL следует выполнить следующий запрос. Воспользовавшись модификатором WHERE, мы можем создать отчет только Зон, находящихся на этаже ‘A1 03’:

Результат будет выглядеть следующим образом:

Язык SQL имеет много других команд и возможностей. Подробную информацию об этом языкеможнонайтивИнтернет. НаначальномэтапезнакомствасSQL можноиспользовать следующий сайт: http://www.sql.org/

Существует также документация по использованию SQL GRAPHISOFT. Она включена в документацию GRAPHISOFT ODBC (Open Database Connectivity), которая может быть загружена со страницы Документации Центра Разработчиков GRAPHISOFT по следующему адресу: http://www.graphisoft.ru/support/developer/tools/.

На этой же странице можно загрузить драйвер ODBC. Он позволяет пользователям приложений, работающих с базами данных, подключаться к базам данных проектов ArchiCAD (файлы *.PLN) и извлекать из них данные. Для получения доступа к данным

90

Руководство по Выполнению Расчетов в ArchiCAD

SQL в ArchiCAD

ресурсам, пожалуйста, воспользуйтесь разделом Загрузки Центра Разработчиков

GRAPHISOFT на сайте GRAPHISOFT.

Руководство по Выполнению Расчетов в ArchiCAD

91