
|
|
●はじめに
- FRAME(面内)SDKは、当社製品の「UC-1 FRAME(面内)」からユーザインタフェースを取り払い、計算機能のみをライブラリとしてユーザに提供する開発キットです(図1)。FRAME(面内)の持つ面内荷重解析などの機能をユーザが作成したプログラムに組み込む目的で利用できます(※ 1)。
 |
▲図1 FRAME(面内)SDKの提供形態 |
●プログラムの機能と特長
- 製品仕様
本製品はFRAME(面内)の計算機能をAPIとして提供します。製品内容は主にWidnows用アプリケーション拡張ファイル(DLL)と、そのDLLの関数および関数とのデータのやり取りに使用する構造体などを定義したヘッダファイルで構成されています。
独自インタフェースの実装が可能
本製品はUIを一切もたないAPIライブラリのため、計算条件の指定や計算結果の取り出しは各ユーザが独自に実装することが可能です。計算条件の指定も各パラメータに対し直接アクセス可能なので、ユーザ独自のファイルフォーマットによるデータの入出力や計算書の出力が行えます。このため、ExcelやCSVなどのデータを活用して大量の断面モデルを一括で計算を行うような、コマンドライン的な用途にも利用できるなど、幅広い業務への適用が可能です。
FRAME(面内)SDKでは、次ページの表1のような面内解析機能を提供します。なお、これらの機能については使用方法が特殊なため、FRAME(面内)では対応していません。
APIの機能
本製品が提供する、計算に関わる主要なAPIを紹介します。計算に関わる機能はすべてFrameCalc関数に集約されています(表2)。入力条件の指定はFrameCalc関数に渡す単一の構造体に全て格納され、断面力・変位・反力・部材力などがこの関数によって一括計算されます。
また、計算結果もすべて、FrameCalc関数が返すポインタが指す単一の構造体内に格納されています。本製品のAPIを利用する際の流れは以下の通りで、非常にシンプルな設計となっています。
- 入力条件を構造体のメンバにセットする
- FrameCalc関数に 1. で条件をセットした構造体を渡す(計算実行)
- FrameCalc関数より返される構造体から計算結果を取り出す
これ以外にも2つの関数が提供されますが、これらは計算時に使用したメモリ領域の解放、計算時にエラーが出た際のエラー情報取得といった、FrameCalc関数実行後に呼び出す補助的な機能となります。
●サンプルデータ/プログラム(ソースコード)の提供
- FRAME(面内)SDKには、ファイルの入出力と、APIが使用する構造体に値をセットするまでの一連の過程(※ 2
- )をまとめたサンプルプログラムのソースコードが付属します(※ 3)。サンプルソースではDOS版のFRAME(面内)が採用していたテキストデータファイルを読み込んでデータにセットし、計算結果を同じくテキストファイルとして出力するまでを行います。また、サンプルプログラムで取り扱うテキストデータのサンプルも付属します。 付属するサンプルデータ(図3)では、BOXカルバートをモデルとして断面力、荷重、部材力計算などを行います。
-
|
FRAME(面内) |
FRAME(面内)SDK |
断面力 |
○ |
○ |
反力 |
○ |
○ |
部材分布バネ反力 |
○ |
○ |
二重格点の入力( ※ ) |
○ |
○ |
剛域処理の指定( ※ ) |
○ |
- |
部材力 |
M 抽出 |
○ |
- |
N 抽出 |
○ |
○ |
S 抽出 |
○ |
○ |
プレストレスによる応力算出(※) |
○ |
- |
|
▲表1 FRAME(面内)SDKで可能な計算機能一覧(FRAME(面内)との比較) |
-
面内解析計算の実行および実行結果を返します。
構文
POINTER FrameCalc(
_in PCHAR lpszFramePath
_in PFR_SDK_MAINDATA lpstAgInData
);
引数
lpszFramePath [in]
FRAME面内プログラムのインストールパスを格納する文字列へのポインタを指定します。
lpstAgInData [in]
入力条件を設定したFR_SDK_MAINDATA 型構造体へのポインタを指定します。
戻り値
計算結果を格納した構造体へのポインタを返します。
関数内部で例外が発生した場合、FrameCalc関数はNullを返します。 |
|
▲表2 FrameCalc 関数 |
 |
|
 |
▲図2 サンプルプログラム画面 |
|
▲図3 サンプルデータモデルのイメージ図 |
※ 1 本製品を利用するには別途「UC-1 FRAME( 面内)」本体が必要となります。付属のサンプルソースコードはEmbarcadero
Delphi(R) 2010 で作成されています。
※ 2 API が使用する構造体に値をセットしていくまでの一連の過程など、サンプルプログラムの詳細な利用方法については、11月16
発売の書籍「土木建築エンジニアの プログラミング入門」(P.84 参照)をご覧ください。
※ 3 本サンプルソースコードをコンパイルしてご利用いただくには、別途Embarcadero
Delphi(R) 2010 が必要となります。 |
エンジニアのプログラミング入門 有償セミナー
●日時 : 2011 年 4 月14 日(木)、6 月3 日(金) 9:30 ~ 16:30 ●参加費 : 15,000円( 1名様・税込 15,750円)
●本会場 : フォーラムエイト東京本社 GTタワーセミナールーム TV会議システムにて 東京・大阪・名古屋・福岡にて同時開催 |
|
■FRAME(面内)SDK Ver.1.00 リリース:2010年10月4日 |
(Up&Coming '10 晩秋の号掲載) |
 |
|







>> 製品総合カタログ

>> プレミアム会員サービス
>> ファイナンシャルサポート
|