EgtMachKernel 1.9d3 :
- ordine grezzi sempre ripristinato dopo Link/Unlink con parti di macchina - in KeepRawPart reset posizione grezzo se non definita fase di origine - aumentato massimo angolo di fianco per lama a 75 gradi.
This commit is contained in:
Binary file not shown.
@@ -563,6 +563,11 @@ MachMgr::KeepRawPart( int nRawId, int nSouPhase)
|
|||||||
vPhase.emplace_back( m_nCurrPhase) ;
|
vPhase.emplace_back( m_nCurrPhase) ;
|
||||||
if ( ! m_pGeomDB->SetInfo( nRawId, MACH_RAW_PHASE, vPhase))
|
if ( ! m_pGeomDB->SetInfo( nRawId, MACH_RAW_PHASE, vPhase))
|
||||||
return false ;
|
return false ;
|
||||||
|
// annullo eventuali movimenti del grezzo (riferimento riportato a globale)
|
||||||
|
Frame3d* pfrRaw = m_pGeomDB->GetGroupFrame( nRawId) ;
|
||||||
|
if ( pfrRaw == nullptr)
|
||||||
|
return false ;
|
||||||
|
pfrRaw->Reset() ;
|
||||||
// visualizzo il grezzo e ne attivo i pezzi
|
// visualizzo il grezzo e ne attivo i pezzi
|
||||||
if ( ! m_pGeomDB->SetStatus( nRawId, GDB_ST_ON))
|
if ( ! m_pGeomDB->SetStatus( nRawId, GDB_ST_ON))
|
||||||
return false ;
|
return false ;
|
||||||
|
|||||||
+12
-4
@@ -967,10 +967,18 @@ Machine::UnlinkRawPartFromGroup( int nRawPartId)
|
|||||||
auto iIter = find( m_vLinkedRawParts.begin(), m_vLinkedRawParts.end(), nRawPartId) ;
|
auto iIter = find( m_vLinkedRawParts.begin(), m_vLinkedRawParts.end(), nRawPartId) ;
|
||||||
if ( iIter == m_vLinkedRawParts.end())
|
if ( iIter == m_vLinkedRawParts.end())
|
||||||
return false ;
|
return false ;
|
||||||
// riporto il grezzo nel gruppo dei grezzi (se appartiene alla prima fase in testa)
|
// riporto il grezzo nel gruppo dei grezzi (conservando l'ordine di definizione quindi Id crescenti)
|
||||||
int nInsPos = ( m_pMchMgr->VerifyRawPartPhase( nRawPartId, 1) ? GDB_FIRST_SON : GDB_LAST_SON) ;
|
int nCurrId = m_pGeomDB->GetFirstInGroup( nRawGrpId) ;
|
||||||
if ( ! m_pGeomDB->RelocateGlob( nRawPartId, nRawGrpId, nInsPos))
|
while ( nCurrId != GDB_ID_NULL && nCurrId < nRawPartId)
|
||||||
return false ;
|
nCurrId = m_pGeomDB->GetNext( nCurrId) ;
|
||||||
|
if ( nCurrId == GDB_ID_NULL) {
|
||||||
|
if ( ! m_pGeomDB->RelocateGlob( nRawPartId, nRawGrpId, GDB_LAST_SON))
|
||||||
|
return false ;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ( ! m_pGeomDB->RelocateGlob( nRawPartId, nCurrId, GDB_BEFORE))
|
||||||
|
return false ;
|
||||||
|
}
|
||||||
// tolgo il grezzo dall'elenco dei linkati
|
// tolgo il grezzo dall'elenco dei linkati
|
||||||
m_vLinkedRawParts.erase( iIter) ;
|
m_vLinkedRawParts.erase( iIter) ;
|
||||||
return true ;
|
return true ;
|
||||||
|
|||||||
+1
-1
@@ -479,7 +479,7 @@ SawingData::VerifyCurveUse( int nVal) const
|
|||||||
bool
|
bool
|
||||||
SawingData::VerifySideAngle( double dVal) const
|
SawingData::VerifySideAngle( double dVal) const
|
||||||
{
|
{
|
||||||
const double MAX_SIDE_ANG = 67.5 + EPS_ANG_SMALL ;
|
const double MAX_SIDE_ANG = 75.0 + EPS_ANG_SMALL ;
|
||||||
const double AUTO_SIDE_ANG = 99 ;
|
const double AUTO_SIDE_ANG = 99 ;
|
||||||
return ( ( dVal > - MAX_SIDE_ANG && dVal < MAX_SIDE_ANG) || fabs( dVal - AUTO_SIDE_ANG) < EPS_ANG_SMALL) ;
|
return ( ( dVal > - MAX_SIDE_ANG && dVal < MAX_SIDE_ANG) || fabs( dVal - AUTO_SIDE_ANG) < EPS_ANG_SMALL) ;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user