03434ce575
- aggiornato file NewTrimming che ora sarà IL BOTTONE. Chiamando quello inizia il workflow e si viene guidati fino alla fine. - aggiunto il file Params, che verrà chiamato dal bottone Options.
138 lines
6.7 KiB
Lua
138 lines
6.7 KiB
Lua
-- 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 |