From 511e74a4d96fabf8c7c5776f55bde1b29ddd58b7 Mon Sep 17 00:00:00 2001 From: SaraP Date: Wed, 10 Jan 2024 10:11:14 +0100 Subject: [PATCH] EgtExecutor 2.5l7 : - nelle funzioni Exe e Lua di OffsetCurveAdv e CreateSurfFatCurve aggiunto parametro opzionale di tolleranza lineare per gli offset. --- EXE_GdbCreateSurf.cpp | 4 ++-- EXE_GdbModifyCurve.cpp | 4 ++-- EgtExecutor.rc | Bin 18898 -> 18898 bytes LUA_GdbCreateSurf.cpp | 6 ++++-- LUA_GdbModifyCurve.cpp | 6 ++++-- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/EXE_GdbCreateSurf.cpp b/EXE_GdbCreateSurf.cpp index 56971ba..59ae3e7 100644 --- a/EXE_GdbCreateSurf.cpp +++ b/EXE_GdbCreateSurf.cpp @@ -222,7 +222,7 @@ ExeCreateSurfFrDisk( int nParentId, const Point3d& ptOrig, double dRad, int nRef //------------------------------------------------------------------------------- int -ExeCreateSurfFrFatCurve( int nParentId, int nCrvId, double dRad, bool bSquaredEnds, bool bSquaredMids) +ExeCreateSurfFrFatCurve( int nParentId, int nCrvId, double dRad, bool bSquaredEnds, bool bSquaredMids, double dLinTol) { IGeomDB* pGeomDB = GetCurrGeomDB() ; VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL) @@ -245,7 +245,7 @@ ExeCreateSurfFrFatCurve( int nParentId, int nCrvId, double dRad, bool bSquaredEn // eseguo la trasformazione (viene eseguita solo se i riferimenti sono diversi pCopCrv->LocToLoc( frCrv, frLoc) ; // creo la regione - PtrOwner pSfr( GetSurfFlatRegionFromFatCurve( Release( pCopCrv), dRad, bSquaredEnds, bSquaredMids)) ; + PtrOwner pSfr( GetSurfFlatRegionFromFatCurve( Release( pCopCrv), dRad, bSquaredEnds, bSquaredMids, dLinTol)) ; bOk = bOk && ! IsNull( pSfr) ; // inserisco la superficie nel DB int nNewId = ( bOk ? pGeomDB->AddGeoObj( GDB_ID_NULL, nParentId, Release( pSfr)) : GDB_ID_NULL) ; diff --git a/EXE_GdbModifyCurve.cpp b/EXE_GdbModifyCurve.cpp index bbbe097..81db255 100644 --- a/EXE_GdbModifyCurve.cpp +++ b/EXE_GdbModifyCurve.cpp @@ -102,14 +102,14 @@ ExeOffsetCurve( int nId, double dDist, int nType) //---------------------------------------------------------------------------- int -ExeOffsetCurveAdv( int nId, double dDist, int nType, int* pnCount) +ExeOffsetCurveAdv( int nId, double dDist, int nType, int* pnCount, double dLinTol) { IGeomDB* pGeomDB = GetCurrGeomDB() ; VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL) // recupero la curva const ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ; // eseguo l'offset - OffsetCurve OffsCrv ; + OffsetCurve OffsCrv( dLinTol) ; bool bOk = OffsCrv.Make( pCurve, dDist, nType) ; // salvo le curve di offset int nRefId = nId ; diff --git a/EgtExecutor.rc b/EgtExecutor.rc index c3d562567cb5a0c73cc609d30b9bb2fbb04137b4..133ffafd8d225944eafa27cd0e673c53a1bd72be 100644 GIT binary patch delta 243 zcmcaKneozO#trM3)jb*V7}6PX7*ZLEfmne-gCUrqgdq`#Gl9HNpll|HJz3tlb#olc zJSIl-%@@V4Gflq2na5~8Ignd-a{*Tk3sCf++-0W82LxfF21;&>n->Y|F@rU@0x76s zKgP|Iq`|@m)wCPuT(XT`2FO}@aH$7nX$P*``fgOnfR=3U%+%s{EVa+jGV?-7Jb zO?Hqn+uSE)#{$;m3RD2qPy-U#E9VFmfvOW=++3vmPnImlu}%KrwrnyN^RmhRoOt*_ e9`XcxA%~$7;(^Tu&U2WtNdSGuw)uzKEhYf-DNaoQ diff --git a/LUA_GdbCreateSurf.cpp b/LUA_GdbCreateSurf.cpp index 18f4830..13db858 100644 --- a/LUA_GdbCreateSurf.cpp +++ b/LUA_GdbCreateSurf.cpp @@ -147,7 +147,7 @@ LuaCreateSurfFlatRegion( lua_State* L) static int LuaCreateSurfFrFatCurve( lua_State* L) { - // 4 o 5 parametri : ParentId, nCrvId, dRad, bSquared [,bSquaredMids] + // 4 o 5 o 6 parametri : ParentId, nCrvId, dRad, bSquared [, bSquaredMids] [, dLinTol] int nParentId ; LuaCheckParam( L, 1, nParentId) int nCrvId ; @@ -158,9 +158,11 @@ LuaCreateSurfFrFatCurve( lua_State* L) LuaCheckParam( L, 4, bSquared) bool bSquaredMids = bSquared ; LuaGetParam( L, 5, bSquaredMids) ; + double dLinTol = 10 * EPS_SMALL ; + LuaGetParam( L, 6, dLinTol) ; LuaClearStack( L) ; // creo una regione piana - int nId = ExeCreateSurfFrFatCurve( nParentId, nCrvId, dRad, bSquared, bSquaredMids) ; + int nId = ExeCreateSurfFrFatCurve( nParentId, nCrvId, dRad, bSquared, bSquaredMids, dLinTol) ; // restituisco il risultato if ( nId != GDB_ID_NULL) LuaSetParam( L, nId) ; diff --git a/LUA_GdbModifyCurve.cpp b/LUA_GdbModifyCurve.cpp index 8e55001..e952639 100644 --- a/LUA_GdbModifyCurve.cpp +++ b/LUA_GdbModifyCurve.cpp @@ -60,17 +60,19 @@ LuaOffsetCurve( lua_State* L) static int LuaOffsetCurveAdv( lua_State* L) { - // 2 o 3 parametri : Id, dDist [, nType] + // 2 o 3 o 4 parametri : Id, dDist [, nType] [, dLinTol] int nId ; LuaCheckParam( L, 1, nId) double dDist ; LuaCheckParam( L, 2, dDist) int nType = ICurve::OFF_FILLET ; LuaGetParam( L, 3, nType) ; + double dLinTol = 10 * EPS_SMALL ; + LuaGetParam( L, 4, dLinTol) ; LuaClearStack( L) ; // offset della curva int nCount ; - int nNewId = ExeOffsetCurveAdv( nId, dDist, nType, &nCount) ; + int nNewId = ExeOffsetCurveAdv( nId, dDist, nType, &nCount, dLinTol) ; if ( nCount >= 0) { LuaSetParam( L, nNewId) ; LuaSetParam( L, nCount) ;