a31dfa3378
- aggiunta gestione lavorazione fresatura a 5 assi.
77 lines
4.2 KiB
C++
77 lines
4.2 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2024-2024
|
|
//----------------------------------------------------------------------------
|
|
// File : FiveAxisMillingData.h Data : 22.05.24 Versione : 2.6e5
|
|
// Contenuto : Dichiarazione della struct FiveAxisMillingData e costanti associate.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 22.05.24 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "MachiningData.h"
|
|
|
|
//----------------------------------------------------------------------------
|
|
struct FiveAxisMillingData : public MachiningData
|
|
{
|
|
EgtUUID m_ToolUuid ; // identificativo universale dell'utensile
|
|
std::string m_sToolName ; // nome dell'utensile
|
|
std::string m_sInitAngs ; // angoli iniziali suggeriti (Nome1=val1,Nome2=val2)
|
|
std::string m_sBlockedAxis ; // eventuale asse rotante bloccato (Nome=val)
|
|
int m_nSolCh ; // criterio scelta soluzione (quando possibili molteplici)
|
|
double m_dSpeed ; // velocità di rotazione (+ se CCW, - se CW) ( se 0 da utensile)
|
|
double m_dFeed ; // velocità di lavorazione normale ( se 0 da utensile)
|
|
double m_dStartFeed ; // velocità di lavorazione iniziale ( se 0 da utensile)
|
|
double m_dEndFeed ; // velocità di lavorazione finale ( se 0 da utensile)
|
|
double m_dTipFeed ; // velocità di lavorazione di sfondamento ( se 0 da utensile)
|
|
double m_dOffsR ; // offset radiale ( se UNKNOWN_PAR da utensile)
|
|
double m_dOffsL ; // offset longitudinale ( se UNKNOWN_PAR da utensile)
|
|
bool m_bToolInvert ; // flag per inversione direzione utensile da geometria
|
|
bool m_bInvert ; // flag di inversione direzione lavorazione
|
|
std::string m_sDepth ; // affondamento (espressione numerica)
|
|
double m_dStartPos ; // quota di inizio lavorazione (sempre >= 0)
|
|
int m_nSubType ; // da [GenMachining] di Ini di macchina
|
|
std::string m_sSysNotes ; // note interne
|
|
std::string m_sUserNotes ; // note dell'utente
|
|
|
|
FiveAxisMillingData( void)
|
|
: m_ToolUuid(), m_nSolCh( 0), m_dSpeed( 0), m_dFeed( 0), m_dStartFeed( 0), m_dEndFeed( 0), m_dTipFeed( 0),
|
|
m_dOffsR( 0), m_dOffsL( 0), m_bToolInvert( false), m_bInvert( false), m_dStartPos( 0), m_nSubType( 0) {}
|
|
FiveAxisMillingData* Clone( void) const override ;
|
|
bool CopyFrom( const MachiningData* pMdata) override ;
|
|
bool SameAs(const MachiningData* pMdata) const override ;
|
|
int GetType( void) const override
|
|
{ return MT_FIVEAXISMILLING ; }
|
|
int GetSize( void) const override ;
|
|
std::string GetTitle( void) const override ;
|
|
bool FromString( const std::string& sString, int& nKey) override ;
|
|
std::string ToString( int nKey) const override ;
|
|
bool IsOptional( int nKey) const override ;
|
|
bool SetParam( int nType, bool bVal) override ;
|
|
bool SetParam( int nType, int nVal) override ;
|
|
bool SetParam( int nType, double dVal) override ;
|
|
bool SetParam( int nType, const std::string& sVal) override ;
|
|
bool ResetTool( void) override ;
|
|
bool GetParam( int nType, bool& bVal) const override ;
|
|
bool GetParam( int nType, int& nVal) const override ;
|
|
bool GetParam( int nType, double& dVal) const override ;
|
|
bool GetParam( int nType, std::string& sVal) const override ;
|
|
bool GetTool( const ToolsMgr* pToolsMgr, const ToolData*& pTdata) const override ;
|
|
bool VerifyTool( const ToolsMgr* pToolsMgr, const std::string& sVal, const ToolData*& pTdata) const override ;
|
|
bool VerifySolCh( int nVal) const ;
|
|
} ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
inline const FiveAxisMillingData* GetFiveAxisMillingData( const MachiningData* pMdata)
|
|
{ if ( pMdata == nullptr || pMdata->GetType() != MT_FIVEAXISMILLING)
|
|
return nullptr ;
|
|
return ( static_cast<const FiveAxisMillingData*>( pMdata)) ; }
|
|
inline FiveAxisMillingData* GetFiveAxisMillingData( MachiningData* pMdata)
|
|
{ if ( pMdata == nullptr || pMdata->GetType() != MT_FIVEAXISMILLING)
|
|
return nullptr ;
|
|
return ( static_cast<FiveAxisMillingData*>( pMdata)) ; }
|