Было бы неплохо провести структурный анализ, дизайн, и оптимизация прямо в Google Таблицах? Разве не сэкономит много времени простой инструмент, который использует несколько параметров в качестве входных данных для создания и анализа полной структурной модели??

В этой статье мы представляем интеграцию SkyCiv API с Google Таблицами, с использованием Скрипт Google Apps. Скрипт приложений - это облачная платформа JavaScript, которая позволяет интегрировать и автоматизировать задачи в продуктах Google, поэтому вы можете легко создавать свои собственные приложения для автоматизации повторяющихся задач, сочетая все возможности продуктов Google и любой другой службы, способной обмениваться данными с помощью HTTP-запросов.. Это случай SkyCiv, наш API получает объект, содержащий информацию о модели и функции, которые SkyCiv должен запускать в модели.. После того, как все расчеты произведены, API отвечает результатами анализа, дизайн, и оптимизация в зависимости от того, что просили вернуть.
В основе этого решения лежит проблема создания вручную модели структур, которые обычно проектирует ваша компания, и необходимость вручную переносить результаты из программного обеспечения для анализа / проектирования / оптимизации в электронную таблицу для дальнейшей обработки этих результатов.. Например, мы собираемся объяснить, как создать электронную таблицу, способную создать модель подпорной стены над сваями в SkyCiv S3D., текущий анализ, и получение результатов обратно в электронную таблицу.
Модель состоит из пластины, которая представляет собой ствол стены на опорной балке, которая поддерживается двумя сваями.. Это довольно простая структура, но моделирование ее каждый раз с нуля может быть очень утомительной задачей.. Вот пошаговое руководство по подключению электронной таблицы к SkyCiv API и автоматизации процессов моделирования и анализа..
Заметка: Электронная таблица, использованная в этом примере, вместе со всем связанным с ней кодом., можно получить доступ Вот, имейте в виду, что вам нужно сначала сделать копию на вашем Диске, перейдя в Файл>Сделать копию
Вход
Первым шагом является определение набора параметров, которые могут полностью описать конструктивную систему.. В случае описанной подпорной стены, нам нужно геометрически описать шток, основа, и сваи, Кроме того, нам нужны свойства поддерживающего грунта, а также нагрузки, которые будут приложены к стене. Это сказал, параметры, которые описывают модель, организованы в некоторых таблицах на первом листе.
Код
Весь код написан прямо в пользовательском интерфейсе Apps Script.. Чтобы попасть в редактор кода, вы можете перейти в строке меню, чтобы Расширения > Скрипт приложений
Взаимодействие с пользователем
Чтобы пользователь мог взаимодействовать с функциями, которые мы собираемся написать, мы можем добавить элемент меню в пользовательский интерфейс., это легко сделать, используя следующий код:
/**
* @description Эта функция добавляет элементы меню в пользовательский интерфейс.
*/
функция onOpen() {
var ui = ТаблицаApp.getUi();
// Создайте элемент меню верхнего уровня в пользовательском интерфейсе
ui.createMenu("SkyCiv")
.Добавьте предмет('Получить данные аутентификации', 'gotoAuthPageCallback')
.addSeparator()
.addSubMenu(ui.createMenu('Подпорная стена (геморрой)')
.Добавьте предмет('Модель рендеринга', 'renderModelCallback')
.Добавьте предмет('Бегать', 'createModelCallback'))
.addToUi();
}
Получение данных из электронной таблицы
В коде, нам понадобятся все данные, относящиеся к геометрическим параметрам, грузы, и условия поддержки из таблицы, для этой цели, мы создаем объект Apps Script (очень похож на JavaScript) используя структуру, показанную в следующем фрагменте:
// Создайте все "глобальные" переменные
const data_sheet_name = 'Данные';
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(data_sheet_name);
пусть stem_height = sheet.getRange(5, 2).getValue();
пусть pile_length = sheet.getRange(10, 2).getValue();
//Используйте указанные выше переменные для создания s3d_model
Создание модели
Самая важная функция - это та, которая создает объект модели, который будет отправлен в SkyCiv API., он следует некоторым правилам, которые можно найти в нашем Документация по API. Нам нужно написать много циклов for и условных операторов, чтобы успешно создать этот объект модели. (узлы, элементов, сечений, грузы, и т.д...). Весь код можно найти Вот.
Создание объекта API
Модель, созданную на предыдущем шаге, необходимо подключить к объекту API, который содержит все инструкции для API, чтобы он знал, что делать., общую структуру объекта API также можно найти в нашем Документация по API. Для этого примера, мы начнем сессию, установить модель, сетка тарелок, решать, и сохраните модель. Весь код можно найти Вот. Объект API также содержит данные аутентификации., который состоит из вашей электронной почты, зарегистрированной в SkyCiv, и вашего ключа, если вы используете пример электронной таблицы, убедитесь, что вы заполнили эту информацию в Лист аутентификации.
Делаем запрос к SkyCiv API
Как упоминалось ранее, этот объект API будет отправлен в API SkyCiv с помощью HTTP-запроса POST, этот запрос выполняется с использованием следующего кода:
// Установите параметры для отправки запроса к API
let options = {
"метод": "Почта",
"заголовки": { 'Тип содержимого': 'приложение / json' },
"полезная нагрузка": JSON.stringify(apiObject)
};
// Сделать запрос, получить ответ и вернуть его
let response = UrlFetchApp.fetch("HTTPS://api.skyciv.com/v3", параметры);
Объект «response» будет содержать то, что API ответил на запрос., этот ответ может быть дополнительно обработан в электронной таблице или в коде в соответствии с вашими конкретными потребностями.. Включает реакции, смещения, подчеркивает, внутренние силы, и т.д...
Результаты
При первом запуске скрипта, вам нужно авторизовать это, и как только модель будет создана и проанализирована, результаты возвращаются в электронную таблицу так, как вы указали в коде. Вся таблица выглядит так:

Скрипт получит URL, по которому модель была сохранена., когда вы перейдете по этому URL-адресу, вы сможете проверить, изменить и решить модель, все в пользовательском интерфейсе SkyCiv S3D:

Лучшее в этой интеграции то, что вы можете значительно сократить время, затрачиваемое на моделирование этих типовых структур.. Просто изменив входные параметры, вы можете получить готовую к решению модель и в дальнейшем автоматизировать анализ результатов., исследование дизайна, проверка конструкции, и оптимизация за счет объединения лучших API SkyCiv, Скрипт Google Таблиц и приложений.
Удачного кодирования!
Разработчик продукта
BEng (гражданского)