From 788a6d76c971a5d4dc51be574c4e95254481bd67 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Mon, 6 May 2019 06:28:09 +0000 Subject: [PATCH] EgtExecutor 2.1e1 : - aggiunto a funzione exe e lua CreateSurfTmRuled parametro tipo di costruzione. --- EXE_GdbCreateSurf.cpp | 5 +++-- EgtExecutor.rc | Bin 16176 -> 16176 bytes LUA_GdbCreateSurf.cpp | 12 ++++++++---- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/EXE_GdbCreateSurf.cpp b/EXE_GdbCreateSurf.cpp index dd5bfc2..530b0dd 100644 --- a/EXE_GdbCreateSurf.cpp +++ b/EXE_GdbCreateSurf.cpp @@ -1158,7 +1158,7 @@ ExeCreateSurfTmSwept( int nParentId, int nSectId, int nGuideId, bool bCapEnds, d //------------------------------------------------------------------------------- int -ExeCreateSurfTmRuled( int nParentId, int nPtOrCrvId1, int nPtOrCrvId2, double dLinTol) +ExeCreateSurfTmRuled( int nParentId, int nPtOrCrvId1, int nPtOrCrvId2, int nType, double dLinTol) { IGeomDB* pGeomDB = GetCurrGeomDB() ; VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL) @@ -1211,7 +1211,7 @@ ExeCreateSurfTmRuled( int nParentId, int nPtOrCrvId1, int nPtOrCrvId2, double dL CurveLocal CrvLoc2( pGeomDB, nPtOrCrvId2, frLoc) ; bOk = bOk && ( CrvLoc2.Get() != nullptr) ; // calcolo la superficie - pSTM = ( bOk ? GetSurfTriMeshRuled( CrvLoc1, CrvLoc2, dLinTol) : nullptr) ; + pSTM = ( bOk ? GetSurfTriMeshRuled( CrvLoc1, CrvLoc2, nType, dLinTol) : nullptr) ; } // altrimenti errore else @@ -1224,6 +1224,7 @@ ExeCreateSurfTmRuled( int nParentId, int nPtOrCrvId1, int nPtOrCrvId2, double dL string sLua = "EgtSurfTmRuled(" + IdToString( nParentId) + "," + ToString( nPtOrCrvId1) + "," + ToString( nPtOrCrvId2) + "," + + ( nType == ISurfTriMesh::RLT_MINDIST ? "MD" : "IP") + "," + ToString( dLinTol) + ")" + " -- Id=" + ToString( nNewId) ; LOG_INFO( GetCmdLogger(), sLua.c_str()) ; diff --git a/EgtExecutor.rc b/EgtExecutor.rc index 65e84e821c853f3d0518420f49ccd227403c20bc..9c048a4a5e0374777530ba8b0e0acfa51cc8a8c8 100644 GIT binary patch delta 103 zcmdl`x1nysH#SyN1|0^&&A-{4nVD083`efTEO4>oOp`YVR)EAOJ8~s&?h~?r$(psNd^E@ogQld delta 103 zcmdl`x1nysH#Sxi1|0_D&A-{4nVD073`efTEO4>oOp`YVR)EAOJ8~s&?h~?r$(psNd^E_As%x8 diff --git a/LUA_GdbCreateSurf.cpp b/LUA_GdbCreateSurf.cpp index 8e1094f..7792d28 100644 --- a/LUA_GdbCreateSurf.cpp +++ b/LUA_GdbCreateSurf.cpp @@ -590,19 +590,23 @@ LuaCreateSurfTmSwept( lua_State* L) static int LuaCreateSurfTmRuled( lua_State* L) { - // 3 o 4 parametri : ParentId, PtOrCrvId1, PtOrCrvId2, [, dTol] + // 3 o 4 o 5 parametri : ParentId, PtOrCrvId1, PtOrCrvId2 [, sType] [, dTol] int nParentId ; LuaCheckParam( L, 1, nParentId) int nPtOrCrvId1 ; LuaCheckParam( L, 2, nPtOrCrvId1) int nPtOrCrvId2 ; LuaCheckParam( L, 3, nPtOrCrvId2) + string sType = "IP" ; double dLinTol = LIN_TOL_DEF ; - if ( lua_gettop( L) >= 4) - LuaCheckParam( L, 4, dLinTol) ; + if ( LuaGetParam( L, 4, sType)) + LuaGetParam( L, 5, dLinTol) ; + else + LuaGetParam( L, 4, dLinTol) ; LuaClearStack( L) ; // creo STM riempiendo un contorno piano - int nId = ExeCreateSurfTmRuled( nParentId, nPtOrCrvId1, nPtOrCrvId2, dLinTol) ; + int nType = ( sType == "MD" ? RUL_TYPE_MINDIST : RUL_TYPE_ISOPAR) ; + int nId = ExeCreateSurfTmRuled( nParentId, nPtOrCrvId1, nPtOrCrvId2, nType, dLinTol) ; // restituisco il risultato if ( nId != GDB_ID_NULL) LuaSetParam( L, nId) ;