EgtExecutor 2.1l1 :

- migliorie a nesting automatico.
This commit is contained in:
Dario Sassi
2019-12-02 18:36:42 +00:00
parent d4f903c336
commit a5bdacf601
3 changed files with 52 additions and 23 deletions
+21 -13
View File
@@ -108,18 +108,20 @@ LuaAutoNestStart( lua_State* L)
static int
LuaAutoNestAddSheet( lua_State* L)
{
// 4 parametri : nSheetId, nOutlineId, nPriority, nCount
// 5 parametri : nSheetId, nOutlineId, dKerf, nPriority, nCount
int nSheetId ;
LuaCheckParam( L, 1, nSheetId)
int nOutlineId ;
LuaCheckParam( L, 2, nOutlineId)
double dKerf ;
LuaCheckParam( L, 3, dKerf)
int nPriority ;
LuaCheckParam( L, 3, nPriority)
LuaCheckParam( L, 4, nPriority)
int nCount ;
LuaCheckParam( L, 4, nCount)
LuaCheckParam( L, 5, nCount)
LuaClearStack( L) ;
// aggiungo un pannello al nesting corrente
bool bOk = ExeAutoNestAddSheet( nSheetId, nOutlineId, nPriority, nCount) ;
bool bOk = ExeAutoNestAddSheet( nSheetId, nOutlineId, dKerf, nPriority, nCount) ;
// restituisco il risultato
LuaSetParam( L, bOk) ;
return 1 ;
@@ -129,16 +131,22 @@ LuaAutoNestAddSheet( lua_State* L)
static int
LuaAutoNestAddPart( lua_State* L)
{
// 3 parametri : nPartId, nOutlineId, nCount
// 6 parametri : nPartId, nOutlineId, bCanFlip, bCanRotate, nPriority, nCount
int nPartId ;
LuaCheckParam( L, 1, nPartId)
int nOutlineId ;
LuaCheckParam( L, 2, nOutlineId)
bool bCanFlip ;
LuaCheckParam( L, 3, bCanFlip)
bool bCanRotate ;
LuaCheckParam( L, 4, bCanRotate)
int nPriority ;
LuaCheckParam( L, 5, nPriority)
int nCount ;
LuaCheckParam( L, 3, nCount)
LuaCheckParam( L, 6, nCount)
LuaClearStack( L) ;
// aggiungo un pezzo al nesting corrente
bool bOk = ExeAutoNestAddPart( nPartId, nOutlineId, nCount) ;
bool bOk = ExeAutoNestAddPart( nPartId, nOutlineId, bCanFlip, bCanRotate, nPriority, nCount) ;
// restituisco il risultato
LuaSetParam( L, bOk) ;
return 1 ;
@@ -193,7 +201,7 @@ LuaAutoNestGetComputationStatus( lua_State* L)
{
// nessun parametro
LuaClearStack( L) ;
// lancio calcolo del nesting
// recupero lo stato di esecuzione del nesting
int nStatus ;
bool bOk = ExeAutoNestGetComputationStatus( nStatus) ;
// restituisco il risultato
@@ -224,14 +232,14 @@ LuaAutoNestGetResults( lua_State* L)
// nessun parametro
LuaClearStack( L) ;
// recupero il risultato della soluzione
int nNestedParts, nTotParts, nTotSheets, nDiffSheets ; double dTotFillRatio ;
bool bOk = ExeAutoNestGetResults( nNestedParts, nTotParts, nTotSheets, nDiffSheets, dTotFillRatio) ;
int nNestedParts, nParts, nSheets, nNestings ; double dTotFillRatio ;
bool bOk = ExeAutoNestGetResults( nNestedParts, nParts, nSheets, nNestings, dTotFillRatio) ;
// restituisco il risultato
if ( bOk) {
LuaSetParam( L, nNestedParts) ;
LuaSetParam( L, nTotParts) ;
LuaSetParam( L, nTotSheets) ;
LuaSetParam( L, nDiffSheets) ;
LuaSetParam( L, nParts) ;
LuaSetParam( L, nSheets) ;
LuaSetParam( L, nNestings) ;
LuaSetParam( L, dTotFillRatio) ;
return 5 ;
}