Files
Riccardo Elitropi ed1cd66164 EgtMachKernel 3.1d7 :
- in NewLink in SpecialLink() aggiunto parametro OTHERLINKTYPE per gestione lavorazioni in doppio
- Aggiunto controllo "Home" per Add/Remove Climb/Rise.
2026-04-30 14:36:03 +02:00

193 lines
8.3 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : MachConst.h Data : 24.03.15 Versione : 1.6c6
// Contenuto : Costanti generali per calcoli lavorazioni.
//
//
//
// Modifiche : 24.03.15 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include <string>
//----------------------------------------------------------------------------
// Radice della gestione delle lavorazioni
const std::string MACH_BASE = "MachBase" ;
// Direttorio ausiliario per la gestione delle lavorazioni
const std::string MACH_AUX = "MachAux" ;
// Direttorio ove spostare altri gruppi con errori
const std::string MACH_ERR = "MachErr" ;
// Chiave per nome macchina in macchinata
const std::string MACH_MACHINE_KEY = "Machine" ;
// Gruppo delle fixtures in una macchinata
const std::string MACH_FIXT_GROUP = "Fixt" ;
// Gruppo dell'attrezzaggio in una macchinata
const std::string MACH_SETUP_GROUP = "Setup" ;
// Gruppo dei grezzi in una macchinata
const std::string MACH_RAW_GROUP = "Raws" ;
// Gruppo dei collegamenti per waterjet in una macchinata
const std::string MACH_BRIDGES_GROUP = "Bridges" ;
// Gruppo delle operazioni in una macchinata
const std::string MACH_OPER_GROUP = "Opers" ;
// Chiave per info fase di appartenenza di una fixture
const std::string MACH_FXT_PHASE = "Ph" ;
// Nome del grezzo
const std::string MACH_RAW_PART = "RawPart" ;
// Chiave per info fase di appartenenza del grezzo
const std::string MACH_RAW_PHASE = "Ph" ;
// Nome del solido del grezzo
const std::string MACH_RAW_SOLID = "RawSolid" ;
// Nome del punto che rappresenta il centro del grezzo
const std::string MACH_RAW_CENTER = "RawCenter" ;
// Nome del contorno esterno del grezzo
const std::string MACH_RAW_OUTLINE = "RawOutline" ;
// Nome della regione superiore del grezzo
const std::string MACH_RAW_UP_REG = "RawUpReg" ;
// Nome della regione inferiore del grezzo
const std::string MACH_RAW_DOWN_REG = "RawDwnReg" ;
// Nome del kerf del grezzo
const std::string MACH_RAW_KERF = "Kerf" ;
//----------------------------------------------------------------------------
// Nome sottodirettorio delle fixtures
const std::string FIXTURES_DIR = "Fixtures" ;
//----------------------------------------------------------------------------
// Nome sottodirettorio degli utensili
const std::string TOOLS_DIR = "Tools" ;
// Nome sottodirettorio dei porta utensili
const std::string TOOLHOLDERS_DIR = "THolders" ;
// Nome file degli utensili
const std::string TOOLS_FILE = "Tools.data" ;
//----------------------------------------------------------------------------
// Nome sottodirettorio degli attrezzaggi
const std::string SETUP_DIR = "Setup" ;
// Nome estensione dei setup
const std::string SETUP_EXT = "stu" ;
//----------------------------------------------------------------------------
// Nome sottodirettorio delle lavorazioni
const std::string MACHININGS_DIR = "Machinings" ;
// Nome file delle lavorazioni
const std::string MACHININGS_FILE = "Machinings.data" ;
//----------------------------------------------------------------------------
// Sezione Generale nel file INI di macchina
const std::string GENERAL_SEC = "General" ;
// Chiave per materiale caratteristico
const std::string MATERIAL_KEY = "Material" ;
//----------------------------------------------------------------------------
// Sezione tastature nel file INI di macchina
const std::string PROBING_SEC = "Probing" ;
// Chiave (radice) per nome tastatura i-esima
const std::string PROBING_SCRIPT_KEY = "PrbScript" ;
//----------------------------------------------------------------------------
// Sezione lavorazioni generiche nel file INI di macchina
const std::string GENMACHINING_SEC = "GenMachining" ;
// Chiave (radice) per nome lavorazione generica i-esima
const std::string GENMACHINING_SCRIPT_KEY = "GenScript" ;
//----------------------------------------------------------------------------
// Sezione fresature 5assi nel file INI di macchina
const std::string FIVEAXISMILLING_SEC = "5AxMilling" ;
// Chiave (radice) per nome lavorazione 5assi i-esima
const std::string FIVEAXISMILLING_SCRIPT_KEY = "5AxScript" ;
//----------------------------------------------------------------------------
// Sezione di attrezzaggio nel file INI di macchina
const std::string SETUP_SEC = "Setup" ;
// Chiave per attrezzaggio di default
const std::string SETUP_DEF_KEY = "Default" ;
//----------------------------------------------------------------------------
// Sezione utensili nel file INI di macchina
const std::string TOOLS_SEC = "Tools" ;
// Chiave per generatore disegno punte a forare
const std::string DRILLMAKER_KEY = "DrillMaker" ;
// Chiave per generatore disegno lame
const std::string SAWBLADEMAKER_KEY = "SawbladeMaker" ;
// Chiave per generatore disegno frese
const std::string MILLMAKER_KEY = "MillMaker" ;
// Chiave per generatore disegno mortasatrici/seghe a catena
const std::string MORTISEMAKER_KEY = "MortiseMaker" ;
// Chiave per generatore disegno scalpelli
const std::string CHISELMAKER_KEY = "ChiselMaker" ;
// Chiave per generatore disegno waterjet
const std::string WATERJETMAKER_KEY = "WaterJetMaker" ;
// Chiave per generatore disegno tastatori
const std::string PROBEMAKER_KEY = "ProbeMaker" ;
// Chiave per porta utensili punte a forare (marmo)
const std::string DRILLHOLDER_KEY = "DrillHolder" ;
// Chiave per porta utensili lame (marmo)
const std::string SAWBLADEHOLDER_KEY = "SawBladeHolder" ;
// Chiave per portautensili frese (marmo)
const std::string MILLHOLDER_KEY = "MillHolder" ;
//----------------------------------------------------------------------------
// Sezione portautensili nel file INI di macchina
const std::string TOOLHOLDER_SEC = "ToolHolder" ;
//----------------------------------------------------------------------------
// Sezione lavorazioni nel file INI di macchina
const std::string MACHININGS_SEC = "Machinings" ;
// Chiave per abilitare discesa e risalita in rapido da fresature con estremi fuori dal grezzo
const std::string RAPIDONOUT_KEY = "RapidOnOut" ;
// Chiave per Drilling in Doppio in Parallelo
const std::string DRILLING_PARALLEL_KEY = "DrillingDoubleNT" ;
// Chiave per Pocketing in Doppio in Parallelo
const std::string POCKETING_PARALLEL_KEY = "PocketingDoubleNT" ;
// Chiave per Ottimizzazione delle Feed in PocketingNT
const std::string POCKETING_FEED_KEY = "PocketingAdjustFeedNT" ;
//----------------------------------------------------------------------------
// Tipo di Collegamento tra le lavorazioni (LinkType)
enum LINKTYPE {
LINK_NULL = 0,
LINK_HOME_TO_MACH = 1,
LINK_MACH_TO_HOME = 2,
LINK_MACH_TO_MACH = 3
} ;
//----------------------------------------------------------------------------
// Minimo spessore del grezzo
const double RAW_MIN_H = 1 ;
//----------------------------------------------------------------------------
// Minima feed
const double FEED_MIN = 1 ;
constexpr double FEED_MAX_REDUCE = 5 ;
//----------------------------------------------------------------------------
// Massimo angolo al centro per archi di CL
const double MAX_ANG_CEN = 150.001 ;
//----------------------------------------------------------------------------
// Tolleranza su elevazione per attacchi e uscite
const double LIO_ELEV_TOL = 2.0 ;
const double LIO_ELEV_FLOAT = 10.0 ;
//----------------------------------------------------------------------------
// Per FlatParts (vedi Nesting di EgtExecutor)
const std::string NST_EXT_LAYER = "OutLoop" ;
const std::string NST_PARTREG_LAYER = "Region" ;
//----------------------------------------------------------------------------
// Minima componente zeta di versore utensile per lavorazione da sopra (-45deg)
const double MIN_ZDIR_TOP_TOOL = -0.7072 ;
// Minima componente zeta di versore utensile per mortasatura quasi verticale (45deg)
const double MIN_ZDIR_VERT_CHSAW = 0.7072 ;
//----------------------------------------------------------------------------
// Valore di default del peso del primo asse rotante di macchina
static const double ROT1_WEIGHT_DFLT = 1 ;
// Valore di default per angolo di apertura del cono di direzioni coincidenti con singolarità
static const double SING_CONE_ANG_DFLT = 0.01 ;