Trimming 3.1a3 :
- modficata l'analisi e il recupero delle linee di sincronizzazione.
@@ -86,16 +86,33 @@ else
|
||||
EgtErase( nLayerEditSyncId)
|
||||
return
|
||||
end
|
||||
-- Le inserisco nel Leyer di Edit Sync
|
||||
local nEdge1Id = EgtCopyGlob( vIdEdges[1], nLayerEditSyncId)
|
||||
local nEdge2Id = EgtCopyGlob( vIdEdges[2], nLayerEditSyncId)
|
||||
if not nEdge1Id or not nEdge2Id then
|
||||
EgtOutBox( ERROR_EDIT_SYNC_CURVES .. 'Not 2 Border Curves detected', 'Error', 'ERROR', 'OK')
|
||||
|
||||
-- Chiedo i Parametri all'Utente
|
||||
local nSyncLinesNumber = EgtGetInfo( nCurrLayerId, KEY_SYNC_LINES_NUMBER, 'i')
|
||||
local bShowOnCorners = EgtGetInfo( nCurrLayerId, KEY_SYNC_LINES_SHOW_ON_CORNERS, 'b')
|
||||
local dSyncLinesAngTol = EgtGetInfo( nCurrLayerId, KEY_SYNC_LINES_NUMBER_ANG_TOL, 'd')
|
||||
if not nSyncLinesNumber or nSyncLinesNumber < 0. then nSyncLinesNumber = SYNC_LINES_NUMBER end
|
||||
if bShowOnCorners == nil then bShowOnCorners = true end
|
||||
if bShowAllLines == nil then bShowAllLines = false end
|
||||
if not dSyncLinesAngTol or dSyncLinesAngTol < 0. then dSyncLinesAngTol = SYNC_LINES_ANG_TOL end
|
||||
local vsVal = EgtDialogBox( 'Seletion', { 'Show on Corners', 'CK:' .. ( bShowOnCorners and '1' or '0')},
|
||||
{ 'Angular Tolerance', tostring( dSyncLinesAngTol)},
|
||||
{ 'Line Number', tostring( nSyncLinesNumber)})
|
||||
if not vsVal or #vsVal ~= 3 then
|
||||
EgtErase( nLayerEditSyncId)
|
||||
EgtSetCurrPartLayer( nCurrPartId, nCurrLayerId)
|
||||
return
|
||||
end
|
||||
-- Calcolo le Curve di Sincronizzazione
|
||||
bShowOnCorners = ( vsVal[1] == '1')
|
||||
dSyncLinesAngTol = tonumber( vsVal[2])
|
||||
nSyncLinesNumber = tonumber( vsVal[3])
|
||||
EgtSetInfo( nCurrLayerId, KEY_SYNC_LINES_NUMBER, nSyncLinesNumber)
|
||||
EgtSetInfo( nCurrLayerId, KEY_SYNC_LINES_SHOW_ON_CORNERS, bShowOnCorners)
|
||||
EgtSetInfo( nCurrLayerId, KEY_SYNC_LINES_NUMBER_ANG_TOL, dSyncLinesAngTol)
|
||||
|
||||
-- Recupero le Curve di Sincronizzazione
|
||||
local nFirstId, nCount
|
||||
bOk, nFirstId, nCount = EgtTrimmingGetSurfBzSyncPoints( nLayerEditSyncId, nEdge1Id, nEdge2Id, dLinTol)
|
||||
bOk, nFirstId, nCount = EgtTrimmingGetSurfBzSyncPoints( nLayerEditSyncId, vIdEdges[1], vIdEdges[2], dLinTol, dSyncLinesAngTol, nSyncLinesNumber, bShowOnCorners)
|
||||
if not bOk then
|
||||
EgtOutBox( ERROR_EDIT_SYNC_CURVES .. 'Error in Computing Sync Lines', 'Error', 'ERROR', 'OK')
|
||||
EgtErase( nLayerEditSyncId)
|
||||
@@ -103,30 +120,6 @@ else
|
||||
return
|
||||
end
|
||||
|
||||
-- Chiedo quanti valori di Curve di Sincronizzazione devo Visualizzare e le Tolleranze
|
||||
local nSkimmingFactor = EgtGetInfo( nCurrLayerId, KEY_SKIMMING_FACTOR, 'i')
|
||||
local dSkimAngTol = EgtGetInfo( nCurrLayerId, KEY_SKIMMING_FACTOR_ANG_TOL, 'd')
|
||||
if not nSkimmingFactor or nSkimmingFactor < 0. then nSkimmingFactor = SKIMMING_FACTOR end
|
||||
if not dSkimAngTol or dSkimAngTol < 0. then dSkimAngTol = SKIMMING_ANG_TOL end
|
||||
local vsVal = EgtDialogBox( 'Seletion', { 'Skimming Factor', tostring( nSkimmingFactor)},
|
||||
{ 'Angular Tolerance', tostring( dSkimAngTol)})
|
||||
if not vsVal or #vsVal ~= 2 then
|
||||
EgtErase( nLayerEditSyncId)
|
||||
EgtSetCurrPartLayer( nCurrPartId, nCurrLayerId)
|
||||
return
|
||||
end
|
||||
nSkimmingFactor = tonumber( vsVal[1])
|
||||
dSkimAngTol = tonumber( vsVal[2])
|
||||
EgtSetInfo( nCurrLayerId, KEY_SKIMMING_FACTOR, nSkimmingFactor)
|
||||
EgtSetInfo( nCurrLayerId, KEY_SKIMMING_FACTOR_ANG_TOL, dSkimAngTol)
|
||||
local vIdSyncLines = {}
|
||||
for i = 0, nCount - 1 do table.insert( vIdSyncLines, nFirstId + i) end
|
||||
if not EgtTrimmingSkimSyncPoints( nEdge1Id, nEdge2Id, vIdSyncLines, dLinTol, dSkimAngTol, nSkimmingFactor) then
|
||||
EgtOutBox( ERROR_EDIT_SYNC_CURVES .. 'Error in Computing Sync Lines', 'Error', 'ERROR', 'OK')
|
||||
EgtErase( nLayerEditSyncId)
|
||||
EgtSetCurrPartLayer( nCurrPartId, nCurrLayerId)
|
||||
end
|
||||
|
||||
-- Assegno Colore e Name
|
||||
nId = EgtGetFirstInGroup( nLayerEditSyncId)
|
||||
while nId do
|
||||
|
||||
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 12 KiB |
@@ -26,6 +26,10 @@ if ( not nLayerEditId or nLayerEditId == GDB_ID.NULL) and ( not nLayerStoreId or
|
||||
return
|
||||
end
|
||||
|
||||
-- Chiedo Conferma dell'Operazione
|
||||
local bDelete = EgtOutBox( 'Do you want erase all the Sync Lines ?', 'Confirm', 'QUESTION', 'YESNO')
|
||||
if not bDelete then EgtSetCurrPartLayer( nCurrPartId, nLayerEditId) return end
|
||||
|
||||
-- Cancello ( se esistono) i rispettivi Gruppi
|
||||
if nLayerEditId then EgtErase( nLayerEditId) end
|
||||
if nLayerStoreId then EgtErase( nLayerStoreId) end
|
||||
|
||||
@@ -19,8 +19,9 @@ KEY_SELECTION_REF_SURF = 'nRefSurf' -- Selection
|
||||
KEY_SELECTION_LAST_IDS = 'vSelLastIds' -- Undo Selection
|
||||
KEY_REF_TRIMMING_LAYER = 'nRefTrimmingLayer' -- Trimming Layer Ref
|
||||
KEY_AUTO_TRIMMING = 'AutoTrim' -- AutoTrimming
|
||||
KEY_SKIMMING_FACTOR = 'SkimmingFactor' -- Skimming Sync Lines
|
||||
KEY_SKIMMING_FACTOR_ANG_TOL = 'SkimmingFactorAngTol' -- Skimming Sync Lines Tol
|
||||
KEY_SYNC_LINES_NUMBER = 'SkimmingFactor' -- Skimming Sync Lines
|
||||
KEY_SYNC_LINES_SHOW_ON_CORNERS = 'SyncLineShowOnCorners' -- Skimming Sync Lines Show on Corners
|
||||
KEY_SYNC_LINES_NUMBER_ANG_TOL = 'SkimmingFactorAngTol' -- Skimming Sync Lines Tol
|
||||
|
||||
-- Chive per Tipologia di Layer
|
||||
KEY_LAYER_TYPE = 'Trimming_Layer_Type'
|
||||
@@ -29,7 +30,7 @@ KEY_LAYER_EDIT_CURVES = 'Trimming_EditCurves_Layer'
|
||||
KEY_LAYER_SYNC_CURVES = 'Trimming_SyncCurves_Layer'
|
||||
KEY_LAYER_SYNC_STORE_CURVES = 'Trimming_SyncStoredCurves_Layer'
|
||||
|
||||
-- Generali --
|
||||
-- Generali
|
||||
PART_NAME = 'Trimming'
|
||||
LAYER_NAME_SELECTION = 'Trimming'
|
||||
LAYER_NAME_EDIT_CURVES = 'EditCurves'
|
||||
@@ -38,8 +39,8 @@ LAYER_NAME_SYNC_STORED_CURVES = 'SyncStoredCurves'
|
||||
ANG_FACE_TOL = 30.
|
||||
ANG_TOL = 15.
|
||||
LIN_TOL = 0.05
|
||||
SKIMMING_FACTOR = 4
|
||||
SKIMMING_ANG_TOL = 10.0
|
||||
SYNC_LINES_NUMBER = 0
|
||||
SYNC_LINES_ANG_TOL = 15.0
|
||||
|
||||
-- Selezione delle superfici --
|
||||
SELECTION_SURF_NAME = 'Selected_Surf'
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
-- Gestione della versione di Trimming dei Termoformati
|
||||
|
||||
NAME = 'Trimming'
|
||||
VERSION = '3.1a2'
|
||||
MIN_EXE = '3.1a2'
|
||||
VERSION = '3.1a3'
|
||||
MIN_EXE = '3.1a3'
|
||||
|
||||