ed1cd66164
- in NewLink in SpecialLink() aggiunto parametro OTHERLINKTYPE per gestione lavorazioni in doppio - Aggiunto controllo "Home" per Add/Remove Climb/Rise.
193 lines
8.3 KiB
C++
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 ;
|