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