//---------------------------------------------------------------------------- // 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 //----------------- 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