'----------------------------------------------------------------------------
'  EgalTech 2015-2015
'----------------------------------------------------------------------------
' File : ConstGen.vb       Data : 12.02.15        Versione : 1.6b3
' Contenuto : Modulo costanti generali.
'
'
'
' Modifiche : 12.02.15 DS Creazione modulo.
'
'
'----------------------------------------------------------------------------
Imports EgtUILib

Module ConstGen

   ' File con direttorio radice dei dati
   Public Const DAT_FILE_NAME As String = "DataRoot.Ini"
   Public Const S_DATA As String = "Data"
   Public Const K_DATAROOT As String = "DataRoot"

   ' File con dati di licenza
   Public Const LIC_FILE_NAME As String = "OmagCUT.lic"
   Public Const S_LICENCE As String = "Licence"
   Public Const K_KEY As String = "Key"
   Public Const K_NESTKEY As String = "NestKey"

   ' File di log generale
   Public Const GENLOG_FILE_NAME As String = "OmagCUTLog.txt"
   ' File di log dei comandi
   Public Const CMDLOG_FILE_NAME As String = "OmagCUTLog.tua"

   ' Sottodirettorio di configurazione
   Public Const CONF_DIR As String = "Config"
   ' Sottodirettorio delle risorse
   Public Const RES_DIR As String = "Resources"
    ' Sottodirettorio temporaneo
   Public Const TEMP_DIR As String = "Temp"
   ' Sottodirettorio per VeinMatching
   Public Const VEINMATCHING_DIR As String = "VeinMatching"
   ' Sottodirettorio per Cam automatico
   Public Const CAMAUTO_DIR As String = "CamAuto"
   ' Sottodirettorio per Csv automatico
   Public Const CSVAUTO_DIR As String = "CsvAuto"
   ' Sottodirettorio per Trf automatico
   Public Const TRFAUTO_DIR As String = "TrfAuto"
   ' Sottodirettorio per file Cnc
   Public Const CNC_DIR As String = "CNC"
   ' Sottodirettorio di default per il salvataggio
   Public Const SAVE_DFL_DIR As String = "Data"
   ' Sottodirettorio di default per il salvataggio con nome
   Public Const SAVE_DFL_NAMEDIR As String = "MyProjects"
   ' Sottodirettorio di default per la copia dei progetti in modalità Uficio
   Public Const COPYPROJ_DFL_DIR As String = "CopyProj"
   ' Sottodirettorio di default per le macchine
   Public Const MACHINES_DFL_DIR As String = "Machines"
   ' Sottodirettorio di default per i toolmakers
   Public Const TOOLMAKERS_DFL_DIR As String = "ToolMakers"
   ' Sottodirettorio di deafult con le dime salvate
   Public Const TEMPLATE_DFL_DIR As String = "CopyTemplate"
   ' Sottodirettorio di default per pezzi rovinati da CSV
   Public Const RUINEDPARTS_DFL_DIR As String = "RuinedParts"
   ' Sottodirettorio di default per pezzi prodotti da CSV
   Public Const PRODUCEDPARTS_DFL_DIR As String = "ProducedParts"

   ' Sottodirettorio Machining dentro il quale trovare il file INI delle lucidature
   Public Const MACHININGS_DIR As String = "Machinings"
   ' Nome file Dati delle lucidature
   Public Const KITS_FILE As String = "Kits.data"
   ' Nome file Dati per waterJet
   Public Const WATERJETDB_FILE As String = "WaterjetDB.data"

   ' File dei pezzi rovinati
   Public Const CURR_RUINED_EPL As String = "RuinedParts.epl"

   ' Delta Z sovratavola per evitare problemi di visualizzazione texture
   Public Const DELTAZ_ADDTAB As Double = 0.1
   ' Nome gruppo dei sottopezzi
   Public Const MACH_FIXT_GROUP As String = "Fixt"
   ' Nome tavola addizionale nel gruppo dei sottopezzi
   Public Const MACH_ADD_TABLE As String = "AddTab"
   ' Info altezza tavola addizionale nella tavola
   Public Const KEY_ADD_TABLE As String = "AddTab"

   ' Nome testa con ventose per spostamento pezzi
   Public Const VACUUM_HEAD As String = "H4"
   ' Info tipo ventosa
   Public Const KEY_VAC_TYPE As String = "VacType"
   ' Nome gruppo layout in testa con ventose
   Public Const VACUUM_HEAD_LAYOUT As String = "LAYOUT"
   ' Base di info in gruppo layout per selezioni di ventose da verificare
   Public Const KEY_VACLAY_SEL As String = "Sel"
   ' Info in gruppo layout per angolo di rotazione preferito
   Public Const KEY_VACLAY_PREFROT As String = "PreferredRot"
   Public Const KEY_VACLAY_PREFVROTXMINUS As String = "PrefVertRotXMinus"
   Public Const KEY_VACLAY_PREFVROTXPLUS As String = "PrefVertRotXPlus"
   Public Const KEY_VACLAY_PREFVROTYMINUS As String = "PrefVertRotYMinus"
   Public Const KEY_VACLAY_PREFVROTYPLUS As String = "PrefVertRotYPlus"
   ' Info in gruppo layout per direzione di riferimento ventose per tagli da sotto
   Public Const KEY_VACLAY_DRIPREFDIR As String = "DripRefDir"
   ' Info in asse rotante ventosa per step discreti
   Public Const KEY_ROTVAC_STEPS As String = "STEPS"
   ' Nome oggetto frame prima uscita di una testa
   Public Const HEAD_FIRST_EXIT As String = "_T1"

   ' Nomi tavole principale, seconda e terza
   Public Const MAIN_TAB As String = "MainTab"
   Public Const SECOND_TAB As String = "2ndTab"
   Public Const THIRD_TAB As String = "3rdTab"
   ' Nome tavola ausiliaria per spostamento finale pezzi
   Public Const AUX_TAB As String = "AuxTab"

   ' Costanti per lavorazioni
   Public Const MACH_GROUP As String = "Mach01"
   Public Const PHOTO_GRP As String = "Photos"
   Public Const PHOTO_NAME As String = "Raw"

   ' Nome della superficie del grezzo
   Public Const NAME_RAW_SOLID As String = "RawSolid"
   ' Nome del contorno di kerf nel grezzo
   Public Const NAME_KERF As String = "Kerf"
   ' Chiave per info di kerf nel grezzo
   Public Const KEY_KERF As String = "Kerf"
   ' Chiave per indicare che il grezzo è misurato dal lato esterno (kerf<0)
   Public Const KEY_INVERT_KERF As String = "InevertKef"
   ' Nome del contorno del grezzo
   Public Const NAME_RAW_OUTLINE As String = "RawOutline"
   ' Nome della regione del grezzo
   Public Const NAME_RAW_REGION As String = "RawRegion"
   ' Nome della regione del kerf grezzo
   Public Const NAME_KERF_REGION As String = "KerfRegion"
   ' Nome della regione fuori kerf nel grezzo
   Public Const NAME_OUTKERF_REG As String = "SheetOut"
   ' Nome della regione di riferimento nel grezzo
   Public Const NAME_REF_REG As String = "RefReg"
   ' Chiave per disabilitare la regione di riferimento
   Public Const KEY_REF_REG_OFF As String = "Off"
   ' Chiave per definizione del grezzo per punti
   Public Const KEY_RAWBYPOINTS As String = "Rbp"
   ' Nome del contorno di un'area rovinata
   Public Const NAME_DAMAGED As String = "Damaged"
   ' Nome della regione di un'area rovinata
   Public Const NAME_DAMAGED_REG As String = "DmgReg"
   ' Nome gruppo contorno grezzo da fotografia
   Public Const NAME_RAW_PHOTO_OUTLINE As String = "RawPhotoOutline"
   ' Nome testo per Barcode
   Public Const NAME_BARCODE As String = "BarCode"
   ' Info per identificativo blocco
   Public Const INFO_RAW_BLOCK = "Block"
   ' Info per numero lastra nel blocco
   Public Const INFO_RAW_SLABNBR = "SlabNbr"
   ' Info per identificazione gruppo pezzi
   Public Const INFO_REFGROUP As String = "RefGroup"
   Public Const INFO_COUNTERLY As String = "CounterPz"

   ' Contrassegno di progetto OmagCut
   Public Const NAME_PROJMARK As String = "OmagCut"
   ' Info per stato flag taglio ridotto
   Public Const INFO_REDUCEDCUT = "ReducedCut"
   ' Info per tastatura tagli con angolo di fianco
   Public Const INFO_SACPROBE As String = "SacProbe"
   ' Info per lavaggio prima di spostamento pezzi con ventosa
   Public Const INFO_WASHING As String = "Washing"
   ' Info per lavorazioni già ordinate
   Public Const INFO_MACHORDER As String = "MachOrder"
   ' Info per indice progetto
   Public Const INFO_PROJINDEX As String = "ProjIndex"
   ' Info per materiale progetto
   Public Const INFO_PROJMAT As String = "ProjMat"
   ' Info per codice ordine progetto
   Public Const INFO_PROJORD As String = "ProjOrd"
   ' Info per flag ultima lastra dell'ordine
   Public Const INFO_LASTSLAB As String = "LastSlab"
   ' Info per programma di linea inviato
   Public Const INFO_NCPROGSENT As String = "NcProgSent"
   ' Info per riavvio programma da fase successiva alla prima
   Public Const INFO_NCRESTART As String = "NcRestart"
   ' Info per ingombro pezzi con gocciolatoio
   Public Const INFO_DRIPBBOX As String = "DripBBox"
   ' Info per rotazione in registrazione grezzo
   Public Const INFO_REGROT As String = "RegRot"
   ' Info con path carico progetto
   Public Const INFO_LOADPATH As String = "LoadPath"
   ' Info per stato scarico progetto salvato da OmagVIEW
   Public Const INFO_UNLOADSAVED As String = "UnloadSaved"
   ' Info per area totale dei pezzi del progetto
   Public Const INFO_TOTAREA As String = "TotArea"
   ' Info per area da produrre dei pezzi del progetto
   Public Const INFO_TOPRODAREA As String = "ToProdArea"

   ' Nome layer delle regioni
   Public Const NAME_REGION As String = "Region"
   ' Nome solido derivato da regione del pezzo per taglio da sotto
   Public Const NAME_DRIP_SOLID As String = "DripSolid"
   ' Delta Z regioni di pezzi per evitare problemi di visualizzazione con grezzi
   Public Const DELTAZ_REG As Double = 0.1
   ' Nome layer contorni esterni
   Public Const NAME_OUTLOOP As String = "OutLoop"
   ' Nome layer contorni interni
   Public Const NAME_INLOOP As String = "InLoop"
   ' Nome layer percorsi sul pezzo
   Public Const NAME_ONPATH As String = "OnPath"
   ' Nome layer percorsi di taglio da sotto (gocciolatoio)
   Public Const NAME_DRIPCUT As String = "Drip"
   ' Nome layer percorsi di foratura da sotto
   Public Const NAME_UNDERDRILL As String = "UnderDrill"
   ' Nome layer preview
   Public Const NAME_PREVIEW As String = "PV"
   ' Info in layer contorno interno per FiloTop
   Public Const INFO_FILOTOP As String = "FiloTop"
   ' Info in entità da tagliare per affondamento
   Public Const INFO_DEPTH As String = "Depth"
   Public Const INFO_WIDTH As String = "Width"
   Public Const INFO_DEPTH2 As String = "Depth2"
   Public CONST INFO_AGG2 As String = "Agg2"
   ' Info in entità da tagliare per taglio ristretto
   Public Const INFO_STRICT As String = "Strict"
   ' Info in entità da tagliare per angolo di lato e tallone
   Public Const INFO_SIDE_ANGLE As String = "SideAng"
   Public Const INFO_OFFSET As String = "Offset"
   Public Const INFO_SIDE_ANGLE2 As String = "SideAng2"
   Public Const INFO_OFFSET2 As String = "Offset2"
   Public Const INFO_HEEL As String = "Heel"
   Public Const INFO_ORIG_SIDE_ANGLE As String = "OrigSideAng"
   Public const INFO_SIDE_FIXED As String = "SideFixed"
   ' Info in entità da tagliare per gocciolatoio
   Public Const INFO_HAVE_DRIP As String = "HaveDrip"
   ' Info in entità da tagliare per direzione che varia a seconda del tipo (una via o zigzag)
   Public Const INFO_DIR As String = "Dir"
   ' Info in entità da tagliare per abilitare possibilità di inversione
   Public Const INFO_ENABLE_INVERT As String = "EnInv"
   ' Info in entità da tagliare per angolo con entità precedente e successiva
   Public Const INFO_PREVANG As String = "PrevAng"
   Public Const INFO_NEXTANG As String = "NextAng"
   ' Info in entità da tagliare per lunghezza libera prima dell'inizio
   Public Const INFO_START_FREELEN As String = "SFL"
   ' Info in entità da tagliare per lunghezza libera dopo la fine
   Public Const INFO_END_FREELEN As String = "EFL"
   ' Angolo esterno minimo per calcolare la direzione libera sull'arco
   Public Const FL_ARC_ANG_MIN As Double = 30
   ' Info in preview lavorazione con identificativo layer preview spostato nel pezzo
   Public Const INFO_PV_ONPART_ID As String = "PvId"
   ' Info in lavorazione con identificativo lavorazioni inglobate
   Public Const INFO_MCH_OTHMID As String = "OthMIds"
   ' Info in lavorazione con nome layer di provenieneza della geometria lavorata
   Public Const INFO_MCH_LAYER As String = "Lay"
   ' Info lavorazione disabilitata dall'utente
   Public Const INFO_MCH_USER_OFF As String = "UserOff"
   ' Info lavorazione disabilitata perchè lavorata in doppio con altra
   Public Const INFO_MCH_DUPLED As String = "Dupled"
   ' Info lavorazione per pausa alla fine
   Public Const INFO_MCH_PAUSE As String = "Pause"
   ' Info allungamento iniziale lavorazione imposto dall'utente
   Public Const INFO_MCH_USER_SAL As String = "Usal"
   ' Info allungamento finale lavorazione imposto dall'utente
   Public Const INFO_MCH_USER_EAL As String = "Ueal"
   ' Info lavorazione di tipo pretaglio sull'uscita
   Public Const INFO_MCH_EPC As String = "EPC"
   ' Nome contorno taglio
   Public Const NAME_PV_CUT As String = "CUT"
   ' Nome contorno pre-taglio
   Public Const NAME_PV_PRECUT As String = "PRC"
   ' Nome contorno post-taglio
   Public Const NAME_PV_POSTCUT As String = "POC"
   ' Nome contorno in basso taglio
   Public Const NAME_PV_DOWN_CUT As String = "DCUT"
   ' Nome contorno in basso pre-taglio
   Public Const NAME_PV_DOWN_PRECUT As String = "DPRC"
   ' Nome contorno in basso post-taglio
   Public Const NAME_PV_DOWN_POSTCUT As String = "DPOC"
   ' Nome regione taglio
   Public Const NAME_PV_RCUT As String = "RCUT"
   ' Nome regione pre-taglio (attacco)
   Public Const NAME_PV_RLICUT As String = "RLICUT"
   ' Nome regione post-taglio (uscita)
   Public Const NAME_PV_RLOCUT As String = "RLOCUT"
   ' Info in lavorazione taglio per attacco originale
   Public Const INFO_MCH_ORILEADIN As String = "OriLI"
   ' Info in lavorazione taglio per uscita originale
   Public Const INFO_MCH_ORILEADOUT As String = "OriLO"
   ' Info in pezzo con path di provenienza
   Public Const INFO_SOU_PATH As String = "SouPath"
   ' Info in pezzo con path di Csv di provenienza
   Public Const INFO_CSV_PATH As String = "CsvPath"
   ' Info in pezzo con suo nome in Csv
   Public Const INFO_CSV_PART As String = "CsvPart"
   ' Info in pezzo con suo ordine in Csv
   Public Const INFO_CSV_ORD As String = "CsvOrd"
   ' Info in pezzo con sua distinta in Csv
   Public Const INFO_CSV_DIST As String = "CsvDist"
   ' Info in pezzo con suo materiale in Csv
   Public Const INFO_CSV_MAT As String = "CsvMat"
   ' Info in pezzo con dimensione X in Csv
   Public Const INFO_CSV_V1 As String = "V1"
   ' Info in pezzo con dimensione Y in Csv
   Public Const INFO_CSV_V2 As String = "V2"
   ' Nome layer per valori angoli di inclinazione dei lati 
   Public Const SIDE_ANGLE_LAYER As String = "SideAngle"
   ' Nome layer per regioni selezione percorsi interni
   Public Const SELECT_REGION_LAYER As String = "SelectRegion"
   ' Info per stato pezzo da OmagVIEW
   Public Const INFO_PARTOK As String = "POK"
   ' Info in pezzo per stato rotazione
   Public Const INFO_PARTROT As String = "ROT"

   ' Nome di pezzo che è una cornice
   Public Const NAME_FRAME As String = "Frame"
   ' Nome del layer con la sezione della cornice
   Public Const NAME_SECT As String = "Sect"
   ' Nome del layer con la linea guida della cornice
   Public Const NAME_GUIDE As String = "Guide"
   ' Nome del layer con la superficie della cornice
   Public Const NAME_SURF As String = "Surf"
   ' Nome del layer con la superficie facet della cornice
   Public Const NAME_FACET As String = "Facet"
   ' Info con direzione della cornice (0=lungoX,1=lungoY,2=arca,3=guida)
   Public Const INFO_FRAME_DIR As String = "Dir"
   ' Info con raggio della cornice ad arco
   Public Const INFO_FRAME_ARCRAD As String = "ArcRad"
   ' Info con angolo della cornice ad arco
   Public Const INFO_FRAME_ARCANG As String = "ArcAng"
   ' Info con flag di lavorazione dell'altro lato della cornice diritta
   Public Const INFO_FRAME_OTHSIDE As String = "OthSide"
   ' Nome della lavorazione di sgrossatura cornici
   Public Const NAME_FRAME_SAWROU As String = "FrameSawRou"
   ' Nome della lavorazione di finitura cornici
   Public Const NAME_FRAME_SAWFIN As String = "FrameSawFin"
   ' Nome della lavorazione di spatolatura cornici
   Public Const NAME_FRAME_SAWSIDEFIN As String = "FrameSawSideFin"
   ' Nome della lavorazione di taglio singolo cornici
   Public Const NAME_FRAME_SAWSINGLE As String = "FrameSawSingle"
   ' Info in pezzo per ultima superficie selezionata
   Public Const INFO_FRAME_SURF As String = "Surf"
   ' Info in pezzo per facet di ultima superficie selezionata
   Public Const INFO_FRAME_FACET As String = "Facet"

   ' utensile per le lavorazioni manuali
   Public Const DUMMY_SAW As String = "DummySAW"
   ' lavorazione manuale
   Public Const DUMMY_SAWING As String = "DummySAWING"
   ' Nome di pezzo per tagli diretti
   Public Const NAME_DIRECTCUT As String = "DirectCut"

   ' Nome di pezzo temporaneo che serve per copia dime
   Public Const NAME_COPYTEMPLATE As String = "CopyTemplate"

   ' Nome layer solidi per VM
   Public Const NAME_VM_SOLID As String = "Solid"
   ' Chiave per Id originale del pezzo per VeinMatch
   Public Const KEY_ORI_ID As String = "OriId"

   ' Costante per flag di BBox
   Public Const BBFLAG As Integer = GDB_BB.ONLY_VISIBLE + GDB_BB.IGNORE_TEXT + GDB_BB.IGNORE_DIM

   ' Lunghezza libera infinita
   Public Const FREELEN_INF = 9999

   ' Costante per lunghezza gambo di lama
   Public Const STEM = 131072

   ' Colori per lavorazioni
   Public Function COL_MCH_CUT() As Color3d
      Return New Color3d(0, 255, 0)
   End Function
   Public Function COL_MCH_CUT_ANG() As Color3d
      Return New Color3d(255, 0, 255)
   End Function
   Public Function COL_MCH_FREE() As Color3d
      Return New Color3d(0, 0, 255)
   End Function
   Public Function COL_MCH_ONCUT() As Color3d
      Return New Color3d(255, 165, 0)
   End Function
   Public Function COL_MCH_ONFREE() As Color3d
      Return New Color3d(192, 128, 0)
   End Function
   Public Function COL_MCH_DRIPCUT() As Color3d
      Return New Color3d(255, 0, 165)
   End Function
   Public Function COL_MCH_DRIPFREE() As Color3d
      Return New Color3d(192, 0, 128)
   End Function
   Public Function COL_MCH_INTERF() As Color3d
      Return New Color3d(255, 0, 0)
   End Function
   Public Function COL_MCH_DISABLED() As Color3d
      Return New Color3d(96, 96, 96)
   End Function
   Public Function COL_MCH_DIS_NUMBER() As Color3d
      Return New Color3d(32, 32, 128)
   End Function
   Public Function COL_MCH_DIS_INTERF() As Color3d
      Return New Color3d(224, 64, 64)
   End Function

   ' Colore superficie di cornice
   Public Function COL_FRAME() As Color3d
      Return New Color3d(128, 192, 96)
   End Function

End Module
