●처음에
- 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 가 필요합니다. |