Merge commit '361eb4423612c3a65ef1033d76e5f095a579921e' into Sgrossature

This commit is contained in:
Riccardo Elitropi
2024-09-23 07:51:08 +02:00
6 changed files with 25 additions and 7 deletions
+15 -2
View File
@@ -2272,6 +2272,12 @@ Milling::AddStandardMilling( const ICurveComposite* pCompo, const Vector3d& vtTo
string sMachIni = m_pMchMgr->GetCurrMachine()->GetMachineDir() + "\\" + m_pMchMgr->GetCurrMachine()->GetMachineName() + ".ini" ;
bool bRapidOnOut = ( GetPrivateProfileInt( MACHININGS_SEC.c_str(), RAPIDONOUT_KEY.c_str(), 0, sMachIni.c_str()) == 1) ;
// Recupero necessità indicizzazione per variazioni di lavorazione ("MVar" da porte)
bool bIndex = false ;
string sInfo ;
if ( m_Params.m_nWorkSide == MILL_WS_CENTER && m_vId.size() == 1 && m_pGeomDB->GetInfo( m_vId[0].nId, "MVar", sInfo))
bIndex = true ;
// in caso di tabs ne aggiusto i parametri secondo il percorso
TabData tdTabs ;
AdjustTabsParams( pCompo, bPathTabsEnable, tdTabs) ;
@@ -2298,6 +2304,8 @@ Milling::AddStandardMilling( const ICurveComposite* pCompo, const Vector3d& vtTo
pCurve->Translate( - vtTool * dDepth) ;
// se prima entità, approccio e affondo
if ( i == 0) {
// reset index
SetIndex( 0) ;
// dati inizio entità
Point3d ptStart ;
pCurve->GetStartPoint( ptStart) ;
@@ -2376,7 +2384,7 @@ Milling::AddStandardMilling( const ICurveComposite* pCompo, const Vector3d& vtTo
// altrimenti, approccio per lame e frese che non lavorano di testa
else {
// verifico di entrare in aria
if ( ! bOutStart) {
if ( ! ( bOutStart || m_bStartOutRaw)) {
// verifico se sono sotto
double dSawStartElev = 0 ;
bool bAhUnderStart = false ;
@@ -2448,6 +2456,9 @@ Milling::AddStandardMilling( const ICurveComposite* pCompo, const Vector3d& vtTo
}
// imposto versore correzione e ausiliario sul punto di arrivo
CalcAndSetCorrAuxDir( pCompo, i + 1, false, true) ;
// se richiesto, imposto indice entità
if ( bIndex)
SetIndex( i + 1) ;
// elaborazioni sulla curva corrente
if ( pCurve->GetType() == CRV_LINE) {
ICurveLine* pLine = GetCurveLine( pCurve) ;
@@ -2488,6 +2499,8 @@ Milling::AddStandardMilling( const ICurveComposite* pCompo, const Vector3d& vtTo
}
// se ultima entità, uscita e retrazione
if ( i == nMaxInd) {
// reset index
SetIndex( 0) ;
// dati fine entità
Point3d ptEnd ;
pCurve->GetEndPoint( ptEnd) ;
@@ -2557,7 +2570,7 @@ Milling::AddStandardMilling( const ICurveComposite* pCompo, const Vector3d& vtTo
}
// per lame e frese che non lavorano di testa quando è necessario
else {
if ( ! bOutEnd) {
if ( ! ( bOutEnd || m_bEndOutRaw)) {
// verifico se sono sopra
bool bGeomAboveEnd = GetPointAboveRaw( ptP1 + vtWkTip, vtTool) ;
// verifico se sono sotto
+3 -1
View File
@@ -1716,10 +1716,12 @@ Pocketing::ProcessPath( int nPathId, int nPvId, int nClId)
// Eseguo la lavorazione a seconda del tipo
switch ( m_Params.m_nSubType) {
case POCKET_SUB_ZIGZAG :
case POCKET_SUB_CONFORMAL_ZIGZAG :
if ( ! AddZigZag( pCompo, vtTool, vtExtr, dDepth, dElev, dOkStep, bSplitArcs, nPathId))
return false ;
break ;
case POCKET_SUB_ONEWAY :
case POCKET_SUB_CONFORMAL_ONEWAY :
if ( ! AddOneWay( pCompo, vtTool, vtExtr, dDepth, dElev, dOkStep, bSplitArcs))
return false ;
break ;
@@ -1877,7 +1879,7 @@ Pocketing::VerifyPathFromBottom( const ICurveComposite* pCompo, const Vector3d&
}
// se supera il limite, errore
if ( dMinDist > m_AggrBottom.dDMax) {
if ( dMinDist - ( m_TParams.m_dDiam / 2 + GetOffsR()) > m_AggrBottom.dDMax) {
m_pMchMgr->SetLastError( 2410, "Error in Pocketing : path too far from part sides") ;
return false ;
}
+2 -1
View File
@@ -397,7 +397,8 @@ bool
PocketingData::VerifySubType( int nVal) const
{
return ( nVal == POCKET_SUB_ZIGZAG || nVal == POCKET_SUB_ONEWAY ||
nVal == POCKET_SUB_SPIRALIN || nVal == POCKET_SUB_SPIRALOUT) ;
nVal == POCKET_SUB_SPIRALIN || nVal == POCKET_SUB_SPIRALOUT ||
nVal == POCKET_SUB_CONFORMAL_ZIGZAG || nVal == POCKET_SUB_CONFORMAL_ONEWAY) ;
}
//----------------------------------------------------------------------------
+2 -1
View File
@@ -1569,7 +1569,8 @@ FindCollisionMarkId( const IGeomDB* pGeomDB, int nCollId)
int nCollParId = pGeomDB->GetParentId( nCollId) ;
string sCollParName = "COLLISION" ;
pGeomDB->GetName( nCollParId, sCollParName) ;
if ( sCollParName != "COLLISION")
// COLLISION per parti generiche di macchina, BASE e MOBILE per fixtures
if ( sCollParName != "COLLISION" && sCollParName != "BASE" && sCollParName != "MOBILE")
return nCollParId ;
else {
int nCollGprId = pGeomDB->GetParentId( nCollParId) ;
+2 -1
View File
@@ -1530,7 +1530,8 @@ FindCollisionMarkId( const IGeomDB* pGeomDB, int nCollId)
int nCollParId = pGeomDB->GetParentId( nCollId) ;
string sCollParName = "COLLISION" ;
pGeomDB->GetName( nCollParId, sCollParName) ;
if ( sCollParName != "COLLISION")
// COLLISION per parti generiche di macchina, BASE e MOBILE per fixtures
if ( sCollParName != "COLLISION" && sCollParName != "BASE" && sCollParName != "MOBILE")
return nCollParId ;
else {
int nCollGprId = pGeomDB->GetParentId( nCollParId) ;
+1 -1
View File
@@ -393,7 +393,7 @@ SurfRoughingData::VerifySubType( int nVal) const
{
return ( nVal == SURFROU_SUB_ZIGZAG || nVal == SURFROU_SUB_ONEWAY ||
nVal == SURFROU_SUB_SPIRALIN || nVal == SURFROU_SUB_SPIRALOUT ||
nVal == SURFROU_SUB_CONFORMAL_ZIGZAG) ;
nVal == SURFROU_SUB_CONFORMAL_ZIGZAG || nVal == SURFROU_SUB_CONFORMAL_ONEWAY) ;
}
//----------------------------------------------------------------------------