EgtMachKernel :

- correzioni a collegamenti tra passate ZigZag di Fresature con Utensili NoTip
- aggiunta in interfaccia MachMgr funzione GetExitId
- in simulazione VirtualMilling aggiunta gestione utensile Chisel.
This commit is contained in:
Dario Sassi
2024-04-22 15:29:23 +02:00
parent bafb8f55ed
commit e6a03b0b2e
4 changed files with 18 additions and 4 deletions
+3 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2024
//----------------------------------------------------------------------------
// File : MachMgr.h Data : 02.04.24 Versione : 2.6d1
// File : MachMgr.h Data : 22.04.24 Versione : 2.6d4
// Contenuto : Dichiarazione della classe MachMgr.
//
//
@@ -15,6 +15,7 @@
// 28.10.23 DS Aggiunte GetClEntAxesVal e GetToolSetupPosInCurrSetup.
// 30.03.24 DS Aggiunte GetAllAxesNames e GetCalcTable.
// 02.04.24 DS Aggiunta GetClEntAxesMask.
// 22.04.24 DS Aggiunta GetExitId.
//
//----------------------------------------------------------------------------
@@ -361,6 +362,7 @@ class MachMgr : public IMachMgr
int GetAxisId( const std::string& sAxis) const override ;
int GetHeadId( const std::string& sHead) const override ;
int GetHeadExitCount( const std::string& sHead) const override ;
int GetExitId( const std::string& sHead, int nExit) const override ;
int GetTcPosId( const std::string& sTcPos) const override ;
bool GetAxisToken( const std::string& sAxis, std::string& sToken) const override ;
bool GetAxisType( const std::string& sAxis, bool& bLinear) const override ;
+9
View File
@@ -274,6 +274,15 @@ MachMgr::GetHeadExitCount( const string& sHead) const
return ( ( pMch != nullptr) ? pMch->GetHeadExitCount( sHead) : 0) ;
}
//----------------------------------------------------------------------------
int
MachMgr::GetExitId( const string& sHead, int nExit) const
{
Machine* pMch = GetCurrMachine() ;
// recupero identificativo dell'uscita della testa indicata nella macchina corrente
return ( ( pMch != nullptr) ? pMch->GetExitId( sHead, nExit) : GDB_ID_NULL) ;
}
//----------------------------------------------------------------------------
int
MachMgr::GetTcPosId( const string& sTcPos) const
+4 -3
View File
@@ -2934,8 +2934,9 @@ Milling::AddZigZagMilling( const ICurveComposite* pCompo, const Vector3d& vtTool
m_pMchMgr->SetLastError( 2324, "Error in Milling : LeadOut must be out of rawpart") ;
bOk = false ;
}
// aggiungo opportuna retrazione
if ( ! AddSawBladeSideRetract( ptP1, vtRetr, vtTool, dSafeZ, dSawEndElev, dEndElev, dAppr)) {
// se finale oppure dentro il materiale, aggiungo opportuna retrazione
if ( ( k == nStep || ! bUnderEnd) &&
! AddSawBladeSideRetract( ptP1, vtRetr, vtTool, dSafeZ, dSawEndElev, dEndElev, dAppr)) {
m_pMchMgr->SetLastError( 2312, "Error in Milling : Retract not computable") ;
return false ;
}
@@ -4602,7 +4603,7 @@ Milling::AddSawBladeSideRetract( const Point3d& ptP, const Vector3d& vtRetr, con
}
}
if ( bAddExtract &&
if ( bAddExtract && ! AreSameVectorEpsilon( vtRetr, vtTool, LIM_SIN_DIFF_DIR) &&
( ! AreSameVectorEpsilon( vtMove, vtTool, LIM_SIN_DIFF_DIR) || dEndElev + dSafeZ > dMove + 10 * EPS_SMALL)) {
Point3d ptCurr ;
if ( ! GetCurrPos( ptCurr))
+2
View File
@@ -2135,6 +2135,8 @@ Simulator::SetToolForVmill( const string& sTool, const string& sHead, int nExit,
ExeVolZmapSetGenTool( vVmill, sTool, nOutlineId, nFlag, bFirst) ;
else if ( nType == TT_MORTISE_STD)
ExeVolZmapSetMortiserTool( vVmill, sTool, dLen, dDiam, dThick, dCornR, nFlag, bFirst) ;
else if ( nType == TT_CHISEL_STD)
ExeVolZmapSetChiselTool( vVmill, sTool, dLen, dDiam, dDiam, nFlag, bFirst) ;
else if ( nType == TT_SAW_STD || nType == TT_SAW_FLAT)
ExeVolZmapSetSawTool( vVmill, sTool, dLen, dDiam, dThick, 0, dCornR, nFlag, bFirst) ;
else if ( nType == TT_WATERJET)