From bb9f7b5fbab8b5cac9657b06918d14d50a85fa68 Mon Sep 17 00:00:00 2001 From: Riccardo Elitropi Date: Wed, 17 Dec 2025 14:56:51 +0100 Subject: [PATCH] Include : - in Machining Optimization aggiunta gestione OpenBounds. --- ENkMachOptimization.h | 18 ++++++++++++++++-- EXeExecutor.h | 2 ++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ENkMachOptimization.h b/ENkMachOptimization.h index 57fad26..f3c2b26 100644 --- a/ENkMachOptimization.h +++ b/ENkMachOptimization.h @@ -51,7 +51,6 @@ struct ToolOptm { bTCX( bX), bTCY( bY), bTCZ( bZ), bTCA( bA), bTCB( bB), bTCC( bC), dTLoad( dTL), dTUnLoad( dTUL) {} } ; typedef std::vector TOOLOPTMVECTOR ; -typedef std::list TOOLOPTMLIST ; // Definizione strutta per singola lavorazione struct MachOptm { @@ -90,7 +89,20 @@ struct MachOptm { } ; typedef std::vector MACHOPTMVECTOR ; typedef std::vector MACHOPTMMATRIX ; -typedef std::list MACHOPTMLIST ; + +// Definizione struttura per OpenBounds +struct OpenBoundOptm { + int nGroup ; + bool bStartVsEnd ; + int nFlag ; + double dX ; + double dY ; + double dZ ; + + OpenBoundOptm( int nOBGroup, bool bOBStartVsEnd, int nOBFlag, double dOBX, double dOBY, double dOBZ ) + : nGroup( nOBGroup), bStartVsEnd( bOBStartVsEnd), nFlag( nOBFlag), dX( dOBX), dY( dOBY), dZ( dOBZ) {} +} ; +typedef std::vector MACHOPTOPENBOUNDVECTOR ; //---------------------------------------------------------------------------- class __declspec( novtable) IMachOptimization @@ -112,6 +124,8 @@ class __declspec( novtable) IMachOptimization virtual bool SetFeeds( double dFeedL, double dFeedA) = 0 ; virtual bool SetAllGroupsAsMandatory( bool bAllMandatory = false) = 0 ; virtual bool SetOptimizationForGroups( bool bOptForGroups = false) = 0 ; + virtual bool SetOpenBound( bool bStartVsEnd, int nFlag, double dX, double dY, double dZ) = 0 ; + virtual bool SetOpenBoundForGroups( int nGroup, bool bStartVsEnd, int nFlag, double dX, double dY, double dZ) = 0 ; virtual bool GetResult( INTVECTOR& vIds) = 0 ; } ; diff --git a/EXeExecutor.h b/EXeExecutor.h index 1c979d5..f9e6166 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -234,6 +234,8 @@ EXE_EXPORT bool ExeOptMachAddDependence( int nIdPrec, int nIdNext) ; EXE_EXPORT bool ExeOptMachAddSuggestedDependence( int nIdPrec, int nIdNext) ; EXE_EXPORT bool ExeOptMachSetAllGroupDependencesAsMandatory( bool bAllMandatory) ; EXE_EXPORT bool ExeOptMachSetOptimizationForGroups( bool bOptForGroups) ; +EXE_EXPORT bool ExeOptMachSetOpenBound( bool bStartVsEnd, int nFlag, double dX, double dY, double dZ) ; +EXE_EXPORT bool ExeOptMachSetOpenBoundForGroups( int nGroup, bool bStartVsEnd, int nFlag, double dX, double dY, double dZ) ; EXE_EXPORT bool ExeOptMachGetResult( INTVECTOR& vIds) ; // GeomDB Create