EgtMachKernel 1.9e6 :

- aggiunto Estimator
- in taglio lama back-feed viene applicata solo all'ultimo passaggio di ritorno.
This commit is contained in:
Dario Sassi
2018-05-31 06:46:34 +00:00
parent b5833ab37c
commit 2b574d7be1
14 changed files with 1562 additions and 953 deletions
BIN
View File
Binary file not shown.
+4
View File
@@ -221,6 +221,7 @@ copy $(TargetPath) \EgtProg\Dll64</Command>
<ClCompile Include="Drilling.cpp" />
<ClCompile Include="DrillingData.cpp" />
<ClCompile Include="EMkDllMain.cpp" />
<ClCompile Include="Estimator.cpp" />
<ClCompile Include="Exit.cpp" />
<ClCompile Include="Generator.cpp" />
<ClCompile Include="GenMachining.cpp" />
@@ -257,6 +258,7 @@ copy $(TargetPath) \EgtProg\Dll64</Command>
<ClCompile Include="OperationCL.cpp" />
<ClCompile Include="Pocketing.cpp" />
<ClCompile Include="PocketingData.cpp" />
<ClCompile Include="Processor.cpp" />
<ClCompile Include="SawFinishing.cpp" />
<ClCompile Include="SawFinishingData.cpp" />
<ClCompile Include="Sawing.cpp" />
@@ -290,6 +292,7 @@ copy $(TargetPath) \EgtProg\Dll64</Command>
<ClInclude Include="DllMain.h" />
<ClInclude Include="Drilling.h" />
<ClInclude Include="DrillingData.h" />
<ClInclude Include="Estimator.h" />
<ClInclude Include="Exit.h" />
<ClInclude Include="Generator.h" />
<ClInclude Include="GenMachining.h" />
@@ -314,6 +317,7 @@ copy $(TargetPath) \EgtProg\Dll64</Command>
<ClInclude Include="OutputConst.h" />
<ClInclude Include="Pocketing.h" />
<ClInclude Include="PocketingData.h" />
<ClInclude Include="Processor.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="SawFinishing.h" />
<ClInclude Include="SawFinishingData.h" />
+12
View File
@@ -210,6 +210,12 @@
<ClCompile Include="Mortising.cpp">
<Filter>Source Files\Operations</Filter>
</ClCompile>
<ClCompile Include="Processor.cpp">
<Filter>Source Files\Output</Filter>
</ClCompile>
<ClCompile Include="Estimator.cpp">
<Filter>Source Files\Output</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="DllMain.h">
@@ -371,6 +377,12 @@
<ClInclude Include="Mortising.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Processor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Estimator.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="EgtMachKernel.rc">
+228
View File
@@ -0,0 +1,228 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2018
//----------------------------------------------------------------------------
// File : Estimator.cpp Data : 28.05.18 Versione : 1.9e6
// Contenuto : Implementazione della classe Estimator.
//
//
//
// Modifiche : 28.10.15 DS Creazione modulo.
// 26.02.16 DS Aggiunta gestione archi.
//
//----------------------------------------------------------------------------
//--------------------------- Include ----------------------------------------
#include "stdafx.h"
#include "DllMain.h"
#include "Estimator.h"
#include "Machine.h"
#include "OutputConst.h"
#include "/EgtDev/Include/EGnFileUtils.h"
using namespace std ;
//----------------------------------------------------------------------------
static const string ERR_EXT = ".err" ;
//----------------------------------------------------------------------------
Estimator::Estimator( void)
{
}
//----------------------------------------------------------------------------
Estimator::~Estimator( void)
{
}
//----------------------------------------------------------------------------
bool
Estimator::Init( MachMgr* pMchMgr)
{
return Processor::Init( pMchMgr) ;
}
//----------------------------------------------------------------------------
bool
Estimator::Run( const string& sCncFile, const std::string& sInfo)
{
// emetto info di log
{ string sOut = "Estimator Run : " + sCncFile ;
LOG_INFO( GetEMkLogger(), sOut.c_str()) ; }
// cancello l'eventuale file di uscita (e anche il file errore)
EraseFile( sCncFile) ;
string sErrFile = ChangeFileExtension( sCncFile, ERR_EXT) ;
EraseFile( sErrFile) ;
// lancio il processore
bool bOk = Processor::Run( sCncFile, sInfo) ;
// in caso di errore rinomino il file di output
if ( ! bOk)
RenameFile( sCncFile, sErrFile) ;
return bOk ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnStart( void)
{
return m_pMachine->LuaCallFunction( ON_ESTIM_START) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnEnd( void)
{
return m_pMachine->LuaCallFunction( ON_ESTIM_END) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnProgramStart( void)
{
return m_pMachine->LuaCallFunction( ON_ESTIM_PROGRAM_START) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnProgramEnd( void)
{
return m_pMachine->LuaCallFunction( ON_ESTIM_PROGRAM_END) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnToolData( void)
{
if ( ! m_pMachine->LuaExistsFunction( ON_ESTIM_TOOL_DATA))
return true ;
return m_pMachine->LuaCallFunction( ON_ESTIM_TOOL_DATA) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnDispositionStart( void)
{
return m_pMachine->LuaCallFunction( ON_ESTIM_DISPOSITION_START) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnDispositionEnd( void)
{
return m_pMachine->LuaCallFunction( ON_ESTIM_DISPOSITION_END) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnTableData( void)
{
if ( ! m_pMachine->LuaExistsFunction( ON_ESTIM_TABLE_DATA))
return true ;
return m_pMachine->LuaCallFunction( ON_ESTIM_TABLE_DATA) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnFixtureData( void)
{
if ( ! m_pMachine->LuaExistsFunction( ON_ESTIM_FIXTURE_DATA))
return true ;
return m_pMachine->LuaCallFunction( ON_ESTIM_FIXTURE_DATA) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnRawMoveData( void)
{
if ( ! m_pMachine->LuaExistsFunction( ON_ESTIM_RAWMOVE_DATA))
return true ;
return m_pMachine->LuaCallFunction( ON_ESTIM_RAWMOVE_DATA) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnToolSelect( void)
{
return m_pMachine->LuaCallFunction( ON_ESTIM_TOOL_SELECT) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnToolDeselect( void)
{
return m_pMachine->LuaCallFunction( ON_ESTIM_TOOL_DESELECT) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnMachiningStart( void)
{
return m_pMachine->LuaCallFunction( ON_ESTIM_MACHINING_START) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnMachiningEnd( void)
{
return m_pMachine->LuaCallFunction( ON_ESTIM_MACHINING_END) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnPathStart( void)
{
if ( ! m_pMachine->LuaExistsFunction( ON_ESTIM_PATH_START))
return true ;
return m_pMachine->LuaCallFunction( ON_ESTIM_PATH_START) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnPathEnd( void)
{
if ( ! m_pMachine->LuaExistsFunction( ON_ESTIM_PATH_END))
return true ;
return m_pMachine->LuaCallFunction( ON_ESTIM_PATH_END) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnPathStartAux( void)
{
if ( ! m_pMachine->LuaExistsFunction( ON_ESTIM_PATH_START_AUX))
return true ;
return m_pMachine->LuaCallFunction( ON_ESTIM_PATH_START_AUX) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnPathEndAux( void)
{
if ( ! m_pMachine->LuaExistsFunction( ON_ESTIM_PATH_END_AUX))
return true ;
return m_pMachine->LuaCallFunction( ON_ESTIM_PATH_END_AUX) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnRapid( void)
{
return m_pMachine->LuaCallFunction( ON_ESTIM_RAPID) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnLinear( void)
{
return m_pMachine->LuaCallFunction( ON_ESTIM_LINEAR) ;
}
//----------------------------------------------------------------------------
bool
Estimator::CallOnArc( void)
{
return m_pMachine->LuaCallFunction( ON_ESTIM_ARC) ;
}
+49
View File
@@ -0,0 +1,49 @@
//----------------------------------------------------------------------------
// EgalTech 2018-2018
//----------------------------------------------------------------------------
// File : Estimator.h Data : 29.05.18 Versione : 1.9e6
// Contenuto : Dichiarazione della classe Estimator.
//
//
//
// Modifiche : 29.05.18 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "Processor.h"
//----------------------------------------------------------------------------
class Estimator : public Processor
{
public :
Estimator( void) ;
~Estimator( void) ;
bool Init( MachMgr* pMchMgr) ;
bool Run( const std::string& sEstFile, const std::string& sInfo) ;
private :
bool CallOnStart( void) override ;
bool CallOnEnd( void) override ;
bool CallOnProgramStart( void) override ;
bool CallOnProgramEnd( void) override ;
bool CallOnToolData( void) override ;
bool CallOnDispositionStart( void) override ;
bool CallOnDispositionEnd( void) override ;
bool CallOnTableData( void) override ;
bool CallOnFixtureData( void) override ;
bool CallOnRawMoveData( void) override ;
bool CallOnToolSelect( void) override ;
bool CallOnToolDeselect( void) override ;
bool CallOnMachiningStart( void) override ;
bool CallOnMachiningEnd( void) override ;
bool CallOnPathStart( void) override ;
bool CallOnPathEnd( void) override ;
bool CallOnPathStartAux( void) override ;
bool CallOnPathEndAux( void) override ;
bool CallOnRapid( void) override ;
bool CallOnLinear( void) override ;
bool CallOnArc( void) override ;
} ;
+72 -895
View File
File diff suppressed because it is too large Load Diff
+25 -51
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2015
// EgalTech 2015-2018
//----------------------------------------------------------------------------
// File : Generator.h Data : 28.10.15 Versione : 1.6j4
// File : Generator.h Data : 29.05.18 Versione : 1.8e6
// Contenuto : Dichiarazione della classe Generator.
//
//
@@ -13,14 +13,10 @@
#pragma once
#include "CamData.h"
class MachMgr ;
class IGeomDB ;
class Machine ;
#include "Processor.h"
//----------------------------------------------------------------------------
class Generator
class Generator : public Processor
{
public :
Generator( void) ;
@@ -29,47 +25,25 @@ class Generator
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, const Point3d& ptMid,
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
bool CallOnStart( void) override ;
bool CallOnEnd( void) override ;
bool CallOnProgramStart( void) override ;
bool CallOnProgramEnd( void) override ;
bool CallOnToolData( void) override ;
bool CallOnDispositionStart( void) override ;
bool CallOnDispositionEnd( void) override ;
bool CallOnTableData( void) override ;
bool CallOnFixtureData( void) override ;
bool CallOnRawMoveData( void) override ;
bool CallOnToolSelect( void) override ;
bool CallOnToolDeselect( void) override ;
bool CallOnMachiningStart( void) override ;
bool CallOnMachiningEnd( void) override ;
bool CallOnPathStart( void) override ;
bool CallOnPathEnd( void) override ;
bool CallOnPathStartAux( void) override ;
bool CallOnPathEndAux( void) override ;
bool CallOnRapid( void) override ;
bool CallOnLinear( void) override ;
bool CallOnArc( void) override ;
} ;
+1
View File
@@ -273,6 +273,7 @@ class MachMgr : public IMachMgr
bool SimStop( void) override ;
// Generation
bool Generate( const std::string& sCncFile, const std::string& sInfo) override ;
bool Estimate( const std::string& sEstFile, const std::string& sInfo) override ;
// Machine Calc
bool SetCalcTable( const std::string& sTable) override ;
bool SetCalcTool( const std::string& sTool, const std::string& sHead, int nExit) override ;
+23 -3
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2015
// EgalTech 2015-2018
//----------------------------------------------------------------------------
// File : MachMgrGeneration.cpp Data : 28.10.15 Versione : 1.6j4
// File : MachMgrGeneration.cpp Data : 29.05.18 Versione : 1.8e6
// Contenuto : Implementazione gestione generazione della classe MachMgr.
//
//
@@ -17,12 +17,13 @@
#include "MachMgr.h"
#include "MachConst.h"
#include "Generator.h"
#include "Estimator.h"
using namespace std ;
//----------------------------------------------------------------------------
bool
MachMgr::Generate( const string& sCncFile, const std::string& sInfo)
MachMgr::Generate( const string& sCncFile, const string& sInfo)
{
// inizializzazione generatore
Generator genPP ;
@@ -38,3 +39,22 @@ MachMgr::Generate( const string& sCncFile, const std::string& sInfo)
return true ;
}
//----------------------------------------------------------------------------
bool
MachMgr::Estimate( const string& sEstFile, const string& sInfo)
{
// inizializzazione generatore
Estimator estPP ;
if ( ! estPP.Init( this)) {
LOG_ERROR( GetEMkLogger(), "Error on Estimate Init")
return false ;
}
// esecuzione della generazione
if ( ! estPP.Run( sEstFile, sInfo)) {
LOG_ERROR( GetEMkLogger(), "Error on Estimate Run")
return false ;
}
return true ;
}
+24 -2
View File
@@ -147,13 +147,13 @@ static const std::string ON_END = "OnEnd" ;
static const std::string ON_PROGRAM_START = "OnProgramStart" ;
static const std::string ON_PROGRAM_END = "OnProgramEnd" ;
static const std::string ON_TOOL_DATA = "OnToolData" ;
static const std::string ON_TOOL_SELECT = "OnToolSelect" ;
static const std::string ON_TOOL_DESELECT = "OnToolDeselect" ;
static const std::string ON_DISPOSITION_START = "OnDispositionStart" ;
static const std::string ON_DISPOSITION_END = "OnDispositionEnd" ;
static const std::string ON_TABLE_DATA = "OnTableData" ;
static const std::string ON_FIXTURE_DATA = "OnFixtureData" ;
static const std::string ON_RAWMOVE_DATA = "OnRawMoveData" ;
static const std::string ON_TOOL_SELECT = "OnToolSelect" ;
static const std::string ON_TOOL_DESELECT = "OnToolDeselect" ;
static const std::string ON_MACHINING_START = "OnMachiningStart" ;
static const std::string ON_MACHINING_END = "OnMachiningEnd" ;
static const std::string ON_PATH_START = "OnPathStart" ;
@@ -163,6 +163,28 @@ static const std::string ON_PATH_END_AUX = "OnPathEndAux" ;
static const std::string ON_RAPID = "OnRapid" ;
static const std::string ON_LINEAR = "OnLinear" ;
static const std::string ON_ARC = "OnArc" ;
// Funzioni stima
static const std::string ON_ESTIM_START = "OnEstimStart" ;
static const std::string ON_ESTIM_END = "OnEstimEnd" ;
static const std::string ON_ESTIM_PROGRAM_START = "OnEstimProgramStart" ;
static const std::string ON_ESTIM_PROGRAM_END = "OnEstimProgramEnd" ;
static const std::string ON_ESTIM_TOOL_DATA = "OnEstimToolData" ;
static const std::string ON_ESTIM_DISPOSITION_START = "OnEstimDispositionStart" ;
static const std::string ON_ESTIM_DISPOSITION_END = "OnEstimDispositionEnd" ;
static const std::string ON_ESTIM_TABLE_DATA = "OnEstimTableData" ;
static const std::string ON_ESTIM_FIXTURE_DATA = "OnEstimFixtureData" ;
static const std::string ON_ESTIM_RAWMOVE_DATA = "OnEstimRawMoveData" ;
static const std::string ON_ESTIM_TOOL_SELECT = "OnEstimToolSelect" ;
static const std::string ON_ESTIM_TOOL_DESELECT = "OnEstimToolDeselect" ;
static const std::string ON_ESTIM_MACHINING_START = "OnEstimMachiningStart" ;
static const std::string ON_ESTIM_MACHINING_END = "OnEstimMachiningEnd" ;
static const std::string ON_ESTIM_PATH_START = "OnEstimPathStart" ;
static const std::string ON_ESTIM_PATH_END = "OnEstimPathEnd" ;
static const std::string ON_ESTIM_PATH_START_AUX = "OnEstimPathStartAux" ;
static const std::string ON_ESTIM_PATH_END_AUX = "OnEstimPathEndAux" ;
static const std::string ON_ESTIM_RAPID = "OnEstimRapid" ;
static const std::string ON_ESTIM_LINEAR = "OnEstimLinear" ;
static const std::string ON_ESTIM_ARC = "OnEstimArc" ;
// Funzioni simulazione
static const std::string ON_SIMUL_START = "OnSimulStart" ;
static const std::string ON_SIMUL_END = "OnSimulEnd" ;
+1024
View File
File diff suppressed because it is too large Load Diff
+98
View File
@@ -0,0 +1,98 @@
//----------------------------------------------------------------------------
// EgalTech 2018-2018
//----------------------------------------------------------------------------
// File : Processor.h Data : 29.05.18 Versione : 1.9e6
// Contenuto : Dichiarazione della classe Processor.
//
//
//
// Modifiche : 29.05.18 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "CamData.h"
class MachMgr ;
class IGeomDB ;
class Machine ;
//----------------------------------------------------------------------------
class Processor
{
public :
Processor( void) ;
~Processor( 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, const Point3d& ptMid,
double dRad, double dAngCen, double dFeed, int nFlag) ;
bool ResetArcData( void) ;
protected :
virtual bool CallOnStart( void) = 0 ;
virtual bool CallOnEnd( void) = 0 ;
virtual bool CallOnProgramStart( void) = 0 ;
virtual bool CallOnProgramEnd( void) = 0 ;
virtual bool CallOnToolData( void) = 0 ;
virtual bool CallOnDispositionStart( void) = 0 ;
virtual bool CallOnDispositionEnd( void) = 0 ;
virtual bool CallOnTableData( void) = 0 ;
virtual bool CallOnFixtureData( void) = 0 ;
virtual bool CallOnRawMoveData( void) = 0 ;
virtual bool CallOnToolSelect( void) = 0 ;
virtual bool CallOnToolDeselect( void) = 0 ;
virtual bool CallOnMachiningStart( void) = 0 ;
virtual bool CallOnMachiningEnd( void) = 0 ;
virtual bool CallOnPathStart( void) = 0 ;
virtual bool CallOnPathEnd( void) = 0 ;
virtual bool CallOnPathStartAux( void) = 0 ;
virtual bool CallOnPathEndAux( void) = 0 ;
virtual bool CallOnRapid( void) = 0 ;
virtual bool CallOnLinear( void) = 0 ;
virtual bool CallOnArc( void) = 0 ;
protected :
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
} ;
+1 -1
View File
@@ -1744,7 +1744,7 @@ Sawing::GenerateLineCl( const ICurveLine* pLine, const Vector3d& vtTool, const V
if ( AddLinearMove( ptP2) == GDB_ID_NULL)
return false ;
// movimento di lato
SetFeed( ( IsEven( i) ? GetBackFeed() : GetFeed())) ;
SetFeed( ( i == 0 ? GetBackFeed() : GetFeed())) ;
if ( AddLinearMove( ptP3) == GDB_ID_NULL)
return false ;
}
+1 -1
View File
@@ -28,7 +28,7 @@ struct SawingData : public MachiningData
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 testa ( se 0 da utensile)
double m_dBackFeed ; // velocità di lavorazione al ritorno ( se 0 da utensile)
double m_dBackFeed ; // velocità di lavorazione dell'ultimo ritorno ( se 0 da utensile)
double m_dOffsR ; // offset radiale ( se UNKNOWN_PAR da utensile)
double m_dOffsL ; // offset longitudinale ( se UNKNOWN_PAR da utensile)
bool m_bInvert ; // flag di inversione direzione lavorazione