Files
Include/EXeConst.h
T
Daniele Bariletti 3ce904e2dd Include :
- aggiunta modalità di approssimazione con bezier.
- aggiornata la chiamata alla funzione di approssimazione con bezier.
2026-02-11 16:45:02 +01:00

164 lines
8.0 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2014-2025
//----------------------------------------------------------------------------
// File : EXeConst.h Data : 11.05.25 Versione : 2.7e2
// Contenuto : Costanti generali per EgtExecuter.
//
//
//
// Modifiche : 24.11.14 DS Creazione modulo.
// 05.05.15 DS Rinominato da EInConst.h.
//
//----------------------------------------------------------------------------
#pragma once
#include <string>
//----------------- Costanti per tipo di file ----------------------------------
enum FileType { FT_NULL = 0,
FT_NGE = 1,
FT_NFE = 2,
FT_DXF = 11,
FT_STL = 12,
FT_CNC = 13,
FT_CSF = 14,
FT_BTL = 15,
FT_IMG = 16,
FT_PNT = 17,
FT_SVG = 18,
FT_BTLX = 19,
FT_3MF = 20,
FT_OBJ = 21,
FT_3DM = 22,
FT_OFF = 23,
FT_PLY = 24,
FT_IGES = 31,
FT_STEP = 32,
FT_ACIS = 33,
FT_PARASOLID = 34,
FT_JT = 35,
FT_VRML = 36,
FT_C3D = 37,
FT_HTML = 51,
FT_TSC = 101,
FT_LUA = 102} ;
//----------------- Costanti tipo di punto selezionato -------------------------
enum EinSep { SEP_STD = 0,
SEP_TG = 1,
SEP_PERP = 2,
SEP_MINDIST = 3} ;
//----------------- Costanti tipo di riferimento di input ----------------------
enum RefType{ RTY_GLOB = 0,
RTY_GRID = -3, // come GDB_ID_GRID
RTY_LOC = -6} ;
const int RTY_DEFAULT = RTY_LOC ;
//----------------- Costanti tipo di interpolazione ----------------------------
enum InterpType{ ITT_ARCS = 0, // stima tg Akima, curve risultanti archi
ITT_ARCS_CORNER = 1, // stima tg AkimaCorner, curve risultanti archi
ITT_CUBICS = 2, // stima tg Bessel, curve risultanti Bezier cubiche
ITT_CUBICS_LONG = 3} ; // interpolazione con nurbs, poi convertite in bezier
//----------------- Costanti tipo di approssimazione di curve ------------------
enum ApprType{ APP_LINES = 0, // come ICurve::APL_STD
APP_SPECIAL_LINES = 10, // come ICurve::APL_SPECIAL
APP_LEFT_LINES = 1, // come ICurve::APL_LEFT
APP_LEFT_CONVEX_LINES = 11, // come ICurve::APL_LEFT_CONVEX
APP_RIGHT_LINES = 2, // come ICurve::APL_RIGHT
APP_RIGHT_CONVEX_LINES = 12, // come ICurve::APL_RIGHT_CONVEX
APP_ARCS = 3,
APP_CUBIC_BEZIER = 4} ;
//----------------- Costanti tipo punto intersezione Linea Curva ---------------
enum CLiType { CLT_NONE = 0,
CLT_IN = 1,
CLT_OUT = 2,
CLT_TOUCH_IN = 3,
CLT_TOUCH_OUT = 4,
CLT_TGINI_IN = 5,
CLT_TGFIN_IN = 6,
CLT_TGINI_OUT = 7,
CLT_TGFIN_OUT = 8} ;
//----------------- Costanti tipo di costruzione di superficie rigata ----------
enum RuledType{ RUL_TYPE_ISOPAR = 0, // come ISurfTrimesh::RLT_ISOPAR
RUL_TYPE_MINDIST = 1, // come ISurfTrimesh::RLT_MINDIST
RUL_TYPE_ISOPAR_SMOOTH = 2} ; // come ISurfTrimesh::RLT_ISOPAR_SMOOTH
//----------------- Costanti per classificazione di curve rispetto a regioni ---------
enum CrvRegClass { CRC_NULL = 0,
CRC_IN = 1,
CRC_OUT = 2,
CRC_ON = 3,
CRC_INTERS = 4} ;
//----------------- Costanti tipo estremi di superficie swept con sezione rettangolare ----------
enum RSCapType { RSCT_NONE = 0, // come RSCAP_NONE
RSCT_FLAT = 1, // come RSCAP_FLAT
RSCT_ROUND = 2, // come RSCAP_ROUND
RSCT_BEVEL = 3} ; // come RSCAP_BEVEL
//----------------- Costanti tipo Zoom -----------------------------------------
enum ZoomType { ZM_ALL = 1, // zoom tutto
ZM_IN = 2, // ingrandisci
ZM_OUT = 3} ; // rimpicciolisci
//----------------- Costanti flag import CNC -----------------------------------
enum EicFlag { EIC_FLAG_NONE = 0, // come EImCncFlag::EICFLAG_NONE
EIC_FLAG_CHAIN = 1, // come EImCncFlag::EICFLAG_CHAIN
EIC_FLAG_SKIP_ZEROMACH = 2, // come EImCncFlag::EICFLAG_SKIP_ZEROMACH
EIC_FLAG_SKIP_RAPID = 4} ; // come EImCncFlag::EICFLAG_SKIP_RAPID
//----------------- Costanti flag import BTL -----------------------------------
enum EibFlag { EIB_FLAG_NONE = 0, // come EImBtlFlag::EIBFLAG_NONE
EIB_FLAG_FLAT_POS = 1, // come EImBtlFlag::EIBFLAG_FLAT_POS
EIB_FLAG_VERT_POS = 2, // come EImBtlFlag::EIBFLAG_VERT_POS
EIB_FLAG_SPECIAL_TRIM = 4} ; // come EImBtlFlag::EIBFLAG_SPECIAL_TRIM
//----------------- Costanti tipo costruzione pezzi piani ----------------------
enum FpcType { FPC_NGE = 0, // costruzione da pezzo Nge
FPC_REGION = 1, // costruzione da regione
FPC_LAYER = 2, // costruzione da layer
FPC_CLOSEDCURVE = 3} ; // costruzione da curva chiusa
//----------------- Costanti tipo interferenza di lavorazioni piane ------------
enum FmiType { FMI_NONE = 0, // nessuna interferenza
FMI_LI = 1, // interferenza con attacco
FMI_RM = 2, // interferenza con lavorazione ridotta
FMI_LO = 4} ; // interferenza con uscita
//----------------- Costanti risultato verifica tagli lama allungati -----------
enum CarRes { CAR_INTERF = 0, // interferiscono entrambi gli allungamenti
CAR_LI_OK = 1, // allungamento inizio va bene
CAR_LO_OK = 2, // allungameno uscita va bene
CAR_LI_LO_OK = 1 + 2} ; // entrambi gli allungamenti vanno bene
//----------------- Costanti tipo controllo lavorazione vuota -------------------
enum EmptyNeed { EMP_NEED_GEOM = 0, // necessaria solo presenza geometria di definizione
EMP_NEED_ONE_TP_OK = 1, // almeno un percorso utensile non vuoto
EMP_NEED_ALL_TP_OK = 2} ; // tutti i percorsi utensile non vuoti
//----------------- Costanti errore simulatore in cieco ------------------------
enum SimHideErr { SHE_NONE = 0, // nessun errore
SHE_INIT = 1, // errore nell'avvio della simulazione
SHE_OUTSTROKE = 2, // errore di extracorsa
SHE_DIR_ERR = 3, // errore direzione utensile non raggiungibile
SHE_COLLISION = 4, // errore collisione testa-pezzo
SHE_SPECIAL = 5, // errore speciale/custom
SHE_GENERAL = 6} ; // errore generico
//----------------- Costanti Offset per VolZmap --------------------------------
enum VolZmapOffset { FILLET = 0 , // come in VolZmap
CHAMFER = 1, // come in VolZmap
EXTEND = 2 } ; // come in VolZmap
//----------------- Costanti per sostituzione direttorio e nome progetto --------------------
const std::string SUB_PROJECT_DIR = "%PRJDIR%" ;
const std::string SUB_PROJECT_TITLE = "%PRJTITLE%" ;
//----------------- Costanti per info in gruppi di lavoro -----------------------------------
const std::string GDL_NC_NAME = "NcName" ; // nome part program da generare