diff --git a/EXE_GdbModifyCurve.cpp b/EXE_GdbModifyCurve.cpp index 5f97919..df151c7 100644 --- a/EXE_GdbModifyCurve.cpp +++ b/EXE_GdbModifyCurve.cpp @@ -1666,6 +1666,20 @@ ExeModifyArcRadius( int nId, double dRad, bool bKeepCenter) return bOk ; } +//------------------------------------------------------------------------------- +bool +ExeModifyArcAngCenter( int nId, double dAngCenter) +{ + IGeomDB* pGeomDB = GetCurrGeomDB() ; + VERIFY_GEOMDB( pGeomDB, false) + // recupero l'arco + ICurveArc* pArc = GetCurveArc( pGeomDB->GetGeoObj( nId)) ; + if ( pArc == nullptr) + return false ; + // modifico angolo al centro + return pArc->ChangeAngCenter( dAngCenter) ; +} + //------------------------------------------------------------------------------- bool ExeModifyArcC2P( int nId, const Point3d& ptEnd, int nRefType) diff --git a/EgtExecutor.rc b/EgtExecutor.rc index 31ad564..7d79767 100644 Binary files a/EgtExecutor.rc and b/EgtExecutor.rc differ diff --git a/LUA_GdbModifyCurve.cpp b/LUA_GdbModifyCurve.cpp index fc903c8..88b8d55 100644 --- a/LUA_GdbModifyCurve.cpp +++ b/LUA_GdbModifyCurve.cpp @@ -586,6 +586,22 @@ LuaModifyArcRadius( lua_State* L) return 1 ; } +//------------------------------------------------------------------------------- +static int +LuaModifyArcAngCenter( lua_State* L) +{ + // 2 parametri : Id, dNewAngCenter + int nId ; + LuaCheckParam( L, 1, nId) + double dNewAngCenter ; + LuaCheckParam( L, 2, dNewAngCenter) + LuaClearStack( L) ; + // modifica dell'angolo al centro + bool bOk = ExeModifyArcAngCenter( nId, dNewAngCenter) ; + LuaSetParam( L, bOk) ; + return 1 ; +} + //------------------------------------------------------------------------------- static int LuaModifyArcToExplementary( lua_State* L) @@ -1214,6 +1230,7 @@ LuaInstallGdbModifyCurve( LuaMgr& luaMgr) bOk = bOk && luaMgr.RegisterFunction( "EgtSplitCurveAtCorners", LuaSplitCurveAtCorners) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSplitCurveAtSelfInters", LuaSplitCurveAtSelfInters) ; bOk = bOk && luaMgr.RegisterFunction( "EgtModifyArcRadius", LuaModifyArcRadius) ; + bOk = bOk && luaMgr.RegisterFunction( "EgtModifyArcAngCenter", LuaModifyArcAngCenter) ; bOk = bOk && luaMgr.RegisterFunction( "EgtModifyArcToExplementary", LuaModifyArcToExplementary) ; bOk = bOk && luaMgr.RegisterFunction( "EgtModifyArcByFlip", LuaModifyArcByFlip) ; bOk = bOk && luaMgr.RegisterFunction( "EgtCloseCurveCompo", LuaCloseCurveCompo) ;