5ec2993913
- aggiunta possibilità di fresare e svuotare direttamente i testi - migliorata gestione PMIN e PMAX dei percorsi di lavoro - aggiunti MMIN e MMAX alle lavorazioni.
76 lines
3.8 KiB
C++
76 lines
3.8 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 VerifySetup( void) ;
|
|
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& sMachName, const std::string& sCncFile, const std::string& sInfo, bool bSetup) ;
|
|
bool OnProgramEnd( void) ;
|
|
bool ProcessToolData( void) ;
|
|
bool OnToolSelect( const std::string& sTool, const std::string& sHead, int nExit, const std::string& sTcPos) ;
|
|
bool OnToolDeselect( const std::string& sNextTool, const std::string& sNextHead, int nNextExit, const std::string& sNextTcPos) ;
|
|
bool OnDispositionStart( int nOpId, int nOpInd, int nPhase, bool bEmpty, bool bSomeByHand) ;
|
|
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, double dMov) ;
|
|
bool OnRawMoveData( int nRawId, int RawMoveInd, int nType, const Point3d& ptPos, int nFlag) ;
|
|
bool OnMachiningStart( int nOpId, int nOpInd, double dSpeed, const Point3d& ptMin, const Point3d& ptMax) ;
|
|
bool OnMachiningEnd( void) ;
|
|
bool OnPathStart( int nClPathId, int nClPathInd, int nAS, const Point3d& ptStart, const Point3d& ptEnd,
|
|
const Vector3d& vtExtr, const Point3d& ptMin, const Point3d& ptMax, double dElev) ;
|
|
bool OnPathEnd( int nAE) ;
|
|
bool OnPathStartAux( int nInd, const std::string& sAS) ;
|
|
bool OnPathEndAux( int nInd, const std::string& sAE) ;
|
|
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
|
|
} ;
|