3076dccb4b
- introdotto uso ObjUser per gruppi di macchina - prima versione prototipo delle forature - migliorie al calolo angoli e posizioni macchina.
82 lines
3.4 KiB
C++
82 lines
3.4 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2015-2015
|
|
//----------------------------------------------------------------------------
|
|
// File : Drilling.h Data : 21.05.15 Versione : 1.6e7
|
|
// Contenuto : Dichiarazione della classe Drilling.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 21.05.15 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "/EgtDev/Include/EGkObjUser.h"
|
|
#include "/EgtDev/Include/EgtNumCollection.h"
|
|
#include <string>
|
|
|
|
//----------------------------------------------------------------------------
|
|
struct DrillingParams
|
|
{
|
|
INTVECTOR m_vId ; // indici entità geometriche da lavorare
|
|
bool m_bInvert ; // flag di inversione direzione lavorazione per fori aperti
|
|
double m_dStartPos ; // quota di inizio lavorazione (sempre >= 0)
|
|
double m_dStartSlowLen ; // lunghezza rallentamento iniziale
|
|
double m_dEndSlowLen ; // lunghezza rallentamento finale
|
|
double m_dThroughAddLen ; // lunghezza aggiuntiva di foratura se passante
|
|
double m_dStep ; // passo di affondameto (0=nessun passo)
|
|
double m_dReturnPos ; // quota di ritorno (+=fuori, -=dentro)
|
|
} ;
|
|
static std::string DRI_IDS = "Ids" ;
|
|
static std::string DRI_INV = "Inv" ;
|
|
static std::string DRI_SPS = "Sps" ;
|
|
static std::string DRI_SSL = "Ssl" ;
|
|
static std::string DRI_ESL = "Esl" ;
|
|
static std::string DRI_TAL = "Tal" ;
|
|
static std::string DRI_STP = "Stp" ;
|
|
static std::string DRI_RPS = "Rps" ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
struct DrillBitParams
|
|
{
|
|
std::string m_sName ; // nome dell'utensile
|
|
std::string m_sTcPos ; // posizione di attrezzaggio
|
|
std::string m_sHead ; // testa di montaggio
|
|
int m_nExit ; // uscita di montaggio
|
|
int m_nCorr ; // numero di correttore
|
|
int m_nType ; // tipo di utensile : foratore, foratore lungo o fresa (lavora di testa)
|
|
double m_dMaxSpeed ; // massima velocità di rotazione ammessa (giri/minuto)
|
|
double m_dMaxMat ; // massimo materiale
|
|
double m_dSpeed ; // velocità di rotazione (+ se CCW, - se CW)
|
|
double m_dFeed ; // velocità di lavorazione normale
|
|
double m_dStartFeed ; // velocità di lavorazione iniziale
|
|
double m_dEndFeed ; // velocità di lavorazione finale
|
|
double m_dDiam ; // diametro
|
|
double m_dLen ; // lunghezza controllata
|
|
double m_dTLen ; // lunghezza totale
|
|
} ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
class Drilling : public IObjUser
|
|
{
|
|
public :
|
|
virtual Drilling* Clone( void) const ;
|
|
virtual const std::string& GetClassName( void) const ;
|
|
virtual bool Dump( std::string& sOut, const char* szNewLine = "\n") const ;
|
|
virtual bool ToSave( void) const { return true ; }
|
|
virtual bool Save( STRVECTOR& vString) const ;
|
|
virtual bool Load( const STRVECTOR& vString) ;
|
|
virtual bool SetOwner( int nId) ;
|
|
virtual int GetOwner( void) const ;
|
|
|
|
public :
|
|
Drilling( void) ;
|
|
bool Add( const std::string& sName) ;
|
|
|
|
private :
|
|
int m_nOwnerId ;
|
|
DrillingParams m_Params ;
|
|
DrillBitParams m_TParams ;
|
|
} ; |