Files
EgtMachKernel/Generator.h
T
Dario Sassi bce7e1353c EgtMachKernel 1.6r9 :
- separato nome da token per gli assi macchina e gestito il tutto
- in milling aggiunta gestione punto start e estrusione di path per piano locale di interpolazione in part-program
- migliorata gestione deselezione utensile in simulazione.
2016-06-14 06:34:46 +00:00

71 lines
3.3 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : Generator.h Data : 28.10.15 Versione : 1.6j4
// Contenuto : Dichiarazione della classe Generator.
//
//
//
// Modifiche : 28.10.15 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "CamData.h"
class MachMgr ;
class IGeomDB ;
class Machine ;
//----------------------------------------------------------------------------
class Generator
{
public :
Generator( void) ;
~Generator( void) ;
bool Init( MachMgr* pMchMgr) ;
bool Run( const std::string& sCncFile, const std::string& sInfo) ;
private :
bool ProcessDisposition( int nOpId, int nOpInd) ;
bool ProcessMachining( int nOpId, int nOpInd) ;
bool ProcessClPath( int nClPathId, int nClPathInd, int nOpId, int nOpInd) ;
bool ProcessClEnt( int nEntId, int nEntInd, int nClPathId, int nClPathInd, int nOpId, int nOpInd) ;
bool UpdateTool( const std::string& sTool) ;
bool UpdateDispTool( const std::string& sTool, const std::string& sHead, int nExit) ;
bool UpdateAxes( void) ;
bool OnStart( void) ;
bool OnEnd( void) ;
bool OnProgramStart( const std::string& sCncFile, const std::string& sInfo) ;
bool OnProgramEnd( void) ;
bool OnToolSelect( const std::string& sTool, const std::string& sHead, int nExit) ;
bool OnToolDeselect( const std::string& sNextHead, int nNextExit) ;
bool OnDispositionStart( int nOpId, int nOpInd, int nPhase, bool bEmpty) ;
bool OnDispositionEnd( void) ;
bool OnTableData( const std::string& sName, const Point3d& ptOri1) ;
bool OnFixtureData( int nFixId, int nFixInd, const std::string& sName,
const Point3d& ptPos, double dAngDeg) ;
bool OnRawMoveData( int nRawId, int RawMoveInd, int nType, const Point3d& ptPos, int nFlag) ;
bool OnMachiningStart( int nOpId, int nOpInd, double dSpeed) ;
bool OnMachiningEnd( void) ;
bool OnPathStart( int nClPathId, int nClPathInd, const Point3d& ptStart, const Vector3d& vtExtr) ;
bool OnPathEnd( void) ;
bool OnRapid( int nMove, const DBLVECTOR& AxesEnd, int nAxesMask, int nFlag) ;
bool OnLinear( int nMove, const DBLVECTOR& AxesEnd, double dFeed, int nFlag) ;
bool OnArc( int nMove, const DBLVECTOR& AxesEnd, const Point3d& ptCen, double dRad, double dAngCen,
double dFeed, int nFlag) ;
bool ResetArcData( void) ;
private :
MachMgr* m_pMchMgr ; // puntatore al gestore di tutte le lavorazioni
IGeomDB* m_pGeomDB ; // puntatore al DB geometrico
Machine* m_pMachine ; // puntatore alla macchina
std::string m_sPrevTool ; // nome dell'utensile precedente
std::string m_sTool ; // nome dell'utensile corrente
STRVECTOR m_AxesName ; // nomi degli assi macchina attivi
STRVECTOR m_AxesToken ; // token degli assi macchina attivi
DBLVECTOR m_AxesVal ; // valori degli assi macchina all'inizio del movimento corrente
} ;