Files
EgtMachKernel/MillingData.h
T
Dario Sassi 7640eab85e EgtMachKernel 1.6k5 :
- aggiunta gestione DB lavorazioni.
2015-11-14 16:24:20 +00:00

78 lines
4.3 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : MillingData.h Data : 05.06.15 Versione : 1.6f1
// Contenuto : Dichiarazione della struct MillingData e costanti associate.
//
//
//
// Modifiche : 05.06.15 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "MachiningData.h"
//----------------------------------------------------------------------------
struct MillingData : public MachiningData
{
EgtUUID m_ToolUuid ; // identificativo universale dell'utensile
std::string m_sToolName ; // nome dell'utensile
bool m_bInvert ; // flag di inversione direzione lavorazione
int m_nWorkSide ; // lato di lavoro (destra, sinistra, centro)
std::string m_sDepth ; // affondamento (espressione numerica)
double m_dOverlap ; // lunghezza di sovrapposizione se percorso chiuso
double m_dStep ; // passo di affondamento (0=nessun passo)
int m_nStepType ; // tipo di lavorazione a step (a gradini, una via, a spirale)
double m_dSideAngle ; // angolo di sbandamento (0-60deg)
bool m_bLeaveTab ; // lasciare i tab
double m_dTabLen ; // lunghezza dei tab lasciati per tenere il pezzo
double m_dTabDist ; // distanza tra due tab consecutivi
double m_dTabHeight ; // altezza dei tab
double m_dTabAngle ; // angolo di salita/discesa dei tab
int m_nLeadInType ; // tipo di attacco (nessuno, lineare, tangente, inseguimento)
double m_dLiTang ; // distanza tangente da inizio attacco
double m_dLiPerp ; // distanza perpendicolare da inizio attacco
double m_dLiElev ; // elevazione da inizio attacco
double m_dLiCompLen ; // lunghezza del tratto di inserimento correttore raggio utensile
int m_nLeadOutType ; // tipo di uscita (come attacco, nessuno, lineare, tangente, inseguimento)
double m_dLoTang ; // distanza tangente verso fine uscita
double m_dLoPerp ; // distanza perpendicolare verso fine uscita
double m_dLoElev ; // elevazione verso fine uscita
double m_dLoCompLen ; // lunghezza del tratto di disinserimento correttore raggio utensile
MillingData( void)
: m_bInvert( false), m_nWorkSide( 0),
m_dOverlap( 0), m_dStep( 0), m_nStepType( 0), m_dSideAngle( 0),
m_bLeaveTab( false), m_dTabLen( 0), m_dTabDist( 0), m_dTabHeight( 0), m_dTabAngle( 0),
m_nLeadInType( 0), m_dLiTang( 0), m_dLiPerp( 0), m_dLiElev( 0), m_dLiCompLen( 0),
m_nLeadOutType( 0), m_dLoTang( 0), m_dLoPerp( 0), m_dLoElev( 0), m_dLoCompLen( 0) {}
virtual MillingData* Clone( void) const ;
virtual bool CopyFrom( const MachiningData* pMdata) ;
virtual bool SameAs(const MachiningData* pMdata) const ;
virtual int GetType( void) const { return MT_MILLING ; }
virtual int GetSize( void) const ;
virtual std::string GetTitle( void) const ;
virtual bool FromString( const std::string& sString, int& nKey) ;
virtual std::string ToString( int nInd) const ;
virtual bool SetParam( int nType, bool bVal) ;
virtual bool SetParam( int nType, int nVal) ;
virtual bool SetParam( int nType, double dVal) ;
virtual bool SetParam( int nType, const std::string& sVal) ;
virtual bool GetParam( int nType, bool& bVal) const ;
virtual bool GetParam( int nType, int& nVal) const ;
virtual bool GetParam( int nType, double& dVal) const ;
virtual bool GetParam( int nType, std::string& sVal) const ;
virtual bool VerifyTool( const ToolsMgr* pToolsMgr, const std::string& sVal, const ToolData*& pTdata) const ;
bool VerifyWorkSide( int nVal) const ;
bool VerifyStepType( int nVal) const ;
bool VerifyLeadInType( int nVal) const ;
bool VerifyLeadOutType( int nVal) const ;
bool VerifySideAngle( double dVal) const ;
} ;
//----------------------------------------------------------------------------
inline const MillingData* GetMillingData( const MachiningData* pMdata)
{ return (dynamic_cast<const MillingData*>( pMdata)) ; }