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 65e84e8..9c048a4 100644 Binary files a/EgtExecutor.rc and b/EgtExecutor.rc differ 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) ;