From e587f23dadb4af9b23dd053c3e8f70ae8c222a85 Mon Sep 17 00:00:00 2001 From: Daniele Bariletti Date: Thu, 11 Apr 2024 17:39:20 +0200 Subject: [PATCH] EgtExecutor : - aggiunti parametri per ottenere la trimesh di una Bezier con precisione richiesta. --- EXE_GdbCreateSurf.cpp | 4 ++-- LUA_GdbCreateSurf.cpp | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/EXE_GdbCreateSurf.cpp b/EXE_GdbCreateSurf.cpp index f4460a6..4bc12f7 100644 --- a/EXE_GdbCreateSurf.cpp +++ b/EXE_GdbCreateSurf.cpp @@ -1583,7 +1583,7 @@ ExeCreateSurfTmBySewing( int nParentId, const INTVECTOR& vIds, bool bErase) //---------------------------------------------------------------------------- int -ExeCreateSurfTmBySurfBezier( int nParentId, int nSbezId) +ExeCreateSurfTmBySurfBezier( int nParentId, int nSbezId, double dTol, double dSideMin) { IGeomDB* pGeomDB = GetCurrGeomDB() ; VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL) @@ -1598,7 +1598,7 @@ ExeCreateSurfTmBySurfBezier( int nParentId, int nSbezId) Frame3d frLoc ; bOk = bOk && pGeomDB->GetGroupGlobFrame( nParentId, frLoc) ; // copio la superficie ausiliaria della Bezier - const ISurfTriMesh* pAuxSurf = ( bOk ? pSbez->GetAuxSurf() : nullptr) ; + const ISurfTriMesh* pAuxSurf = ( bOk ? pSbez->GetAuxSurf( dTol, dSideMin) : nullptr) ; PtrOwner pStm( pAuxSurf != nullptr ? pAuxSurf->Clone() : nullptr) ; bOk = bOk && ! IsNull( pStm) ; // la porto nel riferimento destinazione diff --git a/LUA_GdbCreateSurf.cpp b/LUA_GdbCreateSurf.cpp index 671c80a..6da559e 100644 --- a/LUA_GdbCreateSurf.cpp +++ b/LUA_GdbCreateSurf.cpp @@ -803,11 +803,16 @@ LuaCreateSurfTmBySurfBezier( lua_State* L) // 2 parametri : ParentId, nSbezId int nParentId ; LuaCheckParam( L, 1, nParentId) - int nZmapId ; - LuaCheckParam( L, 2, nZmapId) + int nBezId ; + LuaCheckParam( L, 2, nBezId) + double dTol ; + LuaGetParam( L, 3, dTol) ; + double dSideMin ; + LuaGetParam( L, 4, dSideMin) ; + LuaClearStack( L) ; // creo STM partendo da superficie di Bezier - int nId = ExeCreateSurfTmBySurfBezier( nParentId, nZmapId) ; + int nId = ExeCreateSurfTmBySurfBezier( nParentId, nBezId, dTol, dSideMin) ; // restituisco il risultato if ( nId != GDB_ID_NULL) LuaSetParam( L, nId) ;