構造解析を実行するのはいいことではないでしょうか, 設計, Googleスプレッドシートでの最適化? 完全な構造モデルを作成および分析するための入力として少数のパラメータを使用する単純なツールを使用すると、多くの時間を節約できませんか。?

この記事では、 SkyCiv API Googleスプレッドシートで, を使用して Google Apps Script. AppsScriptは Google製品と統合してタスクを自動化できるクラウドベースのJavaScriptプラットフォーム, そのため、独自のアプリを簡単に作成して、Google製品のすべての機能と、HTTPリクエストを介して通信できるその他のサービスを組み合わせた反復タスクを自動化できます。. これはSkyCivの場合です, APIは、モデル情報とSkyCivがモデルで実行することになっている関数を含むオブジェクトを受け取ります. すべての計算が実行された後, APIは分析の結果で応答します, 設計, 何を返すように求められたかに応じて最適化.
このソリューションは、会社が通常設計する構造のモデルを手動で作成する必要があり、分析/設計/最適化ソフトウェアからスプレッドシートに結果を手動で取得して、それらの結果をさらに処理する必要があるという問題から生じます。. 例として, SkyCivS3Dで杭の上に擁壁を作成できるスプレッドシートを作成する方法を説明します。, 分析の実行, 結果をスプレッドシートに戻す.
モデルは、2本の杭で支持されている基礎梁の上にある壁のステムを表すプレートで構成されています. これは非常に単純な構造ですが、毎回ゼロからモデル化するのは非常に面倒な作業になる可能性があります。. これは、SkyCiv APIと通信するスプレッドシートを取得し、モデリングと分析のプロセスを自動化するためのステップバイステップガイドです。.
注意: この例で使用されているスプレッドシートとそれに関連するすべてのコード, アクセスすることができます ここに, 最初に[ファイル]に移動してドライブにコピーを作成する必要があることに注意してください>コピーを作成する
入力
最初のステップは、構造システムを完全に記述できるパラメータのセットを特定することです。. 記載されている擁壁の場合, 茎を幾何学的に記述する必要があります, 基礎, と山, さらに, 支持土の特性と壁にかかる荷重が必要です. とはいえ, モデルを説明するパラメータは、最初のシートのいくつかの表にまとめられています.
コード
すべてのコードは、AppsScriptのユーザーインターフェースで正しく記述されています. コードエディタにアクセスするには, あなたはメニューバーに行くことができます 拡張機能 > Appsスクリプト
ユーザーインタラクション
ユーザーがこれから作成する関数を操作できるように、UIにメニュー項目を追加できます。, これは、次のコードを使用して簡単に実行できます:
/**
* @descriptionこの関数は、メニュー項目をUIに追加します
*/
関数onOpen() {
var ui = SpreadsheetApp.getUi();
// UIでトップレベルのメニュー項目を作成します
ui.createMenu(「SkyCiv」)
.addItem(「認証データを取得する」, 'gotoAuthPageCallback')
.addSeparator()
.addSubMenu(ui.createMenu('擁壁 (杭)」)
.addItem(「レンダリングモデル」, 'renderModelCallback')
.addItem('走る', 'createModelCallback'))
.addToUi();
}
スプレッドシートからのデータの取得
コード内, 幾何学的パラメータに関連するすべてのデータが必要になります, 負荷, スプレッドシートからのサポート条件, その目的のために, AppsScriptオブジェクトを作成します (JavaScriptのものと非常に似ています) 次のスニペットに示す構造を使用します:
// すべての「グローバル」変数を作成します
const data_sheet_name = 'データ';
シート= SpreadsheetApp.getActiveSpreadsheet().getSheetByName(data_sheet_name);
stem_height = sheet.getRange(5, 2).getValue();
tile_length = sheet.getRange(10, 2).getValue();
//上記の変数を使用してs3d_modelを作成します
モデルの作成
最も重要な関数は、SkyCivAPIに送信されるモデルオブジェクトを作成する関数です。, それは私たちの中に見つけることができるいくつかのルールに従います APIドキュメント. そのモデルオブジェクトを正常に作成するには、多くのforループと条件ステートメントを作成する必要があります (ノード, 会員, セクション, 負荷, 等...). すべてのコードを見つけることができます ここに.
APIオブジェクトの作成
前の手順で作成したモデルは、APIのすべての命令を含むAPIオブジェクトにプラグインして、何をすべきかを認識できるようにする必要があります。, APIオブジェクトの一般的な構造は、 APIドキュメント. この例では, セッションを開始します, モデルを設定する, プレートをメッシュします, 解決する, モデルを保存します. すべてのコードを見つけることができます ここに. APIオブジェクトには認証データも含まれています, SkyCivに登録されたメールアドレスとキーで構成されます, スプレッドシートの例を実行している場合, 必ずその情報を 認証シート.
SkyCivAPIにリクエストを送信する
前に述べたように, このAPIオブジェクトは、POSTHTTPリクエストを使用してSkyCivAPIに送信されます, そのリクエストは、次のコードを使用して実行されます:
// APIにリクエストを送信するためのオプションを設定します
オプションを許可= {
"方法": "役職",
"ヘッダー": { 「コンテンツタイプ」: 'application / json' },
"ペイロード": JSON.stringify(apiObject)
};
// リクエストする, 応答を取得して返します
応答= UrlFetchApp.fetchを許可します("https://api.skyciv.com/v3", オプション);
「応答」オブジェクトには、APIが要求に応答したものが含まれます, その応答は、特定のニーズに応じて、スプレッドシートまたはコードでさらに処理できます。. 反応が含まれています, 変位, ストレス, 内力, 等...
結果
初めてスクリプトを実行するとき, あなたはそれを承認する必要があります, モデルが作成され分析されたら, 結果は、コードで指定した方法でスプレッドシートに返されます. スプレッドシート全体は次のようになります:

スクリプトは、モデルが保存されたURLを取得します, そのURLにアクセスすると、確認できるようになります, モデルを変更して解決する, すべてSkyCivS3Dユーザーインターフェイスにあります:

この統合の最も良い点は、これらの典型的な構造のモデル化に費やす時間を大幅に短縮できることです. 入力パラメータを調整するだけで、すぐに解けるモデルを取得し、結果分析をさらに自動化できます, デザイン探索, デザインチェック, 最高のSkyCiv APIを組み合わせることによる最適化, GoogleスプレッドシートとAppsScript.
ハッピーコーディング!
製品開発者
ベン (民事)