EgtExecutor 1.8c6 :
- migliorati controlli su curve ricevute per creazione altre curve - aggiunta a Exe e Lua GetCalcAuxDirFromAngles.
This commit is contained in:
+10
-5
@@ -737,7 +737,8 @@ ExeCreateCircleCPEx( int nParentId, const Point3d& ptCen,
|
||||
// recupero la curva di tangenza in locale
|
||||
CurveLocal CrvTgLoc( pGeomDB, nIdO, frLoc) ;
|
||||
// calcolo la circonferenza tangente a questa curva
|
||||
pCrvArc.Set( GetCircleCenTgCurve( ptCenL, vtNL, *CrvTgLoc, ptOnL)) ;
|
||||
if ( CrvTgLoc.Get() != nullptr)
|
||||
pCrvArc.Set( GetCircleCenTgCurve( ptCenL, vtNL, *CrvTgLoc, ptOnL)) ;
|
||||
bOk = bOk && ! IsNull( pCrvArc) ;
|
||||
}
|
||||
// altrimenti errore
|
||||
@@ -973,7 +974,8 @@ ExeCreateArcC2PEx( int nParentId, const Point3d& ptCen,
|
||||
// recupero la curva di tangenza in locale
|
||||
CurveLocal CrvTgLoc( pGeomDB, nIdS, frLoc) ;
|
||||
// calcolo l'arco tangente a questa curva
|
||||
pCrvArc.Set( GetArcCenTgCurvePnt( ptCenL, *CrvTgLoc, ptStartL, ptNearEndL, vtNormL)) ;
|
||||
if ( CrvTgLoc.Get() != nullptr)
|
||||
pCrvArc.Set( GetArcCenTgCurvePnt( ptCenL, *CrvTgLoc, ptStartL, ptNearEndL, vtNormL)) ;
|
||||
bOk = bOk && ! IsNull( pCrvArc) ;
|
||||
}
|
||||
// altrimenti errore
|
||||
@@ -1136,7 +1138,8 @@ ExeCreateArc2PDEx( int nParentId, const Point3d& ptStart,
|
||||
// recupero la curva di tangenza in locale
|
||||
CurveLocal CrvTgLoc( pGeomDB, nId, frLoc) ;
|
||||
// calcolo l'arco tangente a questa curva
|
||||
pCrv.Set( GetArcPntDirTgCurve( ptStartL, vtDirSL, *CrvTgLoc, ptEndL, vtNormL)) ;
|
||||
if ( CrvTgLoc.Get() != nullptr)
|
||||
pCrv.Set( GetArcPntDirTgCurve( ptStartL, vtDirSL, *CrvTgLoc, ptEndL, vtNormL)) ;
|
||||
bOk = bOk && ! IsNull( pCrv) ;
|
||||
}
|
||||
// altrimenti errore
|
||||
@@ -1278,7 +1281,8 @@ ExeCreateCurveFillet( int nParentId, int nCrv1, const Point3d& ptNear1,
|
||||
CurveLocal CrvLoc2( pGeomDB, nCrv2, frLoc) ;
|
||||
// calcolo il raccordo
|
||||
double dTrim1, dTrim2 ;
|
||||
pArc.Set( CreateFillet( *CrvLoc1, ptNear1L, *CrvLoc2, ptNear2L, vtNormL, dRad, dTrim1, dTrim2)) ;
|
||||
if ( CrvLoc1.Get() != nullptr && CrvLoc2.Get() != nullptr)
|
||||
pArc.Set( CreateFillet( *CrvLoc1, ptNear1L, *CrvLoc2, ptNear2L, vtNormL, dRad, dTrim1, dTrim2)) ;
|
||||
bOk = bOk && ! IsNull( pArc) ;
|
||||
// assegno il versore estrusione
|
||||
bOk = bOk && pArc->SetExtrusion( vtExtrL) ;
|
||||
@@ -1341,7 +1345,8 @@ ExeCreateCurveChamfer( int nParentId, int nCrv1, const Point3d& ptNear1,
|
||||
CurveLocal CrvLoc2( pGeomDB, nCrv2, frLoc) ;
|
||||
// calcolo lo smusso
|
||||
double dTrim1, dTrim2 ;
|
||||
pLine.Set( CreateChamfer( *CrvLoc1, ptNear1L, *CrvLoc2, ptNear2L, vtNormL, dDist, dTrim1, dTrim2)) ;
|
||||
if ( CrvLoc1.Get() != nullptr && CrvLoc2.Get() != nullptr)
|
||||
pLine.Set( CreateChamfer( *CrvLoc1, ptNear1L, *CrvLoc2, ptNear2L, vtNormL, dDist, dTrim1, dTrim2)) ;
|
||||
bOk = bOk && ! IsNull( pLine) ;
|
||||
// assegno il versore estrusione
|
||||
bOk = bOk && pLine->SetExtrusion( vtExtrL) ;
|
||||
|
||||
+20
-2
@@ -97,7 +97,15 @@ ExeSetCurrMachine( const string& sMachineName)
|
||||
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
||||
VERIFY_MACHMGR( pMachMgr, false)
|
||||
// imposto la macchina corrente
|
||||
return pMachMgr->SetCurrMachine( sMachineName) ;
|
||||
bool bOk = pMachMgr->SetCurrMachine( sMachineName) ;
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = "EgtSetCurrMachine('" + sMachineName + "')" +
|
||||
" -- Ok=" + ToString( bOk) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
}
|
||||
// restituisco il risultato
|
||||
return bOk ;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -2379,10 +2387,20 @@ ExeGetCalcToolDirFromAngles( double dAngA, double dAngB, Vector3d& vtDir)
|
||||
{
|
||||
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
||||
VERIFY_MACHMGR( pMachMgr, false)
|
||||
// calcolo il tip utensile dagli assi macchina
|
||||
// calcolo la direzione utensile dagli assi macchina
|
||||
return pMachMgr->GetCalcToolDirFromAngles( dAngA, dAngB, vtDir) ;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
bool
|
||||
ExeGetCalcAuxDirFromAngles( double dAngA, double dAngB, Vector3d& vtDir)
|
||||
{
|
||||
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
||||
VERIFY_MACHMGR( pMachMgr, false)
|
||||
// calcolo la direzione ausiliaria dagli assi macchina
|
||||
return pMachMgr->GetCalcAuxDirFromAngles( dAngA, dAngB, vtDir) ;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
bool
|
||||
ExeVerifyOutstroke( double dX, double dY, double dZ, double dAngA, double dAngB, int& nStat)
|
||||
|
||||
Binary file not shown.
@@ -2755,6 +2755,27 @@ LuaGetCalcToolDirFromAngles( lua_State* L)
|
||||
return 1 ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
static int
|
||||
LuaGetCalcAuxDirFromAngles( lua_State* L)
|
||||
{
|
||||
// 2 parametri : dAngA, dAngB
|
||||
double dAngA ;
|
||||
LuaCheckParam( L, 1, dAngA)
|
||||
double dAngB ;
|
||||
LuaCheckParam( L, 2, dAngB)
|
||||
LuaClearStack( L) ;
|
||||
// Calcolo la direzione ausiliaria dagli angoli macchina
|
||||
Vector3d vtDir ;
|
||||
bool bOk = ExeGetCalcAuxDirFromAngles( dAngA, dAngB, vtDir) ;
|
||||
// restituisco il risultato
|
||||
if ( bOk && ! vtDir.IsSmall())
|
||||
LuaSetParam( L, vtDir) ;
|
||||
else
|
||||
LuaSetParam( L) ;
|
||||
return 1 ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
static int
|
||||
LuaVerifyOutstroke( lua_State* L)
|
||||
@@ -3248,6 +3269,7 @@ LuaInstallMachMgr( LuaMgr& luaMgr)
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetCalcPositions", LuaGetCalcPositions) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetCalcTipFromPositions", LuaGetCalcTipFromPositions) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetCalcToolDirFromAngles", LuaGetCalcToolDirFromAngles) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetCalcAuxDirFromAngles", LuaGetCalcAuxDirFromAngles) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtVerifyOutstroke", LuaVerifyOutstroke) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetOutstrokeInfo", LuaGetOutstrokeInfo) ;
|
||||
// Machine Move
|
||||
|
||||
Reference in New Issue
Block a user