Functions | |
| void | UTIL_agie_qr (double *Ptd, double *Ptf, double *Ptuv, double *Rq, double *Rr) |
| recalculates Q and R according to point actually reached (useful when the curve tolerance is very low) | |
| void | UTIL_calc_point_rot4 (double *Ptdev, double *Ptcal, double *Racal) |
| Calculates 4 axes point according to INIT_ROT4. | |
| void | UTIL_customer_getcyc (int *Bval) |
| Warning in V4.3! there are problems on READ_PATH_point OPERATION_BEGIN. allows to process techno functions on delayed cycles. The 1st function of the memorized list is loaded, allowing to use READ_PART_customer_type() and READ_PART_customer_value(). Warning! all functions on cycles used by the customer must be processed : COMMENT,BLOC_CN,RETOURN_PIECE,REPRISE_PIECE,... Only functions respecting the turret number are taken. | |
| void | UTIL_cycle_load (int Indice) |
| load cycle --> read cycle --> accessible program and file start/end if techno cycle --> 1st techno function in buffer: access READ_PART_customer_type and READ_PART_customer_value | |
| void | UTIL_cycle_load_channel (int Icanal, int Indice) |
| load cycle --> read cycle on a specific canal --> accessible program and file start/end if techno cycle --> 1st techno function in buffer: access READ_PART_customer_type and READ_PART_customer_value | |
| void | UTIL_date (std::string &Str) |
| read date (same format as .DPP heading) | |
| void | UTIL_depth_calculate (double Rtot, double *Rinc, double *Rfin, double *Raison, int *Inbre) |
| recalculate depths,ratio and number of passes | |
| void | UTIL_init_decomposed_5axis (int Ityp, double Rmax) |
| line decomposition initialization for 5 axes machining (down position is tool point driving) (up position used tool length) | |
| void | UTIL_init_decomposed_line (double Rval) |
| line decomposition initialization on prismatic plane (useful in polar) | |
| void | UTIL_init_dev_decomposed (int Ityp, double Rmax) |
| Initializes developed plane line decomposition(equal length lines) | |
| void | UTIL_init_dev_flank (int Bdec, double Rdec) |
| Initializes ROLLER offset in developed plane. we want to have parallel paths. for this, the rotary axis position is important. A movement on linear axis is performing for compensation. (Z C X --> Z C+Y X) | |
| void | UTIL_init_dev_rot4 (double Rdecx, double Rdecy, int Ityp, double Rmax) |
| Initializes developed plane line decomposition and NC axes / developed plane offset. | |
| void | UTIL_init_dev_shift (double Rdecx, double Rdecy) |
| Initializes CN axis / developed plane offset. | |
| void | UTIL_key_value (const std::string &Sclef, double Rval, std::string &Str) |
| character string corresponding to key with this value, with the same format as OUTPUT_NC_tab. This allows to format string values, without using "str_ftoa". | |
| void | UTIL_load_next_diff_tool_turret (int Itrl) |
| load following tool on turret It is the following cycle's tool according to the turret, it will necessary be a new tool. --> allows lit_xTEC(xO_...) utilization | |
| void | UTIL_load_next_tool_turret (int Itrl) |
| load following tool on turret It is the following cycle's tool according to the turret, it might be the current tool. --> allows lit_xTEC(xO_...) utilization | |
| void | UTIL_load_offset (int Indice) |
| load EDM offset --> implies cycle reading --> accessible program and file start/end | |
| void | UTIL_load_osetno (int Indice) |
| load length comp. --> implies cycle reading --> accessible program and file start/end | |
| void | UTIL_load_plane (int Indice) |
| load plane --> implies cycle reading --> accessible program and file start/end | |
| void | UTIL_load_scycle (int Indice) |
| load sub-cycle --> read cycle --> accessible program and file start/end if techno cycle --> 1st techno function in buffer: access READ_PART_customer_type and READ_PART_customer_value | |
| void | UTIL_load_tool_channel (int Icanal, int Indice) |
| load tool used in spécific channel --> implies cycle reading --> accessible program and file start/end | |
| void | UTIL_matrix_angle (int Btyp, double Rang, double *Matrot) |
| create rotation matrix | |
| void | UTIL_matrix_coord (double *Matrot, double *Pt0, double *Pt1) |
| use rotation matrix | |
| void | UTIL_matrix_rot (int Btyp, double Ra1, double Ra2, double Ra3, double *Matrot) |
| create rotation matrix | |
| void | UTIL_matrix_rot_inv (int Btyp, double Ra1, double Ra2, double Ra3, double *Matrot) |
| create inverted rotation matrix | |
| void | UTIL_paraxial_crcl (double *Pc, double *Pf, int Bs, double Ra, double *Pd) |
| arc starting point calculation to obtain center movement towards start on one axis only | |
| void | UTIL_point_cnt_crcl (double *Pd, double *Pf, double *Pc, int Bs, double *Pt) |
| calculates a point to go round an arc | |
| void | UTIL_point_dev_calculate (double *Ptdev, double *Ptcal, double *Racal) |
| Calculate 4 axes point according to INITs. | |
| void | UTIL_point_dev_flank (double *Ptdev, double *Ptcal, double *Racal) |
| Calculates 4 axes point according to INIT_GALET. | |
| void | UTIL_point_dev_offset (double *Ptdev, double *Ptcal, double *Racal) |
| Calculates 4 axes point according to INIT_DECAL. | |
| void | UTIL_point_on_crcl (double *Pd, double *Pf, double *Pc, int Bs, double Rpos, double *Pt) |
| calculates a point on an arc | |
| void | UTIL_profile_invert () |
| invert elements of turning profile in progress | |
| void | UTIL_rot_point (int Baxe, double Rang, double *Pt) |
| subject a point to a rotation | |
| void | UTIL_stock_invert () |
| invert elements of turning stock in progress | |
| void | UTIL_system (const std::string &Str) |
| system call | |
| void | UTIL_tec_conversion (const std::string &Sclef, int *Btyp) |
| type conversion to do for a techno value identified by it's string, This allows to choose a DPP key to format real value | |
| void | UTIL_tool_load (int Indice) |
| load tool --> implies cycle reading --> accessible program and file start/end | |
| void | UTIL_val_db_unit (double Rvalbdd, int Bunit, double *Rvalunit) |
| convert a bdd value to a user unit value | |
| void | UTIL_val_unit_db (double Rvalunit, int Bunit, double *Rvalbdd) |
| convert a user unit value in bdd value | |
Various utilities
| void UTIL_agie_qr | ( | double * | Ptd, |
| double * | Ptf, | ||
| double * | Ptuv, | ||
| double * | Rq, | ||
| double * | Rr ) |
recalculates Q and R according to point actually reached
(useful when the curve tolerance is very low)
| [in] | Ptd | actual position point (READ_NC_pplane) |
| [in] | Ptf | following position point (READ_PATH_point) |
| [in] | Ptuv | following position top point (READ_PATH_point_top) |
| [out] | Rq | recalculared Q value |
| [out] | Rr | recalculated R value |
| void UTIL_calc_point_rot4 | ( | double * | Ptdev, |
| double * | Ptcal, | ||
| double * | Racal ) |
Calculates 4 axes point according to INIT_ROT4.
| [in] | Ptdev | coordonates in developped plane |
| [out] | Ptcal | cartesian coodonates |
| [out] | Racal | rotary axis angle |
| void UTIL_customer_getcyc | ( | int * | Bval | ) |
Warning in V4.3! there are problems on READ_PATH_point OPERATION_BEGIN.
allows to process techno functions on delayed cycles.
The 1st function of the memorized list is loaded, allowing
to use READ_PART_customer_type() and READ_PART_customer_value().
Warning! all functions on cycles used by the customer must
be processed : COMMENT,BLOC_CN,RETOURN_PIECE,REPRISE_PIECE,...
Only functions respecting the turret number are taken.
| [out] | Bval | CONST_NO list of functions memorized empty CONST_YES access 1st function on list OK |
| void UTIL_cycle_load | ( | int | Indice | ) |
load cycle --> read cycle
--> accessible program and file start/end
if techno cycle --> 1st techno function in buffer:
access READ_PART_customer_type and READ_PART_customer_value
| [in] | Indice | nth operations list cycle (1..n) |
| void UTIL_cycle_load_channel | ( | int | Icanal, |
| int | Indice ) |
load cycle --> read cycle on a specific canal
--> accessible program and file start/end
if techno cycle --> 1st techno function in buffer:
access READ_PART_customer_type and READ_PART_customer_value
| [in] | Indice | nth operations list cycle on specific canal (1..n) |
| [in] | Icanal | canal number |
| void UTIL_date | ( | std::string & | Str | ) |
| void UTIL_depth_calculate | ( | double | Rtot, |
| double * | Rinc, | ||
| double * | Rfin, | ||
| double * | Raison, | ||
| int * | Inbre ) |
recalculate depths,ratio and number of passes
| [in] | Rtot | total depth |
| [in,out] | Rinc | incremental depth |
| [in,out] | Rfin | final depth |
| [out] | Raison | degression ratio |
| [out] | Inbre | number of passes |
| void UTIL_init_decomposed_5axis | ( | int | Ityp, |
| double | Rmax ) |
line decomposition initialization for 5 axes machining
(down position is tool point driving)
(up position used tool length)
| [in] | Ityp | Rmax/recalculation type: 0 decomposition step 1 Rmax = maximum linear length 2 Rmax = lihe 1, only if differents angles 3 Rmax = maximum angle beetween two normal vectors |
| [in] | Rmax | maximum value to decompose |
| void UTIL_init_decomposed_line | ( | double | Rval | ) |
line decomposition initialization
on prismatic plane (useful in polar)
| [in] | Rval | maximum segment length (0:cancel) |
| void UTIL_init_dev_decomposed | ( | int | Ityp, |
| double | Rmax ) |
Initializes developed plane line decomposition(equal length lines)
| [in] | Ityp | Rmax/recalculation type : 0 : decomposition step 1 : Rmax = max facette length 2 : Rmax = max arrow 3 : Rmax = max angle (degrees) 4 : Rmax = angle for cutting (degrees) |
| [in] | Rmax | : value used to decompose |
| void UTIL_init_dev_flank | ( | int | Bdec, |
| double | Rdec ) |
Initializes ROLLER offset in developed plane.
we want to have parallel paths.
for this, the rotary axis position is important.
A movement on linear axis is performing for compensation.
(Z C X --> Z C+Y X)
| [in] | Bdec | CONST_RIGHT inverted Rdec sign CONST_LEFT normal Rdec sign CONST_CENTER normal Rdec sign V4.4 CONST_PART normal Rdec sign V4.4 |
| [in] | Rdec | signed offset value distance between the toolpath and neutral fiber, positive if the toolpath is to the right of the fiber. |
| void UTIL_init_dev_rot4 | ( | double | Rdecx, |
| double | Rdecy, | ||
| int | Ityp, | ||
| double | Rmax ) |
Initializes developed plane line decomposition
and NC axes / developed plane offset.
| [in] | Rdecx | NC / plane axis X rotation center |
| [in] | Rdecy | NC / plane axis Y rotation center |
| [in] | Ityp | Rmax/recalculation type: 0 decomposition step 1 Rmax = facette length 2 Rmax = arrow 3 Rmax = angle (degrees) |
| [in] | Rmax | maximum value to decompose |
| void UTIL_init_dev_shift | ( | double | Rdecx, |
| double | Rdecy ) |
Initializes CN axis / developed plane offset.
| [in] | Rdecx | NC / plane axis X rotation center |
| [in] | Rdecy | NC / plane axis Y rotation center |
| void UTIL_key_value | ( | const std::string & | Sclef, |
| double | Rval, | ||
| std::string & | Str ) |
character string corresponding to key with this value,
with the same format as OUTPUT_NC_tab.
This allows to format string values,
without using "str_ftoa".
| [in] | Sclef | address letter used as format |
| [in] | Rval | value |
| [out] | Str | Sclef+rval character string |
| void UTIL_load_next_diff_tool_turret | ( | int | Itrl | ) |
load following tool on turret
It is the following cycle's tool according to the turret,
it will necessary be a new tool.
--> allows lit_xTEC(xO_...) utilization
| [in] | Itrl | concerned turret (all if 0) |
| void UTIL_load_next_tool_turret | ( | int | Itrl | ) |
load following tool on turret
It is the following cycle's tool according to the turret,
it might be the current tool.
--> allows lit_xTEC(xO_...) utilization
| [in] | Itrl | tourelle concernee (toutes si 0) |
| void UTIL_load_offset | ( | int | Indice | ) |
load EDM offset --> implies cycle reading
--> accessible program and file start/end
| [in] | Indice | nth offset used (1..n) |
| void UTIL_load_osetno | ( | int | Indice | ) |
load length comp. --> implies cycle reading
--> accessible program and file start/end
| [in] | Indice | nth length comp. used (1..n) |
| void UTIL_load_plane | ( | int | Indice | ) |
load plane --> implies cycle reading
--> accessible program and file start/end
| [in] | Indice | nth plane used (1..n) |
| void UTIL_load_scycle | ( | int | Indice | ) |
load sub-cycle --> read cycle
--> accessible program and file start/end
if techno cycle --> 1st techno function in buffer:
access READ_PART_customer_type and READ_PART_customer_value
| [in] | Indice | nth operations list sub-cycle (1..n) |
| void UTIL_load_tool_channel | ( | int | Icanal, |
| int | Indice ) |
load tool used in spécific channel --> implies cycle reading
--> accessible program and file start/end
| [in] | Indice | nth tool used in this channel (1..n) |
| [in] | Icanal | canal number |
| void UTIL_matrix_angle | ( | int | Btyp, |
| double | Rang, | ||
| double * | Matrot ) |
create rotation matrix
| [in] | Btyp | CONST_ROTATION_A CONST_ROTATION_B CONST_ROTATION_C |
| [in] | Rang | angle |
| [out] | Matrot | rotation matrix (TR9) |
| void UTIL_matrix_coord | ( | double * | Matrot, |
| double * | Pt0, | ||
| double * | Pt1 ) |
use rotation matrix
| [in] | Matrot | rotation matrix (TR9) |
| [in] | Pt0 | approach point coordinates |
| [out] | Pt1 | return point coordinates |
| void UTIL_matrix_rot | ( | int | Btyp, |
| double | Ra1, | ||
| double | Ra2, | ||
| double | Ra3, | ||
| double * | Matrot ) |
create rotation matrix
| [in] | Btyp | CONST_ROTATION_A CONST_ROTATION_B CONST_ROTATION_C CONST_ROTATION_CA CONST_ROTATION_CB |
| [in] | Ra1 | 1st angle |
| [in] | Ra2 | 2nd angle |
| [in] | Ra3 | 3rd angle |
| [out] | Matrot | rotation matrix (TR9) |
| void UTIL_matrix_rot_inv | ( | int | Btyp, |
| double | Ra1, | ||
| double | Ra2, | ||
| double | Ra3, | ||
| double * | Matrot ) |
create inverted rotation matrix
| [in] | Btyp | CONST_ROTATION_A CONST_ROTATION_B CONST_ROTATION_C CONST_ROTATION_CA CONST_ROTATION_CB |
| [in] | Ra1 | 1st angle |
| [in] | Ra2 | 2nd angle |
| [in] | Ra3 | 3rd angle |
| [out] | Matrot | rotation matrix (TR9) |
| void UTIL_paraxial_crcl | ( | double * | Pc, |
| double * | Pf, | ||
| int | Bs, | ||
| double | Ra, | ||
| double * | Pd ) |
arc starting point calculation to obtain
center movement towards start on one axis only
| [in] | Pc | arc center point |
| [in] | Pf | arc ending point |
| [in] | Bs | arc direction ( !CONST_CW / CONST_CCW! ) |
| [in] | Ra | minimum opening angle allowed (degrees) |
| [out] | Pd | calculated starting point |
| void UTIL_point_cnt_crcl | ( | double * | Pd, |
| double * | Pf, | ||
| double * | Pc, | ||
| int | Bs, | ||
| double * | Pt ) |
calculates a point to go round an arc
| [in] | Pd | arc starting point |
| [in] | Pf | arc ending point |
| [in] | Pc | point centre arc |
| [in] | Bs | arc direction ( !CONST_CW / CONST_CCW! ) |
| [out] | Pt | calculated point |
| void UTIL_point_dev_calculate | ( | double * | Ptdev, |
| double * | Ptcal, | ||
| double * | Racal ) |
Calculate 4 axes point according to INITs.
| [in] | Ptdev | coordinates in developed plane |
| [out] | Ptcal | cartesian coordinates |
| [out] | Racal | angle of rotation for rotary axis |
| void UTIL_point_dev_flank | ( | double * | Ptdev, |
| double * | Ptcal, | ||
| double * | Racal ) |
Calculates 4 axes point according to INIT_GALET.
| [in] | Ptdev | coordonates in developped plane |
| [out] | Ptcal | cartesian coodonates |
| [out] | Racal | rotary axis angle |
| void UTIL_point_dev_offset | ( | double * | Ptdev, |
| double * | Ptcal, | ||
| double * | Racal ) |
Calculates 4 axes point according to INIT_DECAL.
| [in] | Ptdev | coordonates in developped plane |
| [out] | Ptcal | cartesian coodonates |
| [out] | Racal | rotary axis angle |
| void UTIL_point_on_crcl | ( | double * | Pd, |
| double * | Pf, | ||
| double * | Pc, | ||
| int | Bs, | ||
| double | Rpos, | ||
| double * | Pt ) |
calculates a point on an arc
| [in] | Pd | arc starting point |
| [in] | Pf | arc ending point |
| [in] | Pc | arc center point |
| [in] | Bs | arc direction ( !CONST_CW / CONST_CCW! )) |
| [in] | Rpos | point position:0 < Rpos < 1: |
| [out] | Pt | calculated point |
| void UTIL_profile_invert | ( | ) |
invert elements of turning profile in progress
| void UTIL_rot_point | ( | int | Baxe, |
| double | Rang, | ||
| double * | Pt ) |
subject a point to a rotation
| [in] | Baxe | CONST_ROTATION_A CONST_ROTATION_B CONST_ROTATION_C |
| [in] | Rang | angle in degrees |
| [in,out] | Pt | point to rotate |
| void UTIL_stock_invert | ( | ) |
invert elements of turning stock in progress
| void UTIL_system | ( | const std::string & | Str | ) |
| void UTIL_tec_conversion | ( | const std::string & | Sclef, |
| int * | Btyp ) |
type conversion to do for a techno value identified by it's string,
This allows to choose a DPP key to format real value
| [in] | Sclef | address techno value (RTT_PROFONDEUR_PASSE, .....) |
| [out] | Btyp | SPI_FORMAT_REEL_STD SPI_FORMAT_REAL_DISTANCE SPI_FORMAT_REAL_ANGLE SPI_FORMAT_REAL_TEMPS SPI_FORMAT_REAL_DBL_DISTANCE SPI_FORMAT_REAL_WEIGHT SPI_FORMAT_REAL_CURRENCY SPI_FORMAT_REAL_TEMPS_MINUTE SPI_FORMAT_REAL_DURATION SPI_FORMAT_REAL_ROTATION_SPEED SPI_FORMAT_REAL_CUTTING_SPEED SPI_FORMAT_REAL_FEEDRATE SPI_FORMAT_REAL_FEEDRATE_TOOTH SPI_FORMAT_REAL_POWER SPI_FORMAT_REAL_MASS_DENSITY SPI_FORMAT_REAL_ULTIMATE_STRENGTH SPI_FORMAT_REAL_TORQUE SPI_FORMAT_REAL_FEEDRATE_ROTATE SPI_FORMAT_REAL_FLOW |
| void UTIL_tool_load | ( | int | Indice | ) |
load tool --> implies cycle reading
--> accessible program and file start/end
| [in] | Indice | nth tool used (1..n) |
| void UTIL_val_db_unit | ( | double | Rvalbdd, |
| int | Bunit, | ||
| double * | Rvalunit ) |
convert a bdd value to a user unit value
| [in] | Rvalbdd | bdd value |
| [in] | Bunit | user unit CONST_MM MM CONST_INCH INCH CONST_AUTO PP UNIT |
| [out] | Rvalunit | value with user unit |
| void UTIL_val_unit_db | ( | double | Rvalunit, |
| int | Bunit, | ||
| double * | Rvalbdd ) |
convert a user unit value in bdd value
| [in] | Rvalunit | user value |
| [in] | Bunit | user unit CONST_MM MM CONST_INCH INCH CONST_AUTO PP UNIT |
| [out] | Rvalbdd | bdd unit value |