#include __declspec(dllexport) void TRNCCOMTOOLF(char*, int*,float*,float*,float*,float*, float*,float*,float*,float*,char*, float*,int*,int*); //====================================================================== void TRNCCOMTOOLF(char *ncfile, //[I -] NCデータファイル名 int *type, //[- O] 工具タイプ // 1:BALL,2:FLAT,3:BULL // 4:TAPERBALL,5:VERTICAL // 6:OVAL/OVALR,9:RADIUS // 0:OTHER // 詳細は、TRYCUT2000のヘルプの //   「工具設定ファイル」を参照のこと。 float *diameter, //[- O] 工具直径 float *cornerr, //[- O] コーナー半径 float *botwidth, //[- O] コーナー中心点の巾 float *centerh, //[- O] コーナー中心点の高さ float *botang, //[- O] 底面角度 float *sideang, //[- O] 側面角度(テーパー角) float *chipw, //[- O] チップ幅 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のいずれかが // 必要で、両者を同時に省略することはできません。 { int i; *irc=0; i=strlen(ncfile)-1; while( i > 0 ) { if( ncfile[i] == '\\' ) { i++; break; } else { i--; if( i == 0 ) break; } } if( !strnicmp(&ncfile[i],"ARA-",4) || !strnicmp(&ncfile[i],"SHI-",4) ) { *diameter=atof(&ncfile[i+5]); if( ncfile[i+4] == 'B' ) { *type=1; *cornerr=*centerh=(*diameter)/2; *botwidth=0.0; *botwidth=*botang=*sideang=*chipw=*shift=0.0; *toolh=*diameter; strcpy(name,"BALL"); *penno=1; *irc=1; } else if( ncfile[i+4] == 'F' ) { *type=2; *cornerr=*botwidth=*centerh=*botang=*sideang=*chipw=*shift=0.0; *toolh=(*diameter)/2; strcpy(name,"FLAT"); *penno=2; *irc=1; } else if( ncfile[i+4] == 'R' ) { *type=9; if( ncfile[i+6] == '-' ) { *cornerr=atof(&ncfile[i+7]); } else if( ncfile[i+7] == '-' ) { *cornerr=atof(&ncfile[i+8]); } else { *cornerr=atof(&ncfile[i+9]); } *centerh=*cornerr; *botwidth=*botang=*sideang=*chipw=*shift=0.0; strcpy(name,"RADIUS"); *penno=3; *irc=1; } } }