//************************************************************************** //Skeleton of trnccom.dll(NCデータコメント行の解析) //************************************************************************** // #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif __declspec(dllexport) void TRNCCOMINIT(int*); __declspec(dllexport) void TRNCCOMTOOL(char*, int*,float*,float*,float*,float*, float*,float*,float*,float*,char*, float*,int*,int*); __declspec(dllexport) void TRNCCOMTOOLF(char*, int*,float*,float*,float*,float*, float*,float*,float*,float*,char*, float*,int*,int*); __declspec(dllexport) void TRNCCOMTOOLLEN(char*, int*,float*,float*,float*,float*, int*); __declspec(dllexport) void TRNCCOMTOOLLENF(char*, int*,float*,float*,float*,float*, int*); __declspec(dllexport) void TRNCCOMARBOR(char*, int*,int*,int*,float*,float*,int*, int*); __declspec(dllexport) void TRNCCOMARBORF(char*, int*,int*,int*,float*,float*,int*, int*); __declspec(dllexport) void TRNCCOMFREE(); #ifdef __cplusplus } #endif //本DLL内でのグローバル変数を定義 // //DLL内でローカルに使用する関数を記述 //(これらの関数を後ろのほうで記述する場合や、別ファイルで記述する場合は、 //それらの関数のプロトタイプ宣言を記述) //************************************************************************** //外部参照(DLL)関数の引数説明 //[I -] 入力のみ(関数内では参照するだけにして下さい) //[- O] 出力のみ(参照時は未定義になっています。必ず値を返して下さい。) //[I O] 入出力 // // //====================================================================== void TRNCCOMINIT(int *irc) //[- O] Return Code(=0:FALSE =1:TRUE) // 機能:処理の初期化 // 説明:TRYCUT起動時のWM_CREATE時に一度だけ参照されます。 // 作業エリアの確保などに利用しますが、特に必要ない場合は、 // 本関数自体の省略可。ほとんどの場合は不要かと思われます。 // 初期化が正常な場合は、*irc は必ずTRUEを設定して下さい。 // 本関数省略時は、*irc=TRUE とみなします。 // *irc=FALSEで返した場合DLLは動作しませんので、各種プロテクト処理は、 // ここで行なって下さい。 { *irc=TRUE; } //====================================================================== void TRNCCOMTOOL(char *comment, //[I -] コメント行文字列 ()も含む int *type, //[- O] 工具タイプ // 1:BALL,2:FLAT,3:BULL // 4:TAPERBALL // 104:TAPERBALL - 上部径定義あり // 5:VERTICAL // 6:OVAL/OVALR,9:RADIUS // 7:T-THROW(TRYCUT2000/3000は1〜3で認識) // 0:OTHER(CUTTER) // 100:OTHER(CUTTER) - 上部径定義あり // 詳細は、TRYCUTのヘルプの //   「工具設定ファイル」を参照のこと。 float *diameter, //[- O] 工具直径 float *cornerr, //[- O] コーナー半径 // T-THROW時:1ワード目に下側コーナー半径 // 2ワード目に上側コーナー半径 float *botwidth, //[- O] コーナー中心点の巾 float *centerh, //[- O] コーナー中心点の高さ float *botang, //[- O] 底面角度 float *sideang, //[- O] 側面角度(テーパー角),[上部径] //※上部径定義がある時は、2ワード目に上部径(Du) float *chipw, //[- O] VERTICAL時:チップ幅 // T-THROW時:1ワード目に厚み(thick) // 2ワード目に軸径(da) float *toolh, //[- O] 工具有効刃長 char *name, //[- O] 明示的な工具名称(MAX:20Byte) float *shift, //[- O] 工具シフト量 int *penno, //[- O] ペン番号 int *irc) //[- O] Return Code 0:データ無し // 1:データ有り // 2:データ有り(完了) // ※後のコメント行を読まない // 機能:工具情報の設定 // 説明:工具の刃先形状など各種属性を設定します。 // 各パラメーターが工具の種類ごとに有効か無効かの詳細は以下ページを // ご参照下さい。 http://www.trycut.com/sdk/tool.htm // 全てのコメント()行を読む度に、本関数が参照されます。 // コメント行から情報を認識できない場合は、*irc=0 を返して下さい。 // trnccomの機構では、少なくとも本関数もしくはTRNCCOMTOOLFのいずれかが // 必要で、両者を同時に省略することはできません。 { *irc=0; } //====================================================================== void TRNCCOMTOOLF(char *ncfile, //[I -] NCデータファイル名 int *type, //[- O] 工具タイプ // 1:BALL,2:FLAT,3:BULL // 4:TAPERBALL // 104:TAPERBALL - 上部径定義あり // 5:VERTICAL // 6:OVAL/OVALR,9:RADIUS // 7:T-THROW(TRYCUT2000/3000は1〜3で認識) // 0:OTHER(CUTTER) // 100:OTHER(CUTTER) - 上部径定義あり // 詳細は、TRYCUTのヘルプの //   「工具設定ファイル」を参照のこと。 float *diameter, //[- O] 工具直径 float *cornerr, //[- O] コーナー半径 // T-THROW時:1ワード目に下側コーナー半径 // 2ワード目に上側コーナー半径 float *botwidth, //[- O] コーナー中心点の巾 float *centerh, //[- O] コーナー中心点の高さ float *botang, //[- O] 底面角度 float *sideang, //[- O] 側面角度(テーパー角),[上部径] //※上部径定義がある時は、2ワード目に上部径(Du) float *chipw, //[- O] VERTICAL時:チップ幅 // T-THROW時:1ワード目に厚み(thick) // 2ワード目に軸径(da) float *toolh, //[- O] 工具有効刃長 char *name, //[- O] 明示的な工具名称(MAX:20Byte) float *shift, //[- O] 工具シフト量 int *penno, //[- O] ペン番号 int *irc) //[- O] Return Code 0:データ無し // 1:データ有り // 機能:工具情報の設定 // 説明:工具の刃先形状など各種属性を設定します。 // 各パラメーターが工具の種類ごとに有効か無効かの詳細は以下ページを // ご参照下さい。 http://www.trycut.com/sdk/tool.htm // NCデータファイル選択時に、本関数が参照されます。 // 情報が抽出できない場合は、*irc=0 を返して下さい。 // trnccomの機構では、少なくとも本関数もしくはTRNCCOMTOOLのいずれかが // 必要で、両者を同時に省略することはできません。 { *irc=0; } //====================================================================== void TRNCCOMTOOLLEN(char *comment,//[I -] コメント行文字列 ()も含む int *define, //[- O] 定義のタイプ 0:無し // 1:LENGTH 文形状 // 2:LENGTH2文形状 // 3:LENGTH3文形状 //詳細は、TRYCUTのヘルプの //「工具設定ファイル」を参照のこと。 // http://www.trycut.com/help/ttl.htm#ARBOR float *length, //[- O] 突き出し長 float *Lu, //[- O] 首下長さ float *Lt, //[- O] テーパー部長さ≧0.0 float *Ds, //[- O] LENGTH2/3時、シャンク径 // LENGTH3時のみ、2〜3ワード目にa角,b角 int *irc) //[- O] Return Code 0:データ無し // 1:データ有り // 2:データ有り(完了) // ※後のコメント行を読まない // 機能:工具長とシャンク形状の設定 // 説明:工具長とシャンク形状を設定する関数です。 // 全てのコメント()行を読む度に、本関数が参照されます。 // コメント行から情報を認識できない場合は、*irc=0 を返して下さい。 // 本関数は省略可能です。 { *irc=0; } //====================================================================== void TRNCCOMTOOLLENF(char *ncfile, //[I -] NCデータファイル名 int *define, //[- O] 定義のタイプ 0:無し // 1:LENGTH 文形状 // 2:LENGTH2文形状 // 3:LENGTH3文形状 //詳細は、TRYCUTのヘルプの //「工具設定ファイル」を参照のこと。 // http://www.trycut.com/help/ttl.htm#ARBOR float *length, //[- O] 突き出し長 float *Lu, //[- O] 首下長さ float *Lt, //[- O] テーパー部長さ≧0.0 float *Ds, //[- O] LENGTH2/3時、シャンク径 // LENGTH3時のみ、2〜3ワード目にa角,b角 int *irc) //[- O] Return Code 0:データ無し // 1:データ有り // 機能:工具長とシャンク形状の設定 // 説明:工具長とシャンク形状を設定する関数です。 // NCデータファイル選択時に、本関数が参照されます。 // 情報が抽出できない場合は、*irc=0 を返して下さい。 // 本関数は省略可能です。 { *irc=0; } //====================================================================== void TRNCCOMARBOR(char *comment, //[I -] コメント行文字列 ()も含む int *define, //[- O] 定義の有無 0:無し 1:有り int *type, //[- O] 保持具形状のタイプ // 0:ARBOR 1:ARBOR2 2:ARBOR3 // 詳細は、TRYCUTのヘルプの //   「工具設定ファイル」を参照のこと。 int *n, //[- O] 保持具の段数(MAX=10) float *d, //[- O] 各段の直径 float *h, //[- O] 各段の高さ int *k, //[- O] ARBOR3時の各段の傾斜フラグ // =0:階段 =1:傾斜 // // ※d,h,k はそれぞれの配列の先頭アドレス // 各段の値を、 // d[0]=50.0; // d[1]=75.0; // . // . // . // のように設定して下さい。 // int *irc) //[- O] Return Code 0:データ無し // 1:データ有り // 2:データ有り(完了) // ※後のコメント行を読まない // 機能:工具保持具形状の設定 // 説明:工具保持具形状を設定する関数です。 // 全てのコメント()行を読む度に、本関数が参照されます。 // コメント行から情報を認識できない場合は、*irc=0 を返して下さい。 // 本関数は省略可能です。 { *irc=0; } //====================================================================== void TRNCCOMARBORF(char *ncfile, //[I -] NCデータファイル名 int *define, //[- O] 定義の有無 0:無し 1:有り int *type, //[- O] 保持具形状のタイプ // 0:ARBOR 1:ARBOR2 2:ARBOR3 // 詳細は、TRYCUTのヘルプの //   「工具設定ファイル」を参照のこと。 int *n, //[- O] 保持具の段数(MAX=10) float *d, //[- O] 各段の直径 float *h, //[- O] 各段の高さ int *k, //[- O] ARBOR3時の各段の傾斜フラグ // =0:階段 =1:傾斜 // ※d,h,k はそれぞれの先頭ポインター int *irc) //[- O] Return Code 0:データ無し // 1:データ有り // 機能:工具保持具形状の設定 // 説明:工具保持具形状を設定する関数です。 // NCデータファイル選択時に、本関数が参照されます。 // 情報が抽出できない場合は、*irc=0 を返して下さい。 // 本関数は省略可能です。 { *irc=0; } //====================================================================== void TRNCCOMFREE() // 引数なし // 機能:作業エリアの開放など // 説明:TRYCUT終了時のWM_DESTROYイベント発生時に参照されます。 // TRNCCOMINITなどで作業エリアを確保している場合などに、 // その作業エリアの開放(FREE)のために利用します。本関数は省略可です。 { }