-- Params.lua by Egalware s.r.l. 2026/09/01 require( 'EgtBase') _ENV = EgtProtectGlobal() EgtEnableDebug( false) -- Carico le costanti di Trimming EgtAddToPackagePath( EgtGetSourceDir() .. '?.lua') local GlobVar = require( 'TrimmingLib') -- Costante di Errore local ERROR_SETTINGS = 'Error in Settings : ' local nCurrPartId, nCurrLayerId = ... -- Recupero il File Ini local sFileIni = EgtGetIniFile() if not sFileIni then EgtOutBox( ERROR_SETTINGS .. '.ini File not Found', 'Error', 'ERROR', 'OK') return end ---- parametri di inserimento superficie local sSurfTypeSel = 'CB:'..SURF_SEL_LABEL[1]..',*'..SURF_SEL_LABEL[2] local dStripSize = STRIP_SIZE local dStripTol = STRIP_SIZE_TOL ----- parametri di creazione edge local sEdgeCreationType = 'CB:'.. EDGE_CREATION_LABEL[1]..',*'..EDGE_CREATION_LABEL[2] local dLinTolForEdges = LIN_TOL local dAngTolForEdges = ANG_TOL -- Recupero i Colori in Hex come stringhe local sHexSurfSelColor = GlobVar.GetStringFromColor( SELECTION_SURF_COLOR) local sHexEdgeColor = GlobVar.GetStringFromColor( EDGES_COLOR) local sHexSyncLinesColor = GlobVar.GetStringFromColor( SYNC_LINE_COLOR) local sHexSyncInterpLinesColor = GlobVar.GetStringFromColor( SYNC_LINE_INTERP_COLOR) local sHexOrientationLinesColor = GlobVar.GetStringFromColor( ORIENTATION_LINE_COLOR) local sHexRuledBzColor = GlobVar.GetStringFromColor( RULED_BZ_COLOR) if not sHexSurfSelColor or not sHexEdgeColor or not sHexSyncLinesColor or not sHexSyncInterpLinesColor or not sHexOrientationLinesColor or not sHexRuledBzColor then EgtOutBox( ERROR_SETTINGS .. 'Error in Converting Colors', 'Error', 'ERROR', 'OK') return end -- apro la finestra con tutti i parametri del pre-processing della geometria per la lavorazione di trimming local vsVal = EgtDialogBox( 'Parameters and Settings', -- tolleranze generali { 'Surf Linear Tolerance', tostring( LIN_TOL)}, { 'Surf Angular Tolerance', tostring( ANG_TOL)}, { 'Surf Norm Angular Tolerance', tostring( ANG_FACE_TOL)}, { 'For Holes','CK:0'}, { 'Surf Selection Type', sSurfTypeSel}, { 'Strip Size', tostring( dStripSize)}, { 'Strip Size Tolerance', tostring( dStripTol)}, { 'Surf Type', sEdgeCreationType}, { 'Edges Linear Tolerance', tostring( LIN_TOL)}, { 'Edges Angular Tolerance', tostring( ANG_TOL)}, { 'Surf Selection','CP:'.. sHexSurfSelColor}, { 'Edges', 'CP:'.. sHexEdgeColor}, { 'SyncLines', 'CP:'.. sHexSyncLinesColor}, { 'SyncLines Interpolation', 'CP:'.. sHexSyncInterpLinesColor}, { 'Orientation Line', 'CP:'.. sHexOrientationLinesColor}, { 'Surf Ruled Bezier', 'CP:'.. sHexRuledBzColor}) if not vsVal or #vsVal ~= 16 then return end -- Creo il Layer di Trimming all'interno del Part corrente e lo rendo corrente local nAuxLay if not nCurrLayerId then nCurrLayerId, nAuxLay = GlobVar.CreateTrimmingLayer( nCurrPartId, ( tonumber( vsVal[4]) == 1)) if nCurrLayerId == GDB_ID.NULL then EgtOutBox( ERROR_CREATING_NEW_TRIMMING .. 'Defining Layer failed', 'Error', 'ERROR', 'OK') return end EgtSetCurrPartLayer( nCurrPartId, nCurrLayerId) end ------------- gestione parametri generali di superficie local dLinTol = tonumber( vsVal[1]) local dAngTol = tonumber( vsVal[2]) local dAngFaceTol = tonumber( vsVal[3]) local bOk = EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL, dLinTol) and EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL, dAngTol) and EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_ANG_TOL, dAngFaceTol) if not bOk then EgtOutBox( ERROR_CREATING_NEW_TRIMMING .. 'Saving Tolerances failed', 'Error', 'ERROR', 'OK') EgtErase( nCurrLayerId) return end --------- parametri di inserimento superfici STRIP_SIZE = tonumber( vsVal[6]) STRIP_SIZE_TOL = tonumber( vsVal[7]) EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_BORDER_SIZE, STRIP_SIZE) EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_BORDER_SIZE_TOL, STRIP_SIZE_TOL) EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SELECTION_LAST_SELECTION_TYPE, SURF_SEL_LABEL[vsVal[5]]) --------- parametri di creazione degli edges EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_EDGES_CREATION_TYPE, EDGE_CREATION_LABEL[vsVal[8]]) dLinTolForEdges = tonumber( vsVal[9]) dAngTolForEdges = tonumber( vsVal[10]) -- Salvo le Tolleranze nel Layer di Trimming EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL_EDGES, dLinTolForEdges) EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL_EDGES, dAngTolForEdges) ------------------GESTIONE COLORI -- Memorizzo i nuovi colori per le variabili local SelSurfCol = GlobVar.GetColorFromString( vsVal[11]) local EdgeColor = GlobVar.GetColorFromString( vsVal[12]) local SyncLineColor = GlobVar.GetColorFromString( vsVal[13]) local SyncInterpLinesColor = GlobVar.GetColorFromString( vsVal[14]) local OrientationLinesColor = GlobVar.GetColorFromString( vsVal[15]) local RuledBZColor = GlobVar.GetColorFromString( vsVal[16]) if not SelSurfCol or not EdgeColor or not SyncLineColor or not SyncInterpLinesColor or not OrientationLinesColor or not RuledBZColor then EgtOutBox( ERROR_SETTINGS .. 'Error in Converting Colors', 'Error', 'ERROR', 'OK') return end -- Le nuove variabili di colore vengono aggiornate SELECTION_SURF_COLOR = GlobVar.SetColorSurfSelection( SelSurfCol) EDGES_COLOR = GlobVar.SetColorEdges( EdgeColor) SYNC_LINE_COLOR = GlobVar.SetColorSyncLines( SyncLineColor) SYNC_LINE_INTERP_COLOR = GlobVar.SetColorSyncInterpLines( SyncInterpLinesColor) ORIENTATION_LINE_COLOR = GlobVar.SetColorOrientationLines( OrientationLinesColor) RULED_BZ_COLOR = GlobVar.SetColorRuledBz( RuledBZColor) -- Aggiorno i Valori Memorizzati all'interno del File .ini EgtWriteStringToIni( KEY_SECTION_NAME, KEY_INI_SELECTION_SURF_COLOR, GlobVar.GetColorForIniFile( SELECTION_SURF_COLOR), sFileIni) EgtWriteStringToIni( KEY_SECTION_NAME, KEY_INI_EDGES_COLOR, GlobVar.GetColorForIniFile( EDGES_COLOR), sFileIni) EgtWriteStringToIni( KEY_SECTION_NAME, KEY_INI_SYNC_LINE_COLOR, GlobVar.GetColorForIniFile( SYNC_LINE_COLOR), sFileIni) EgtWriteStringToIni( KEY_SECTION_NAME, KEY_INI_SYNC_INTERP_COLOR, GlobVar.GetColorForIniFile( SYNC_LINE_INTERP_COLOR), sFileIni) EgtWriteStringToIni( KEY_SECTION_NAME, KEY_INI_ORIENTATION_COLOR, GlobVar.GetColorForIniFile( ORIENTATION_LINE_COLOR), sFileIni) EgtWriteStringToIni( KEY_SECTION_NAME, KEY_INI_RULED_BZ_COLOR, GlobVar.GetColorForIniFile( RULED_BZ_COLOR), sFileIni) return nCurrLayerId