Files
EgtMachKernel/Drilling.h
T
Dario Sassi 3076dccb4b EgtMachKernel 1.6e7 :
- introdotto uso ObjUser per gruppi di macchina
- prima versione prototipo delle forature
- migliorie al calolo angoli e posizioni macchina.
2015-05-26 06:49:55 +00:00

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 ;
} ;