//---------------------------------------------------------------------------- // EgalTech 2025-2025 //---------------------------------------------------------------------------- // File : ProbingData.h Data : 09.06.25 Versione : 2.7f2 // Contenuto : Dichiarazione della struct ProbingData e costanti associate. // // // // Modifiche : 09.06.25 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "MachiningData.h" //---------------------------------------------------------------------------- struct ProbingData : 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_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) 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 [Probing] di Ini di macchina std::string m_sSysNotes ; // note interne std::string m_sUserNotes ; // note dell'utente ProbingData( void) : m_ToolUuid(), m_nSolCh( 0), m_dFeed( 0), m_dStartFeed( 0), m_dEndFeed( 0), m_dTipFeed( 0), m_bToolInvert( false), m_bInvert( false), m_dStartPos( 0), m_nSubType( 0) {} ProbingData* Clone( void) const override ; bool CopyFrom( const MachiningData* pMdata) override ; bool SameAs(const MachiningData* pMdata) const override ; int GetType( void) const override { return MT_PROBING ; } 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 ProbingData* GetProbingData( const MachiningData* pMdata) { if ( pMdata == nullptr || pMdata->GetType() != MT_PROBING) return nullptr ; return ( static_cast( pMdata)) ; } inline ProbingData* GetProbingData( MachiningData* pMdata) { if ( pMdata == nullptr || pMdata->GetType() != MT_PROBING) return nullptr ; return ( static_cast( pMdata)) ; }