3f99541786
- in import BTL aggiunta gestione RawParts (grezzi per nesting) e Composites (per pareti a layer).
259 lines
6.6 KiB
C++
259 lines
6.6 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2021-2021
|
|
//----------------------------------------------------------------------------
|
|
// File : BtlConst.h Data : 27.08.21 Versione : 2.3h2
|
|
// Contenuto : Dichiarazione costanti e funzioni per importazione BTL.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 27.08.21 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include <array>
|
|
#include <string>
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Commento
|
|
static const std::string KEY_COMMENT = "COMMENT" ;
|
|
// Sezioni
|
|
// HEADER non ha intestazione
|
|
static const std::string SEC_GENERAL = "[GENERAL]" ;
|
|
static const std::string SEC_RAWPART = "[RAWPART]" ;
|
|
static const std::string SEC_PART = "[PART]" ;
|
|
static const std::string SEC_COMPOSITE = "[COMPOSITE]" ;
|
|
// Chiavi HEADER
|
|
static const std::string KEY_VERSION = "VERSION" ;
|
|
static const std::string KEY_BUILD = "BUILD" ;
|
|
static const std::string KEY_EDITION = "EDITION" ;
|
|
|
|
//--- Chiavi GENERAL ---------------------------------------------------------
|
|
enum nGeneKey {
|
|
KEY_GENE_ARCHITECT = 0,
|
|
KEY_GENE_COMPUTERNAME,
|
|
KEY_GENE_CUSTOMER,
|
|
KEY_GENE_DELIVERYDATE,
|
|
KEY_GENE_EDITOR,
|
|
KEY_GENE_EXPORTDATE,
|
|
KEY_GENE_EXPORTFILE,
|
|
KEY_GENE_EXPORTRELEASE,
|
|
KEY_GENE_EXPORTTIME,
|
|
KEY_GENE_LANGUAGE,
|
|
KEY_GENE_LISTNAME,
|
|
KEY_GENE_PROCESSINGQUALITY,
|
|
KEY_GENE_PROJECTGUID,
|
|
KEY_GENE_PROJECTNAME,
|
|
KEY_GENE_PROJECTNUMBER,
|
|
KEY_GENE_PROJECTPART,
|
|
KEY_GENE_RANGE,
|
|
KEY_GENE_RECESS,
|
|
KEY_GENE_SCALEUNIT,
|
|
KEY_GENE_SOURCEFILE,
|
|
KEY_GENE_USER,
|
|
KEY_GENE_USERATTRIBUTE,
|
|
KEY_GENE_ZZZ
|
|
} ;
|
|
static const std::array<std::string,KEY_GENE_ZZZ> sGeneKey = {
|
|
"ARCHITECT",
|
|
"COMPUTERNAME",
|
|
"CUSTOMER",
|
|
"DELIVERYDATE",
|
|
"EDITOR",
|
|
"EXPORTDATE",
|
|
"EXPORTFILE",
|
|
"EXPORTRELEASE",
|
|
"EXPORTTIME",
|
|
"LANGUAGE",
|
|
"LISTNAME",
|
|
"PROCESSINGQUALITY",
|
|
"PROJECTGUID",
|
|
"PROJECTNAME",
|
|
"PROJECTNUMBER",
|
|
"PROJECTPART",
|
|
"RANGE",
|
|
"RECESS",
|
|
"SCALEUNIT",
|
|
"SOURCEFILE",
|
|
"USER",
|
|
"USERATTRIBUTE"
|
|
} ;
|
|
inline int
|
|
FindGeneralKey( const std::string& sKey)
|
|
{
|
|
auto TheRange = equal_range( sGeneKey.cbegin(), sGeneKey.cend(), sKey) ;
|
|
if ( TheRange.first == TheRange.second)
|
|
return - 1 ;
|
|
return int( TheRange.first - sGeneKey.cbegin()) ;
|
|
}
|
|
|
|
//--- Chiavi RAWPART ---------------------------------------------------------
|
|
enum nRawpKey {
|
|
KEY_RAWP_PROCESSKEY = 0,
|
|
KEY_RAWP_PROCESSPARAMETERS,
|
|
KEY_RAWP_REFERENCEPLANE,
|
|
KEY_RAWP_ZZZ
|
|
} ;
|
|
static const std::array<std::string,KEY_RAWP_ZZZ> sRawpKey = {
|
|
"PROCESSKEY",
|
|
"PROCESSPARAMETERS",
|
|
"REFERENCEPLANE"
|
|
} ;
|
|
inline int
|
|
FindRawPartKey( const std::string& sKey)
|
|
{
|
|
auto TheRange = equal_range( sRawpKey.cbegin(), sRawpKey.cend(), sKey) ;
|
|
if ( TheRange.first == TheRange.second)
|
|
return - 1 ;
|
|
return int( TheRange.first - sRawpKey.cbegin()) ;
|
|
}
|
|
|
|
//--- Chiavi PART ------------------------------------------------------------
|
|
enum nPartKey {
|
|
KEY_PART_ALIGNMENT = 0,
|
|
KEY_PART_ANNOTATION,
|
|
KEY_PART_APERTURE,
|
|
KEY_PART_ASSEMBLYNUMBER,
|
|
KEY_PART_CAMBER,
|
|
KEY_PART_COLOUR,
|
|
KEY_PART_COUNT,
|
|
KEY_PART_DESIGNATION,
|
|
KEY_PART_ELEMENTNUMBER,
|
|
KEY_PART_ENDOFFSET,
|
|
KEY_PART_GRAINDIRECTION,
|
|
KEY_PART_GROUP,
|
|
KEY_PART_HEIGHT,
|
|
KEY_PART_LAYER,
|
|
KEY_PART_LENGTH,
|
|
KEY_PART_MATERIAL,
|
|
KEY_PART_MATERIALTYPE,
|
|
KEY_PART_MODULENUMBER,
|
|
KEY_PART_ORDERNUMBER,
|
|
KEY_PART_OUTLINE,
|
|
KEY_PART_PACKAGE,
|
|
KEY_PART_PARTOFFSET,
|
|
KEY_PART_PLANINGLENGTH,
|
|
KEY_PART_PROCESSINGQUALITY,
|
|
KEY_PART_QUALITYGRADE,
|
|
KEY_PART_RECESS,
|
|
KEY_PART_REFERENCEPLANE,
|
|
KEY_PART_REFERENCESIDE,
|
|
KEY_PART_SINGLEMEMBERNUMBER,
|
|
KEY_PART_STARTOFFSET,
|
|
KEY_PART_STOREY,
|
|
KEY_PART_STOREYTYPE,
|
|
KEY_PART_TIMBERGRADE,
|
|
KEY_PART_TRANSFORMATION,
|
|
KEY_PART_TYPE,
|
|
KEY_PART_UID,
|
|
KEY_PART_USERATTRIBUTE,
|
|
KEY_PART_WIDTH,
|
|
KEY_PART_ZZZ
|
|
} ;
|
|
static const std::array<std::string,KEY_PART_ZZZ> sPartKey = {
|
|
"ALIGNMENT",
|
|
"ANNOTATION",
|
|
"APERTURE",
|
|
"ASSEMBLYNUMBER",
|
|
"CAMBER",
|
|
"COLOUR",
|
|
"COUNT",
|
|
"DESIGNATION",
|
|
"ELEMENTNUMBER",
|
|
"ENDOFFSET",
|
|
"GRAINDIRECTION",
|
|
"GROUP",
|
|
"HEIGHT",
|
|
"LAYER",
|
|
"LENGTH",
|
|
"MATERIAL",
|
|
"MATERIALTYPE",
|
|
"MODULENUMBER",
|
|
"ORDERNUMBER",
|
|
"OUTLINE",
|
|
"PACKAGE",
|
|
"PARTOFFSET",
|
|
"PLANINGLENGTH",
|
|
"PROCESSINGQUALITY",
|
|
"QUALITYGRADE",
|
|
"RECESS",
|
|
"REFERENCEPLANE",
|
|
"REFERENCESIDE",
|
|
"SINGLEMEMBERNUMBER",
|
|
"STARTOFFSET",
|
|
"STOREY",
|
|
"STOREYTYPE",
|
|
"TIMBERGRADE",
|
|
"TRANSFORMATION",
|
|
"TYPE",
|
|
"UID",
|
|
"USERATTRIBUTE",
|
|
"WIDTH"
|
|
} ;
|
|
inline int
|
|
FindPartKey( const std::string& sKey)
|
|
{
|
|
auto TheRange = equal_range( sPartKey.cbegin(), sPartKey.cend(), sKey) ;
|
|
if ( TheRange.first == TheRange.second)
|
|
return - 1 ;
|
|
return int( TheRange.first - sPartKey.cbegin()) ;
|
|
}
|
|
|
|
//--- Chiavi PROCESS ---------------------------------------------------------
|
|
enum nProcKey {
|
|
KEY_PROC_PRIORITY = 0,
|
|
KEY_PROC_PROCESS,
|
|
KEY_PROC_PROCESSIDENT,
|
|
KEY_PROC_PROCESSINGQUALITY,
|
|
KEY_PROC_PROCESSKEY,
|
|
KEY_PROC_PROCESSPARAMETERS,
|
|
KEY_PROC_RECESS,
|
|
KEY_PROC_REFERENCEPLANE,
|
|
KEY_PROC_USERATTRIBUTE,
|
|
KEY_PROC_ZZZ
|
|
} ;
|
|
static const std::array<std::string,KEY_PROC_ZZZ> sProcKey = {
|
|
"PRIORITY",
|
|
"PROCESS",
|
|
"PROCESSIDENT",
|
|
"PROCESSINGQUALITY",
|
|
"PROCESSKEY",
|
|
"PROCESSPARAMETERS",
|
|
"RECESS",
|
|
"REFERENCEPLANE",
|
|
"USERATTRIBUTE"
|
|
} ;
|
|
inline int
|
|
FindProcessKey( const std::string& sKey)
|
|
{
|
|
auto TheRange = equal_range( sProcKey.cbegin(), sProcKey.cend(), sKey) ;
|
|
if ( TheRange.first == TheRange.second)
|
|
return - 1 ;
|
|
return int( TheRange.first - sProcKey.cbegin()) ;
|
|
}
|
|
|
|
//--- Parametri --------------------------------------------------------------
|
|
static const std::string PAR_R = "R" ;
|
|
static const std::string PAR_G = "G" ;
|
|
static const std::string PAR_B = "B" ;
|
|
static const std::string PAR_A = "A" ;
|
|
static const std::string PAR_X = "X" ;
|
|
static const std::string PAR_Y = "Y" ;
|
|
static const std::string PAR_Z = "Z" ;
|
|
static const std::string PAR_ALIGN = "ALIGN" ;
|
|
static const std::string PAR_OX = "OX" ;
|
|
static const std::string PAR_OY = "OY" ;
|
|
static const std::string PAR_OZ = "OZ" ;
|
|
static const std::string PAR_XX = "XX" ;
|
|
static const std::string PAR_XY = "XY" ;
|
|
static const std::string PAR_XZ = "XZ" ;
|
|
static const std::string PAR_YX = "YX" ;
|
|
static const std::string PAR_YY = "YY" ;
|
|
static const std::string PAR_YZ = "YZ" ;
|
|
static const std::string PAR_PROCESS = "PROCESS" ;
|
|
static const std::string PAR_SIDE = "SIDE" ;
|
|
static const std::string PAR_P = "P" ;
|
|
static const std::string PAR_UID = "UID" ;
|