Trimming 3.1h2 :

- spostate le costanti in EgtConst nella tabella MCH_TRIMMING.
This commit is contained in:
Daniele Bariletti
2026-08-26 12:12:39 +02:00
parent 05031aa6b9
commit 551dd86eaa
19 changed files with 268 additions and 269 deletions
+13 -13
View File
@@ -17,9 +17,9 @@ if not GlobVar.IsTrimmingLayer( nCurrLayerId) then
EgtOutBox( ERROR_BEZIER_CREATION .. 'Not a valid Trimming Layer', 'Error', 'ERROR', 'OK')
return
end
local dLinTol = EgtGetInfo( nCurrLayerId, KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, KEY_SURF_ANG_TOL, 'd')
local dLinTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_ANG_TOL, 'd')
local bOk = ( dLinTol ~= nil and dAngTol ~= nil and dAngFaceTol ~= nil)
if not bOk then
EgtOutBox( ERROR_BEZIER_CREATION .. 'No Trimming Machining created', 'Error', 'ERROR', 'OK')
@@ -31,14 +31,14 @@ local vIdToErase = {}
local nId = EgtGetFirstInGroup( nCurrLayerId)
while nId do
local sName = EgtGetName( nId)
if sName == RULED_BZ_NAME then table.insert( vIdToErase, nId) end
if sName == MCH_TRIMMING.RULED_BZ_NAME then table.insert( vIdToErase, nId) end
nId = EgtGetNext( nId)
end
EgtErase( vIdToErase)
-- Recupero la Tolleranza Lineare ed Angolare con cui sono stati approssimati gli Edges
local dEdgeLinTol = EgtGetInfo( nCurrLayerId, KEY_LIN_TOL_EDGES, 'd')
local dEdgeAngTol = EgtGetInfo( nCurrLayerId, KEY_ANG_TOL_EDGES, 'd')
local dEdgeLinTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL_EDGES, 'd')
local dEdgeAngTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL_EDGES, 'd')
if dEdgeLinTol == nil or dEdgeAngTol == nil then
EgtOutBox( ERROR_BEZIER_CREATION .. 'Edge Approx tollerance not found', 'Error', 'ERROR', 'OK')
return
@@ -57,8 +57,8 @@ if nLayerStoredSyncId and nLayerStoredSyncId ~= GDB_ID.NULL then
while nId do
local sName = EgtGetName( nId)
local nType = EgtGetType( nId)
if sName ~= EDGES_NAME and ( nType == GDB_TY.CRV_COMPO or nType == GDB_TY.CRV_BEZ or nType == GDB_TY.CRV_LINE or nType == GDB_TY.CRV_ARC) then
EgtSetName( nId, SYNC_LINE_NAME)
if sName ~= MCH_TRIMMING.EDGES_NAME and ( nType == GDB_TY.CRV_COMPO or nType == GDB_TY.CRV_BEZ or nType == GDB_TY.CRV_LINE or nType == GDB_TY.CRV_ARC) then
EgtSetName( nId, MCH_TRIMMING.SYNC_LINE_NAME)
table.insert( vIdSyncLines, nId)
end
nId = EgtGetNext( nId)
@@ -75,7 +75,7 @@ end
-- Recupero le Curve di Bordo dal Layer di Trimming corrente
nId = EgtGetFirstInGroup( nCurrLayerId)
while nId do
if EgtGetName( nId) == EDGES_NAME then table.insert( vIdEdges, nId) end
if EgtGetName( nId) == MCH_TRIMMING.EDGES_NAME then table.insert( vIdEdges, nId) end
nId = EgtGetNext( nId)
end
@@ -94,8 +94,8 @@ for i = 1, #vIdEdges, 2 do
-- Calcolo la Superficie di Bezier Ruled
-- [ Per ora non passo superfici di riferimento per eventuale Invert()]
-- scrivo l'info che mi identifica la curva aparametro V0 e la curva a parametro V1
EgtSetInfo( nEdge1Id, KEY_BORDER_ORDER, KEY_FIRST_BORDER)
EgtSetInfo( nEdge2Id, KEY_BORDER_ORDER, KEY_SECOND_BORDER)
EgtSetInfo( nEdge1Id, MCH_TRIMMING.KEY_BORDER_ORDER, MCH_TRIMMING.KEY_FIRST_BORDER)
EgtSetInfo( nEdge2Id, MCH_TRIMMING.KEY_BORDER_ORDER, MCH_TRIMMING.KEY_SECOND_BORDER)
local nSurfBzId = EgtTrimmingGetRuledBezier( nCurrLayerId, {}, nEdge1Id, nEdge2Id, dLinTol, vIdSyncLines)
if nSurfBzId == GDB_ID.NULL then
EgtOutBox( ERROR_BEZIER_CREATION .. 'Creating Bezier Surf failed', 'Error', 'ERROR', 'OK')
@@ -104,7 +104,7 @@ for i = 1, #vIdEdges, 2 do
end
-- Assegno Colore e Name
bOk = EgtSetColor( nSurfBzId, RULED_BZ_COLOR) and EgtSetName( nSurfBzId, RULED_BZ_NAME)
bOk = EgtSetColor( nSurfBzId, RULED_BZ_COLOR) and EgtSetName( nSurfBzId, MCH_TRIMMING.RULED_BZ_NAME)
if not bOk then
EgtOutBox( ERROR_BEZIER_CREATION .. 'Assign Surf Bezier Properties failed', 'Error', 'ERROR', 'OK')
return
@@ -114,7 +114,7 @@ end
-- Nascondo le superfici di Selezione e metto il Focus sul Layer di Selezione
nId = EgtGetFirstInGroup( nCurrLayerId)
while nId do
if EgtGetName( nId) == SELECTION_SURF_NAME then EgtSetStatus( nId, GDB_ST.OFF) end
if EgtGetName( nId) == MCH_TRIMMING.SELECTION_SURF_NAME then EgtSetStatus( nId, GDB_ST.OFF) end
nId = EgtGetNext( nId)
end
EgtSetCurrPartLayer( nCurrPartId, nCurrLayerId)
+24 -24
View File
@@ -19,17 +19,17 @@ if not GlobVar.IsTrimmingLayer( nCurrLayerId) then
end
-- Recupero le Tolleranze Impostate
local dLinTol = EgtGetInfo( nCurrLayerId, KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, KEY_SURF_ANG_TOL, 'd')
local dLinTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_ANG_TOL, 'd')
local bOk = ( dLinTol ~= nil and dAngTol ~= nil and dAngFaceTol ~= nil)
if not bOk then
EgtOutBox( ERROR_EDGE_CREATION .. 'No Trimming Machining created', 'Error', 'ERROR', 'OK')
return
end
local dEdgeLinTol = EgtGetInfo( nCurrLayerId, KEY_LIN_TOL_EDGES, 'd')
local dEdgeAngTol = EgtGetInfo( nCurrLayerId, KEY_ANG_TOL_EDGES, 'd')
local dEdgeThick = EgtGetInfo( nCurrLayerId, KEY_THICK_EDGES, 'd')
local dEdgeLinTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL_EDGES, 'd')
local dEdgeAngTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL_EDGES, 'd')
local dEdgeThick = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_THICK_EDGES, 'd')
-- Determino il Tipo di Estrazione degli Edges
local dLinTolForEdges = dLinTol
@@ -46,9 +46,9 @@ if not vsVal or #vsVal ~= 4 then return end
dEdgeLinTol = tonumber( vsVal[2])
dEdgeAngTol = tonumber( vsVal[3])
dEdgeThick = tonumber( vsVal[4])
EgtSetInfo( nCurrLayerId, KEY_LIN_TOL_EDGES, dEdgeLinTol)
EgtSetInfo( nCurrLayerId, KEY_ANG_TOL_EDGES, dEdgeAngTol)
EgtSetInfo( nCurrLayerId, KEY_THICK_EDGES, dEdgeThick)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL_EDGES, dEdgeLinTol)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL_EDGES, dEdgeAngTol)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_THICK_EDGES, dEdgeThick)
-- Rendo invisibili gli altri Layer di Trimmatura e tutti i Layer Temporanei
-- NB. Il focus va sul Layer corrente
@@ -66,7 +66,7 @@ local vIdToErase = {}
local nId = EgtGetFirstInGroup( nCurrLayerId)
while nId do
local sName = EgtGetName( nId)
if sName ~= SELECTION_SURF_NAME then table.insert( vIdToErase, nId)
if sName ~= MCH_TRIMMING.SELECTION_SURF_NAME then table.insert( vIdToErase, nId)
else EgtSetStatus( nId, GDB_ST.ON) end
nId = EgtGetNext( nId)
end
@@ -74,7 +74,7 @@ EgtErase( vIdToErase)
-- Scorro le superfici di Selezione presenti e recupero il vettore di Selezione {nSurf, nFace}
local vSel = {}
local nSelSurfId = EgtGetFirstNameInGroup( nCurrLayerId, SELECTION_SURF_NAME)
local nSelSurfId = EgtGetFirstNameInGroup( nCurrLayerId, MCH_TRIMMING.SELECTION_SURF_NAME)
while nSelSurfId do
-- Verifico che sia una Superficie TriMesh o Bezier
local nType = EgtGetType( nSelSurfId)
@@ -83,7 +83,7 @@ while nSelSurfId do
return
end
table.insert( vSel, { nSelSurfId, -1})
nSelSurfId = EgtGetNextName( nSelSurfId, SELECTION_SURF_NAME)
nSelSurfId = EgtGetNextName( nSelSurfId, MCH_TRIMMING.SELECTION_SURF_NAME)
end
-- Se non ho superfici di Selezione errore
if #vSel == 0 then
@@ -103,7 +103,7 @@ if vsVal[1] == 'Extract Edges' then
-- Assegno Colore e Name
for i = 0, nCount - 1 do
bOk = EgtSetColor( nFirstId + i, EDGES_COLOR) and
EgtSetName( nFirstId + i, EDGES_NAME)
EgtSetName( nFirstId + i, MCH_TRIMMING.EDGES_NAME)
if not bOk then
EgtOutBox( ERROR_EDGE_CREATION .. 'Assign Raw Edges Properties failed', 'Error', 'ERROR', 'OK')
return
@@ -122,7 +122,7 @@ end
-- Assegno Colore e Name
for i = 0, nCount - 1 do
bOk = EgtSetColor( nFirstId + i, EDGES_COLOR) and
EgtSetName( nFirstId + i, EDGES_NAME)
EgtSetName( nFirstId + i, MCH_TRIMMING.EDGES_NAME)
if not bOk then
EgtOutBox( ERROR_EDGE_CREATION .. 'Assign Raw Edges Properties failed', 'Error', 'ERROR', 'OK')
return
@@ -130,9 +130,9 @@ for i = 0, nCount - 1 do
end
-- Salvo le Tolleranze nel Layer di Trimming
EgtSetInfo( nCurrLayerId, KEY_LIN_TOL_EDGES, dEdgeLinTol)
EgtSetInfo( nCurrLayerId, KEY_ANG_TOL_EDGES, dEdgeAngTol)
EgtSetInfo( nCurrLayerId, KEY_THICK_EDGES, dEdgeThick)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL_EDGES, dEdgeLinTol)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL_EDGES, dEdgeAngTol)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_THICK_EDGES, dEdgeThick)
-- Se più di due curve, definisco dei nuovi Layer di Trimming
if nCount > 2 then
@@ -144,12 +144,12 @@ if nCount > 2 then
return
end
-- Copio proprietà
bOk = EgtSetInfo( nNewTrimmingLayer, KEY_LIN_TOL, dLinTol) and
EgtSetInfo( nNewTrimmingLayer, KEY_ANG_TOL, dAngTol) and
EgtSetInfo( nNewTrimmingLayer, KEY_SURF_ANG_TOL, dAngFaceTol) and
EgtSetInfo( nNewTrimmingLayer, KEY_LIN_TOL_EDGES, dEdgeLinTol) and
EgtSetInfo( nNewTrimmingLayer, KEY_ANG_TOL_EDGES, dEdgeAngTol) and
EgtSetInfo( nNewTrimmingLayer, KEY_THICK_EDGES, dEdgeThick)
bOk = EgtSetInfo( nNewTrimmingLayer, MCH_TRIMMING.KEY_LIN_TOL, dLinTol) and
EgtSetInfo( nNewTrimmingLayer, MCH_TRIMMING.KEY_ANG_TOL, dAngTol) and
EgtSetInfo( nNewTrimmingLayer, MCH_TRIMMING.KEY_SURF_ANG_TOL, dAngFaceTol) and
EgtSetInfo( nNewTrimmingLayer, MCH_TRIMMING.KEY_LIN_TOL_EDGES, dEdgeLinTol) and
EgtSetInfo( nNewTrimmingLayer, MCH_TRIMMING.KEY_ANG_TOL_EDGES, dEdgeAngTol) and
EgtSetInfo( nNewTrimmingLayer, MCH_TRIMMING.KEY_THICK_EDGES, dEdgeThick)
if not bOk then
EgtOutBox( ERROR_EDGE_CREATION .. 'Saving Tolerances failed', 'Error', 'ERROR', 'OK')
EgtErase( nNewTrimmingLayer)
@@ -159,7 +159,7 @@ if nCount > 2 then
local nOldId = EgtGetFirstInGroup( nCurrLayerId)
while nOldId do
local sName = EgtGetName( nOldId)
if sName ~= EDGES_NAME then
if sName ~= MCH_TRIMMING.EDGES_NAME then
local nNewId = EgtCopyGlob( nOldId, nNewTrimmingLayer)
end
nOldId = EgtGetNext( nOldId)
+11 -11
View File
@@ -19,7 +19,7 @@ if not GlobVar.IsTrimmingLayer( nCurrLayerId) then
end
-- Recupero le Info
local dLinTol = EgtGetInfo( nCurrLayerId, KEY_LIN_TOL, 'd')
local dLinTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL, 'd')
-- verifico che esista il layer temporaneo con la nuova superficie e i nuovi bordi
local nEditSurfLayer = GlobVar.GetCurrentEditSurfLayer( nCurrPartId, nCurrLayerId)
@@ -33,7 +33,7 @@ end
local nNewSurf = GDB_ID.NULL
local nId = EgtGetFirstInGroup(nEditSurfLayer)
while nId do
if EgtGetName(nId) == EDIT_SURF_NEWSURF_NAME then nNewSurf = nId end
if EgtGetName(nId) == MCH_TRIMMING.EDIT_SURF_NEWSURF_NAME then nNewSurf = nId end
nId = EgtGetNext( nId)
end
@@ -46,7 +46,7 @@ end
local vNewBorder = {}
nId = EgtGetFirstInGroup(nEditSurfLayer)
while nId do
if EgtGetName(nId) == EDIT_SURF_NEWBORDER_NAME then
if EgtGetName(nId) == MCH_TRIMMING.EDIT_SURF_NEWBORDER_NAME then
table.insert(vNewBorder, nId)
end
nId = EgtGetNext( nId)
@@ -64,7 +64,7 @@ local vIdEdges = {}
nId = EgtGetFirstInGroup( nCurrLayerId)
while nId do
-- verifico che sia una Curva e che sia di Bordo
if EgtGetName( nId) == EDGES_NAME then
if EgtGetName( nId) == MCH_TRIMMING.EDGES_NAME then
table.insert( vIdEdges, nId)
end
nId = EgtGetNext( nId)
@@ -99,19 +99,19 @@ if nLayerEditSyncId == nil or nLayerEditSyncId == GDB_ID.NULL then
end
-- recupero le linee di Sync selezionate e le riporto al colore standard
local vSyncSel = EgtGetInfo(nCurrLayerId, KEY_SYNC_LINES_REGOLARIZATION, "vs")
local vSyncSel = EgtGetInfo(nCurrLayerId, MCH_TRIMMING.KEY_SYNC_LINES_REGOLARIZATION, "vs")
-- verifico che siano selezionate due curve nel layer delle Sync Lines
if #vSyncSel == 2 then
for i,nId in pairs( vSyncSel) do
if EgtGetName(nId) == SYNC_LINE_NAME then
if EgtGetName(nId) == MCH_TRIMMING.SYNC_LINE_NAME then
EgtSetColor(nId, SYNC_LINE_COLOR)
end
end
end
-- cancello l'info nel layer di trimming
EgtRemoveInfo(nCurrLayerId, KEY_SYNC_LINES_REGOLARIZATION)
EgtRemoveInfo(nCurrLayerId, MCH_TRIMMING.KEY_SYNC_LINES_REGOLARIZATION)
-- sposto i nuovi bordi e superficie e cambio colori e nomi
EgtRelocate(nNewSurf, nCurrLayerId)
@@ -122,9 +122,9 @@ EgtSetColor( nNewSurf, RULED_BZ_COLOR)
EgtSetColor(vNewBorder[1],EDGES_COLOR)
EgtSetColor(vNewBorder[2],EDGES_COLOR)
EgtSetName(nNewSurf, RULED_BZ_NAME)
EgtSetName(vNewBorder[1],EDGES_NAME)
EgtSetName(vNewBorder[2],EDGES_NAME)
EgtSetName(nNewSurf, MCH_TRIMMING.RULED_BZ_NAME)
EgtSetName(vNewBorder[1],MCH_TRIMMING.EDGES_NAME)
EgtSetName(vNewBorder[2],MCH_TRIMMING.EDGES_NAME)
-- scorro le curve di edit e guardo a che parametro corrispondono
-- richiedo a quel parametro l'isocurva sulla superficie nuova
@@ -142,7 +142,7 @@ if nLayerEditSyncId ~= nil and nLayerEditSyncId ~= GDB_ID.NULL then
ptStart = EgtSurfBezierGetPoint(nNewSurf, dU, 0.)
local ptEnd = EgtSurfBezierGetPoint(nNewSurf, dU, 1.)
local nNewIso = EgtLine( nEditSurfLayer, ptStart, ptEnd)
EgtSetName(nNewIso, SYNC_LINE_NAME)
EgtSetName(nNewIso, MCH_TRIMMING.SYNC_LINE_NAME)
nId = EgtGetNext(nId)
end
EgtEmptyGroup( nLayerEditSyncId)
+1 -1
View File
@@ -40,7 +40,7 @@ local vIdEdges = {}
nId = EgtGetFirstInGroup( nTrimmingLayerId)
while nId do
-- verifico che sia una Curva e che sia di Bordo
if EgtGetName( nId) == EDGES_NAME then
if EgtGetName( nId) == MCH_TRIMMING.EDGES_NAME then
-- Verifico che sia una Curva
local nType = EgtGetType( nId)
if nType ~= GDB_TY.CRV_LINE and nType ~= GDB_TY.CRV_ARC and nType ~= GDB_TY.CRV_BEZ and nType ~= GDB_TY.CRV_COMPO then
+7 -7
View File
@@ -38,9 +38,9 @@ if not nLayerEditId or nLayerEditId == GDB_ID.NULL then
end
-- Recupero le Info
local dLinTol = EgtGetInfo( nCurrLayerId, KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, KEY_SURF_ANG_TOL, 'd')
local dLinTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_ANG_TOL, 'd')
local bOk = ( dLinTol ~= nil and dAngTol ~= nil and dAngFaceTol ~= nil)
if not bOk then
EgtOutBox( ERROR_EDIT_CURVE .. 'No Trimming Machining created', 'Error', 'ERROR', 'OK')
@@ -58,7 +58,7 @@ while nId do
local nObjId = EgtGetFirstInGroup( nId)
while nObjId do
local sName = EgtGetName( nObjId)
if sName ~= SELECTION_SURF_NAME then EgtSetStatus( nObjId, GDB_ST.OFF) end
if sName ~= MCH_TRIMMING.SELECTION_SURF_NAME then EgtSetStatus( nObjId, GDB_ST.OFF) end
nObjId = EgtGetNext( nObjId)
end
end
@@ -71,9 +71,9 @@ local nId = EgtGetFirstInGroup( nCurrLayerId)
local vnBzCrvId = {}
while nId do
local sName = EgtGetName( nId)
if sName == EDGES_NAME then table.insert( vnBzCrvId, EgtCopyGlob( nId, nLayerEditId))
if sName == MCH_TRIMMING.EDGES_NAME then table.insert( vnBzCrvId, EgtCopyGlob( nId, nLayerEditId))
-- Rendo Visibili eventuali Superfici di Selezione
elseif sName == SELECTION_SURF_NAME then EgtSetStatus( nId, GDB_ST.ON) end
elseif sName == MCH_TRIMMING.SELECTION_SURF_NAME then EgtSetStatus( nId, GDB_ST.ON) end
nId = EgtGetNext( nId)
end
-- Se non ho trovato curve, errore
@@ -126,7 +126,7 @@ while nId do
if nId < nFirstId then
table.insert( vIdToErase, nId)
else
bOk = EgtSetColor( nId, EDGES_COLOR) and EgtSetName( nId, EDGES_NAME)
bOk = EgtSetColor( nId, EDGES_COLOR) and EgtSetName( nId, MCH_TRIMMING.EDGES_NAME)
if not bOk then
EgtOutBox( ERROR_EDIT_CURVE .. 'Assign Raw Edges Properties failed', 'Error', 'ERROR', 'OK')
EgtSetStatus( nCurrLayerId, GDB_ST.ON)
+20 -20
View File
@@ -18,9 +18,9 @@ if not GlobVar.IsTrimmingLayer( nCurrLayerId) then
return
end
-- Recupero le Info
local dLinTol = EgtGetInfo( nCurrLayerId, KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, KEY_SURF_ANG_TOL, 'd')
local dLinTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_ANG_TOL, 'd')
local bOk = ( dLinTol ~= nil and dAngTol ~= nil and dAngFaceTol ~= nil)
if not bOk then
EgtOutBox( ERROR_ORIENTING_CURVES .. 'No Trimming Machining created', 'Error', 'ERROR', 'OK')
@@ -39,7 +39,7 @@ local vIdEdges = {}
nId = EgtGetFirstInGroup( nCurrLayerId)
while nId do
-- verifico che sia una Curva e che sia di Bordo
if EgtGetName( nId) == EDGES_NAME then
if EgtGetName( nId) == MCH_TRIMMING.EDGES_NAME then
-- Verifico che sia una Curva
local nType = EgtGetType( nId)
if nType ~= GDB_TY.CRV_LINE and nType ~= GDB_TY.CRV_ARC and nType ~= GDB_TY.CRV_BEZ and nType ~= GDB_TY.CRV_COMPO then
@@ -71,7 +71,7 @@ if bOk then
bOk = false
else
local sName = EgtGetName( nId)
if sName == EDGES_NAME then nBorderMainId = nId
if sName == MCH_TRIMMING.EDGES_NAME then nBorderMainId = nId
elseif nFirstSyncLineId == GDB_ID.NULL then nFirstSyncLineId = nId
else nSecondSyncLineId = nId end
end
@@ -105,16 +105,16 @@ if not nLayerSynEditId then nLayerSynEditId = GDB_ID.NULL end
-- -- Recupero le Informazioni di Orienting Curves utilizzate precedentemente
-- local dThetaStart = ORIENTING_LINES_THETA_START
-- local dStoredThetaStart = EgtGetInfo( nCurrLayerId, KEY_ORIENTING_THETA_START, 'd')
-- local dStoredThetaStart = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ORIENTING_THETA_START, 'd')
-- if dStoredThetaStart ~= nil then dThetaStart = dStoredThetaStart end
-- local dPhiStart = ORIENTING_LINES_PHI_START
-- local dStoredPhiStart = EgtGetInfo( nCurrLayerId, KEY_ORIENTING_PHI_START, 'd')
-- local dStoredPhiStart = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ORIENTING_PHI_START, 'd')
-- if dStoredPhiStart ~= nil then dPhiStart = dStoredPhiStart end
-- local dThetaEnd = ORIENTING_LINES_THETA_END
-- local dStoredThetaEnd = EgtGetInfo( nCurrLayerId, KEY_ORIENTING_THETA_END, 'd')
-- local dStoredThetaEnd = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ORIENTING_THETA_END, 'd')
-- if dStoredThetaEnd ~= nil then dThetaEnd = dStoredThetaEnd end
-- local dPhiEnd = ORIENTING_LINES_PHI_END
-- local dStoredPhiEnd = EgtGetInfo( nCurrLayerId, KEY_ORIENTING_PHI_END, 'd')
-- local dStoredPhiEnd = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ORIENTING_PHI_END, 'd')
-- if dStoredPhiEnd ~= nil then dPhiEnd = dStoredPhiEnd end
--
@@ -130,10 +130,10 @@ local dLenS, dThetaStart, dPhiStart = SphericalFromVector( vtFirstDir)
local dLenE, dThetaEnd, dPhiEnd = SphericalFromVector( vtSecondDir)
local dStartLen = ORIENTING_LINES_START_LEN
local dStoredStartLen = EgtGetInfo( nCurrLayerId, KEY_ORIENTING_LINES_START_LEN, 'd')
local dStoredStartLen = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ORIENTING_LINES_START_LEN, 'd')
if dStoredStartLen ~= nil then dStartLen = dStoredStartLen end
local dEndLen = ORIENTING_LINES_END_LEN
local dStoredEndLen = EgtGetInfo( nCurrLayerId, KEY_ORIENTING_LINES_END_LEN, 'd')
local dStoredEndLen = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ORIENTING_LINES_END_LEN, 'd')
if dStoredEndLen ~= nil then dEndLen = dStoredEndLen end
-- Chiedo i Parametri all'Utente
local vsVal = EgtDialogBox( 'Orienting Curves', { 'Vertical Start Angle [0°-180°]', EgtNumToString( dThetaStart)},
@@ -156,21 +156,21 @@ dStartLen = tonumber( vsVal[5])
dEndLen = tonumber( vsVal[6])
local bShorterSide = true
if vsVal[7] == "0" then bShorterSide = false end
EgtSetInfo( nCurrLayerId, KEY_ORIENTING_THETA_START, dThetaStart)
EgtSetInfo( nCurrLayerId, KEY_ORIENTING_PHI_START, dPhiStart)
EgtSetInfo( nCurrLayerId, KEY_ORIENTING_THETA_END, dThetaEnd)
EgtSetInfo( nCurrLayerId, KEY_ORIENTING_PHI_END, dPhiEnd)
EgtSetInfo( nCurrLayerId, KEY_ORIENTING_LINES_START_LEN, dStartLen)
EgtSetInfo( nCurrLayerId, KEY_ORIENTING_LINES_END_LEN, dEndLen)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ORIENTING_THETA_START, dThetaStart)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ORIENTING_PHI_START, dPhiStart)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ORIENTING_THETA_END, dThetaEnd)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ORIENTING_PHI_END, dPhiEnd)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ORIENTING_LINES_START_LEN, dStartLen)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ORIENTING_LINES_END_LEN, dEndLen)
local sInfoBorder = EgtGetInfo( nMainEdgeId, KEY_BORDER_ORDER)
local sInfoBorder = EgtGetInfo( nMainEdgeId, MCH_TRIMMING.KEY_BORDER_ORDER)
if sInfoBorder == nil then
EgtOutBox( ORIENTING_LINES_END_LEN .. 'Error : Borders order has not been established', 'Error', 'ERROR', 'OK')
EgtErase( nLayerEditOrientingId)
EgtSetCurrPartLayer( nCurrPartId, nCurrLayerId)
return
end
local bMainIsFirstBorder = (sInfoBorder == KEY_FIRST_BORDER)
local bMainIsFirstBorder = (sInfoBorder == MCH_TRIMMING.KEY_FIRST_BORDER)
-- Recupero le Curve di Orienting
local nInterpStartId, nStartId, nEndId, nInterpEndId
@@ -195,7 +195,7 @@ nId = EgtGetFirstInGroup( nLayerEditOrientingId)
while nId do
if nId == nInterpStartId or nId == nStartId or nId == nEndId or nId == nInterpEndId then EgtSetColor( nId, SpecialLineColor)
else EgtSetColor( nId, LineColor) end
EgtSetName( nId, ORIENTATION_LINE_NAME)
EgtSetName( nId, MCH_TRIMMING.ORIENTATION_LINE_NAME)
if bInvert then EgtInvertCurve(nId) end
nId = EgtGetNext( nId)
end
+13 -13
View File
@@ -18,9 +18,9 @@ if not GlobVar.IsTrimmingLayer( nCurrLayerId) then
return
end
-- Recupero le Info
local dLinTol = EgtGetInfo( nCurrLayerId, KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, KEY_SURF_ANG_TOL, 'd')
local dLinTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_ANG_TOL, 'd')
local bOk = ( dLinTol ~= nil and dAngTol ~= nil and dAngFaceTol ~= nil)
if not bOk then
EgtOutBox( ERROR_EDIT_SYNC_CURVES .. 'No Trimming Machining created', 'Error', 'ERROR', 'OK')
@@ -48,7 +48,7 @@ local vIdEdges = {}
nId = EgtGetFirstInGroup( nCurrLayerId)
while nId do
-- verifico che sia una Curva e che sia di Bordo
if EgtGetName( nId) == EDGES_NAME then
if EgtGetName( nId) == MCH_TRIMMING.EDGES_NAME then
-- Verifico che sia una Curva
local nType = EgtGetType( nId)
if nType ~= GDB_TY.CRV_LINE and nType ~= GDB_TY.CRV_ARC and nType ~= GDB_TY.CRV_BEZ and nType ~= GDB_TY.CRV_COMPO then
@@ -68,9 +68,9 @@ if #vIdEdges ~= 2 then
end
-- 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')
local nSyncLinesNumber = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SYNC_LINES_NUMBER, 'i')
local bShowOnCorners = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SYNC_LINES_SHOW_ON_CORNERS, 'b')
local dSyncLinesAngTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.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
@@ -86,13 +86,13 @@ end
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)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SYNC_LINES_NUMBER, nSyncLinesNumber)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SYNC_LINES_SHOW_ON_CORNERS, bShowOnCorners)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SYNC_LINES_NUMBER_ANG_TOL, dSyncLinesAngTol)
-- setto l'informazione sull'ordine dei bordi
EgtSetInfo( vIdEdges[1], KEY_BORDER_ORDER, KEY_FIRST_BORDER)
EgtSetInfo( vIdEdges[2], KEY_BORDER_ORDER, KEY_SECOND_BORDER)
EgtSetInfo( vIdEdges[1], MCH_TRIMMING.KEY_BORDER_ORDER, MCH_TRIMMING.KEY_FIRST_BORDER)
EgtSetInfo( vIdEdges[2], MCH_TRIMMING.KEY_BORDER_ORDER, MCH_TRIMMING.KEY_SECOND_BORDER)
-- Recupero le Curve di Sincronizzazione
local nFirstId, nCount
@@ -109,7 +109,7 @@ nId = EgtGetFirstInGroup( nLayerEditSyncId)
while nId do
if nId >= nFirstId then
EgtSetColor( nId, SYNC_LINE_COLOR)
EgtSetName( nId, SYNC_LINE_NAME)
EgtSetName( nId, MCH_TRIMMING.SYNC_LINE_NAME)
end
nId = EgtGetNext( nId)
end
+2 -2
View File
@@ -40,7 +40,7 @@ if not bDelete then EgtSetCurrPartLayer( nCurrPartId, nLayerEditId) return end
local nId = EgtGetFirstInGroup( nCurrLayerId)
local vIdToErase = {}
while nId do
if EgtGetName( nId) == EDGES_NAME then table.insert( vIdToErase, nId) end
if EgtGetName( nId) == MCH_TRIMMING.EDGES_NAME then table.insert( vIdToErase, nId) end
nId = EgtGetNext( nId)
end
EgtErase( vIdToErase)
@@ -49,7 +49,7 @@ EgtErase( vIdToErase)
nId = EgtGetFirstInGroup( nLayerEditId)
local vIdToRelocate = {}
while nId do
EgtSetName( nId, EDGES_NAME)
EgtSetName( nId, MCH_TRIMMING.EDGES_NAME)
table.insert( vIdToRelocate, nId)
nId = EgtGetNext( nId)
end
+6 -6
View File
@@ -26,8 +26,8 @@ if ( not nLayerEditId or nLayerEditId == GDB_ID.NULL) then
end
-- Recupero le Info
local dEdgeLinTol = EgtGetInfo( nCurrLayerId, KEY_LIN_TOL_EDGES, 'd')
local dEdgeAngTol = EgtGetInfo( nCurrLayerId, KEY_ANG_TOL_EDGES, 'd')
local dEdgeLinTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL_EDGES, 'd')
local dEdgeAngTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL_EDGES, 'd')
local bOk = ( dEdgeLinTol ~= nil and dEdgeAngTol ~= nil)
if not bOk then
EgtOutBox( ERROR_EDIT_SYNC_CURVES .. 'No Trimming Machining created', 'Error', 'ERROR', 'OK')
@@ -53,7 +53,7 @@ local nId = EgtGetFirstInGroup( nCurrLayerId)
local vnBzCrvId = {}
while nId do
local sName = EgtGetName( nId)
if sName == EDGES_NAME then table.insert( vnBzCrvId, nId) end
if sName == MCH_TRIMMING.EDGES_NAME then table.insert( vnBzCrvId, nId) end
nId = EgtGetNext( nId)
end
if #vnBzCrvId ~= 2 then
@@ -81,16 +81,16 @@ EgtSetColor( nFirstSync, SYNC_LINE_INTERP_COLOR)
EgtSetColor( nSecondSync, SYNC_LINE_INTERP_COLOR)
-- salvo gli id come info nel layer
local vBoundarySyncIds = { nFirstSync, nSecondSync}
EgtSetInfo( nLayerEditId, KEY_BOUND_LINES_INTERPOLATION_IDS, vBoundarySyncIds)
EgtSetInfo( nLayerEditId, MCH_TRIMMING.KEY_BOUND_LINES_INTERPOLATION_IDS, vBoundarySyncIds)
if nFirstId ~= GDB_ID.NULL and nCount > 0 then
local vNewIds = {}
for i = 0, nCount do
EgtSetColor( nFirstId + i, SYNC_LINE_INTERP_COLOR)
EgtSetName( nFirstId + i, SYNC_LINE_NAME)
EgtSetName( nFirstId + i, MCH_TRIMMING.SYNC_LINE_NAME)
table.insert( vNewIds, nFirstId + i)
end
-- Memorizzo gli Id delle curve inserite
EgtSetInfo( nLayerEditId, KEY_SYNC_LINES_INTERPOLATION_IDS, vNewIds)
EgtSetInfo( nLayerEditId, MCH_TRIMMING.KEY_SYNC_LINES_INTERPOLATION_IDS, vNewIds)
end
-- Metto il Focus sul Layer di Sincronizzazione delle curve
+3 -6
View File
@@ -35,12 +35,9 @@ EgtSetCurrPartLayer( nCurrPartId, nCurrLayerId)
local dLinTol = tonumber( vsVal[1])
local dAngTol = tonumber( vsVal[2])
local dAngFaceTol = tonumber( vsVal[3])
KEY_LIN_TOL = 'LinTol'
KEY_ANG_TOL = 'AngTol'
KEY_SURF_ANG_TOL = 'SurfAngTol'
bOk = EgtSetInfo( nCurrLayerId, KEY_LIN_TOL, dLinTol) and
EgtSetInfo( nCurrLayerId, KEY_ANG_TOL, dAngTol) and
EgtSetInfo( nCurrLayerId, KEY_SURF_ANG_TOL, dAngFaceTol)
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)
+9 -9
View File
@@ -27,9 +27,9 @@ if not GlobVar.IsTrimmingLayer( nCurrLayerId) then
return
end
-- Recupero le Info
local dLinTol = EgtGetInfo( nCurrLayerId, KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, KEY_SURF_ANG_TOL, 'd')
local dLinTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_ANG_TOL, 'd')
local bOk = ( dLinTol ~= nil and dAngTol ~= nil and dAngFaceTol ~= nil)
if not bOk then
EgtOutBox( ERROR_REDUCE_TWIST .. 'No Trimming Machining created', 'Error', 'ERROR', 'OK')
@@ -40,7 +40,7 @@ local vIdEdges = {}
local nId = EgtGetFirstInGroup( nCurrLayerId)
while nId do
-- verifico che sia una Curva e che sia di Bordo
if EgtGetName( nId) == EDGES_NAME then
if EgtGetName( nId) == MCH_TRIMMING.EDGES_NAME then
-- Verifico che sia una Curva
local nType = EgtGetType( nId)
if nType ~= GDB_TY.CRV_LINE and nType ~= GDB_TY.CRV_ARC and nType ~= GDB_TY.CRV_BEZ and nType ~= GDB_TY.CRV_COMPO then
@@ -85,7 +85,7 @@ local nSel = EgtGetFirstSelectedObj()
local vSyncSel = {}
while nSel do
-- verifico che sia una curva e che sia nel layer delle SyncLines
if EgtGetName( nSel) == SYNC_LINE_NAME then
if EgtGetName( nSel) == MCH_TRIMMING.SYNC_LINE_NAME then
table.insert(vSyncSel, nSel)
else
EgtOutBox( ERROR_REDUCE_TWIST .. 'Invalid Curve Selected', 'Error', 'ERROR', 'OK')
@@ -104,7 +104,7 @@ end
-- creo il layer e setto le info e colori
local nEditSurfLayer = GlobVar.CreateEditSurfLayer( nCurrPartId, nCurrLayerId)
local sInfoVal = EgtNumToString(vSyncSel[1])..","..EgtNumToString(vSyncSel[2])
EgtSetInfo(nCurrLayerId, KEY_SYNC_LINES_REGOLARIZATION, sInfoVal)
EgtSetInfo(nCurrLayerId, MCH_TRIMMING.KEY_SYNC_LINES_REGOLARIZATION, sInfoVal)
EgtSetColor(vSyncSel[1], EDIT_SURF_SYNC_COLOR)
EgtSetColor(vSyncSel[2], EDIT_SURF_SYNC_COLOR)
@@ -116,7 +116,7 @@ if nNewSurfId == nil or nNewSurfId == GDB_ID.NULL then
EgtErase(nEditSurfLayer)
return
end
EgtSetName(nNewSurfId,EDIT_SURF_NEWSURF_NAME)
EgtSetName(nNewSurfId,MCH_TRIMMING.EDIT_SURF_NEWSURF_NAME)
---- richiedo i bordi alla nuova superficie e li metto nel layer temporaneo della modifica alla superficie
local nCrv1 = EgtSurfBezierGetCurveU( nNewSurfId, 0., nEditSurfLayer)
@@ -125,8 +125,8 @@ local vIdNewEdges = {nCrv1, nCrv2}
EgtSetColor( vIdNewEdges[1], EDIT_SURF_BORDER_COLOR)
EgtSetColor( vIdNewEdges[2], EDIT_SURF_BORDER_COLOR)
EgtSetName( vIdNewEdges[1], EDIT_SURF_NEWBORDER_NAME)
EgtSetName( vIdNewEdges[2], EDIT_SURF_NEWBORDER_NAME)
EgtSetName( vIdNewEdges[1], MCH_TRIMMING.EDIT_SURF_NEWBORDER_NAME)
EgtSetName( vIdNewEdges[2], MCH_TRIMMING.EDIT_SURF_NEWBORDER_NAME)
-- nascondo i bordi e la superficie originale
EgtSetStatus( nSurf, GDB_ST.OFF)
+1 -1
View File
@@ -27,7 +27,7 @@ local vIdToErase = {}
local nId = EgtGetFirstInGroup( nCurrLayerId)
while nId do
local sName = EgtGetName( nId)
if sName == RULED_BZ_NAME then table.insert( vIdToErase, nId) end
if sName == MCH_TRIMMING.RULED_BZ_NAME then table.insert( vIdToErase, nId) end
nId = EgtGetNext( nId)
end
EgtErase( vIdToErase)
+1 -1
View File
@@ -44,7 +44,7 @@ EgtSetStatus( nCurrLayerId, GDB_ST.ON)
-- Imposto le Curve di Bordo come visibili
local nId = EgtGetFirstInGroup( nCurrLayerId)
while nId do
if EgtGetName( nId) == EDGES_NAME then EgtSetStatus( nId, GDB_ST.ON) end
if EgtGetName( nId) == MCH_TRIMMING.EDGES_NAME then EgtSetStatus( nId, GDB_ST.ON) end
nId = EgtGetNext( nId)
end
+2 -2
View File
@@ -31,11 +31,11 @@ local bRemove = EgtOutBox( 'Do you want to remove the last Interpolated Sync Lin
if not bRemove then return end
-- resetto il colore delle linee di sync che identificavano l'area di interpolazione
local vBoundarySyncIds = EgtGetInfo( nLayerEditId, KEY_BOUND_LINES_INTERPOLATION_IDS, 'vi')
local vBoundarySyncIds = EgtGetInfo( nLayerEditId, MCH_TRIMMING.KEY_BOUND_LINES_INTERPOLATION_IDS, 'vi')
if vBoundarySyncIds ~= nil and #vBoundarySyncIds ~= 0 then EgtSetColor( vBoundarySyncIds, SYNC_LINE_COLOR) end
-- Recupero le ultime Linee di Sincronizzazione aggiunte e le elimino
local vLastInterpSyncIds = EgtGetInfo( nLayerEditId, KEY_SYNC_LINES_INTERPOLATION_IDS, 'vi')
local vLastInterpSyncIds = EgtGetInfo( nLayerEditId, MCH_TRIMMING.KEY_SYNC_LINES_INTERPOLATION_IDS, 'vi')
if vLastInterpSyncIds ~= nil and #vLastInterpSyncIds ~= 0 then EgtErase( vLastInterpSyncIds) end
-- Metto il focus sul Layer di Edit delle curve di Sincronizzazione
+2 -2
View File
@@ -37,7 +37,7 @@ local vIdToErase = {}
nId = EgtGetFirstInGroup( nTrimmingLayer)
while nId do
local sName = EgtGetName( nId)
if sName ~= SELECTION_SURF_NAME then table.insert( vIdToErase, nId)
if sName ~= MCH_TRIMMING.SELECTION_SURF_NAME then table.insert( vIdToErase, nId)
else EgtSetStatus( nId, GDB_ST.ON) end
nId = EgtGetNext( nId)
end
@@ -54,7 +54,7 @@ local nLayerOriEnditId = GlobVar.GetCurrentEditOrientationCurvesLayer( nCurrPart
if nLayerOriEnditId ~= nil and nLayerOriEnditId ~= GDB_ID.NULL then EgtErase( nLayerOriEnditId) end
-- Recupero l'ultima(le ultime) Supercicie(i) aggiunta(e) e la(e) elimino
local vLastSurfIds = EgtGetInfo( nTrimmingLayer, KEY_SELECTION_LAST_IDS, 'vi')
local vLastSurfIds = EgtGetInfo( nTrimmingLayer, MCH_TRIMMING.KEY_SELECTION_LAST_IDS, 'vi')
if vLastSurfIds ~= nil and #vLastSurfIds ~= 0 then EgtErase( vLastSurfIds) end
-- Aggiorno la grafica
+4 -4
View File
@@ -34,7 +34,7 @@ local vIdEdges = {}
local nId = EgtGetFirstInGroup( nCurrLayerId)
while nId do
-- verifico che sia una Curva e che sia di Bordo
if EgtGetName( nId) == EDGES_NAME then
if EgtGetName( nId) == MCH_TRIMMING.EDGES_NAME then
table.insert( vIdEdges, nId)
end
nId = EgtGetNext( nId)
@@ -67,18 +67,18 @@ if nLayerEditSyncId == nil or nLayerEditSyncId == GDB_ID.NULL then
end
-- recupero le linee di Sync selezionate e le riporto al colore standard
local vSyncSel = EgtGetInfo(nCurrLayerId, KEY_SYNC_LINES_REGOLARIZATION, "vs")
local vSyncSel = EgtGetInfo(nCurrLayerId, MCH_TRIMMING.KEY_SYNC_LINES_REGOLARIZATION, "vs")
-- verifico che siano selezionate due curve nel layer delle Sync Lines
if #vSyncSel == 2 then
for i,nId in pairs( vSyncSel) do
if EgtGetName(nId) == SYNC_LINE_NAME then
if EgtGetName(nId) == MCH_TRIMMING.SYNC_LINE_NAME then
EgtSetColor(nId, SYNC_LINE_COLOR)
end
end
end
-- cancello l'info nel layer di trimming
EgtRemoveInfo(nCurrLayerId, KEY_SYNC_LINES_REGOLARIZATION)
EgtRemoveInfo(nCurrLayerId, MCH_TRIMMING.KEY_SYNC_LINES_REGOLARIZATION)
EgtDraw()
+28 -28
View File
@@ -32,12 +32,12 @@ end
-- Chiedo l'operazione da svolgere su tale superficie e ricavo i parametri inseriti
local dSize = STRIP_SIZE
local dStoredSize = EgtGetInfo( nCurrLayerId, KEY_SURF_BORDER_SIZE, 'd')
local dStoredSize = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_BORDER_SIZE, 'd')
if dStoredSize ~= nil then dSize = dStoredSize end
local dSizeTol = STRIP_SIZE_TOL
local dStoredSizeTol = EgtGetInfo( nCurrLayerId, KEY_SURF_BORDER_SIZE_TOL, 'd')
local dStoredSizeTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_BORDER_SIZE_TOL, 'd')
if dStoredSizeTol ~= nil then dSizeTol = dStoredSizeTol end
local nLastSelType = EgtGetInfo( nCurrLayerId, KEY_SELECTION_LAST_SELECTION_TYPE, 'i')
local nLastSelType = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SELECTION_LAST_SELECTION_TYPE, 'i')
local sLabels = { 'Insert Surface', 'Face Search', 'Surf Search'}
local sTypeDBSel
if nLastSelType ~= nil then
@@ -56,16 +56,16 @@ local vsVal = EgtDialogBox( 'Seletion', { 'Type', sTypeDBSel},
if not vsVal or #vsVal ~= 3 then return end
dSize = tonumber( vsVal[2])
dSizeTol = tonumber( vsVal[3])
EgtSetInfo( nCurrLayerId, KEY_SURF_BORDER_SIZE, dSize)
EgtSetInfo( nCurrLayerId, KEY_SURF_BORDER_SIZE_TOL, dSizeTol)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_BORDER_SIZE, dSize)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_BORDER_SIZE_TOL, dSizeTol)
for i, sLabel in ipairs( sLabels) do
if sLabel == vsVal[1] then EgtSetInfo( nCurrLayerId, KEY_SELECTION_LAST_SELECTION_TYPE, i) break end
if sLabel == vsVal[1] then EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SELECTION_LAST_SELECTION_TYPE, i) break end
end
-- Recupero le tolleranze impostate alla creazione del Layer di Trimming corrente
local dLinTol = EgtGetInfo( nCurrLayerId, KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, KEY_SURF_ANG_TOL, 'd')
local dLinTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_ANG_TOL, 'd')
local bOk = ( dLinTol ~= nil and dAngTol ~= nil and dAngFaceTol ~= nil)
if not bOk then
EgtOutBox( ERROR_SELECTION .. 'Not a valid Trimming Layer', 'Error', 'ERROR', 'OK')
@@ -88,7 +88,7 @@ local vIdToErase = {}
local nId = EgtGetFirstInGroup( nCurrLayerId)
while nId do
local sName = EgtGetName( nId)
if sName ~= SELECTION_SURF_NAME then table.insert( vIdToErase, nId)
if sName ~= MCH_TRIMMING.SELECTION_SURF_NAME then table.insert( vIdToErase, nId)
else EgtSetStatus( nId, GDB_ST.ON) end
nId = EgtGetNext( nId)
end
@@ -118,15 +118,15 @@ if vsVal[1] == 'Insert Surface' then
end
-- Dalle superfici già presenti nel Layer di selezione, rimuovo gli Id dei riferimenti ( per non duplicare superfici)
local vOldSelSurfId = {}
local nId = EgtGetFirstNameInGroup( nCurrLayerId, SELECTION_SURF_NAME)
local nId = EgtGetFirstNameInGroup( nCurrLayerId, MCH_TRIMMING.SELECTION_SURF_NAME)
while nId do
local nObjType = EgtGetType( nId)
if nObjType == GDB_TY.SRF_MESH or nObjType == GDB_TY.SRF_BEZ then
-- Se la superficie selezionata precedentemente ha come riferimento una superficie, ne memorizzo l'Id
local nRefSurfId = EgtGetInfo( nId, KEY_SELECTION_REF_SURF, 'i')
local nRefSurfId = EgtGetInfo( nId, MCH_TRIMMING.KEY_SELECTION_REF_SURF, 'i')
if nRefSurfId then table.insert( vOldSelSurfId, nRefSurfId) end
end
nId = EgtGetNextName( nId, SELECTION_SURF_NAME)
nId = EgtGetNextName( nId, MCH_TRIMMING.SELECTION_SURF_NAME)
end
local setToRemove = {}
for _, v in ipairs( vOldSelSurfId) do setToRemove[v] = true end
@@ -145,14 +145,14 @@ if vsVal[1] == 'Insert Surface' then
table.insert( vNewSurfIds, nInsertSurfId)
-- Assegno Colore e Nome
local bOk = EgtSetColor( nInsertSurfId, SELECTION_SURF_COLOR) and
EgtSetInfo( nInsertSurfId, KEY_SELECTION_REF_SURF, vSurfIds[i]) and
EgtSetName( nInsertSurfId, SELECTION_SURF_NAME)
EgtSetInfo( nInsertSurfId, MCH_TRIMMING.KEY_SELECTION_REF_SURF, vSurfIds[i]) and
EgtSetName( nInsertSurfId, MCH_TRIMMING.SELECTION_SURF_NAME)
if not bOk then
EgtOutBox( ERROR_SELECTION .. 'Copying Surface failed', 'Error', 'ERROR', 'OK')
return
end
end
EgtSetInfo( nCurrLayerId, KEY_SELECTION_LAST_IDS, vNewSurfIds)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SELECTION_LAST_IDS, vNewSurfIds)
--------------------------------- Ricerca delle facce adiancenti --------------------------------
-- [Tolleranza angolare di superficie]
@@ -168,9 +168,9 @@ elseif vsVal[1] == 'Face Search' then
end
-- Assegno Colore, Info e Name
bOk = EgtSetColor( nInsertSurfId, SELECTION_SURF_COLOR) and
EgtSetInfo( nInsertSurfId, KEY_SELECTION_REF_SURF, nSelObjId) and
EgtSetName( nInsertSurfId, SELECTION_SURF_NAME) and
EgtSetInfo( nCurrLayerId, KEY_SELECTION_LAST_IDS, { nInsertSurfId})
EgtSetInfo( nInsertSurfId, MCH_TRIMMING.KEY_SELECTION_REF_SURF, nSelObjId) and
EgtSetName( nInsertSurfId, MCH_TRIMMING.SELECTION_SURF_NAME) and
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SELECTION_LAST_IDS, { nInsertSurfId})
-- Se invece è una Trimesh, recupero il primo triangolo selezionato
else
@@ -190,9 +190,9 @@ elseif vsVal[1] == 'Face Search' then
end
-- Assegno Colore, Info e Name
bOk = EgtSetColor( nInsertSurfId, SELECTION_SURF_COLOR) and
EgtSetInfo( nInsertSurfId, KEY_SELECTION_REF_SURF, nId) and
EgtSetName( nInsertSurfId, SELECTION_SURF_NAME) and
EgtSetInfo( nCurrLayerId, KEY_SELECTION_LAST_IDS, { nInsertSurfId})
EgtSetInfo( nInsertSurfId, MCH_TRIMMING.KEY_SELECTION_REF_SURF, nId) and
EgtSetName( nInsertSurfId, MCH_TRIMMING.SELECTION_SURF_NAME) and
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SELECTION_LAST_IDS, { nInsertSurfId})
end
if not bOk then
EgtOutBox( ERROR_SELECTION .. 'Copying Surface failed', 'Error', 'ERROR', 'OK')
@@ -229,15 +229,15 @@ elseif vsVal[1] == 'Surf Search' then
table.insert( vSelSurfId, nSelObjId)
-- Dalle superfici già presenti nel Layer di selezione, rimuovo gli Id dei riferimenti ( per non duplicare superfici)
local vOldSelSurfId = {}
local nId = EgtGetFirstNameInGroup( nCurrLayerId, SELECTION_SURF_NAME)
local nId = EgtGetFirstNameInGroup( nCurrLayerId, MCH_TRIMMING.SELECTION_SURF_NAME)
while nId do
local nObjType = EgtGetType( nId)
if nObjType == GDB_TY.SRF_MESH or nObjType == GDB_TY.SRF_BEZ then
-- Se la superficie selezionata precedentemente ha come riferimento una superficie, ne memorizzo l'Id
local nRefSurfId = EgtGetInfo( nId, KEY_SELECTION_REF_SURF, 'i')
local nRefSurfId = EgtGetInfo( nId, MCH_TRIMMING.KEY_SELECTION_REF_SURF, 'i')
if nRefSurfId then table.insert( vOldSelSurfId, nRefSurfId) end
end
nId = EgtGetNextName( nId, SELECTION_SURF_NAME)
nId = EgtGetNextName( nId, MCH_TRIMMING.SELECTION_SURF_NAME)
end
local setToRemove = {}
for _, v in ipairs( vOldSelSurfId) do setToRemove[v] = true end
@@ -255,14 +255,14 @@ elseif vsVal[1] == 'Surf Search' then
end
table.insert( vNewInsertedSrfIds, nInsertSurfId)
bOk = EgtSetColor( nInsertSurfId, SELECTION_SURF_COLOR) and
EgtSetInfo( nInsertSurfId, KEY_SELECTION_REF_SURF, vSurfIds[nSurf]) and
EgtSetName( nInsertSurfId, SELECTION_SURF_NAME)
EgtSetInfo( nInsertSurfId, MCH_TRIMMING.KEY_SELECTION_REF_SURF, vSurfIds[nSurf]) and
EgtSetName( nInsertSurfId, MCH_TRIMMING.SELECTION_SURF_NAME)
if not bOk then
EgtOutBox( ERROR_SELECTION .. 'Copying Surface failed', 'Error', 'ERROR', 'OK')
return
end
end
EgtSetInfo( nCurrLayerId, KEY_SELECTION_LAST_IDS, vNewInsertedSrfIds)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SELECTION_LAST_IDS, vNewInsertedSrfIds)
end
+17 -17
View File
@@ -31,9 +31,9 @@ if nType ~= GDB_TY.SRF_BEZ and nType ~= GDB_TY.SRF_MESH then
end
-- Recupero le tolleranze impostate alla creazione del Layer di Trimming corrente
local dLinTol = EgtGetInfo( nCurrLayerId, KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, KEY_SURF_ANG_TOL, 'd')
local dLinTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL, 'd')
local dAngTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL, 'd')
local dAngFaceTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_ANG_TOL, 'd')
local bOk = ( dLinTol ~= nil and dAngTol ~= nil and dAngFaceTol ~= nil)
if not bOk then
EgtOutBox( ERROR_SELECTION .. 'Not a valid Trimming Layer', 'Error', 'ERROR', 'OK')
@@ -42,12 +42,12 @@ end
-- Chiedo l'operazione da svolgere su tale superficie e ricavo i parametri inseriti
local dSize = STRIP_SIZE
local dStoredSize = EgtGetInfo( nCurrLayerId, KEY_SURF_BORDER_SIZE, 'd')
local dStoredSize = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_BORDER_SIZE, 'd')
if dStoredSize ~= nil then dSize = dStoredSize end
local dSizeTol = STRIP_SIZE_TOL
local dStoredSizeTol = EgtGetInfo( nCurrLayerId, KEY_SURF_BORDER_SIZE_TOL, 'd')
local dStoredSizeTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_BORDER_SIZE_TOL, 'd')
if dStoredSizeTol ~= nil then dSizeTol = dStoredSizeTol end
local nLastSelType = EgtGetInfo( nCurrLayerId, KEY_SELECTION_LAST_SELECTION_TYPE, 'i')
local nLastSelType = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SELECTION_LAST_SELECTION_TYPE, 'i')
local sLabels = { 'Insert Surface', 'Face Search', 'Surf Search'}
local sTypeDBSel
if nLastSelType ~= nil then
@@ -63,9 +63,9 @@ end
local dLinTolForEdges = dLinTol
local dAngTolForEdges = dAngTol
local dThickForEdges = EDGE_THICK
local dEdgeLinTol = EgtGetInfo( nCurrLayerId, KEY_LIN_TOL_EDGES, 'd')
local dEdgeAngTol = EgtGetInfo( nCurrLayerId, KEY_ANG_TOL_EDGES, 'd')
local dEdgeThick = EgtGetInfo( nCurrLayerId, KEY_THICK_EDGES, 'd')
local dEdgeLinTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL_EDGES, 'd')
local dEdgeAngTol = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL_EDGES, 'd')
local dEdgeThick = EgtGetInfo( nCurrLayerId, MCH_TRIMMING.KEY_THICK_EDGES, 'd')
if dEdgeLinTol then dLinTolForEdges = dEdgeLinTol end
if dEdgeAngTol then dAngTolForEdges = dEdgeAngTol end
if dEdgeThick then dThickForEdges = dEdgeThick end
@@ -78,17 +78,17 @@ local vsVal = EgtDialogBox( 'Seletion', { 'Type', sTypeDBSel},
if not vsVal or #vsVal ~= 6 then return end
dSize = tonumber( vsVal[2])
dSizeTol = tonumber( vsVal[3])
EgtSetInfo( nCurrLayerId, KEY_SURF_BORDER_SIZE, dSize)
EgtSetInfo( nCurrLayerId, KEY_SURF_BORDER_SIZE_TOL, dSizeTol)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_BORDER_SIZE, dSize)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SURF_BORDER_SIZE_TOL, dSizeTol)
for i, sLabel in ipairs( sLabels) do
if sLabel == vsVal[1] then EgtSetInfo( nCurrLayerId, KEY_SELECTION_LAST_SELECTION_TYPE, i) break end
if sLabel == vsVal[1] then EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_SELECTION_LAST_SELECTION_TYPE, i) break end
end
dEdgeLinTol = tonumber( vsVal[4])
dEdgeAngTol = tonumber( vsVal[5])
dEdgeThick = tonumber( vsVal[6])
EgtSetInfo( nCurrLayerId, KEY_LIN_TOL_EDGES, dEdgeLinTol)
EgtSetInfo( nCurrLayerId, KEY_ANG_TOL_EDGES, dEdgeAngTol)
EgtSetInfo( nCurrLayerId, KEY_THICK_EDGES, dEdgeThick)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LIN_TOL_EDGES, dEdgeLinTol)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_ANG_TOL_EDGES, dEdgeAngTol)
EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_THICK_EDGES, dEdgeThick)
-- Rendo invisibili gli altri Layer di Trimmatura e tutti i Layer Temporanei
-- NB. Il focus va sul Layer corrente
@@ -189,7 +189,7 @@ else
bOk = bOk and nFirstId ~= nil and nFirstId ~= GDB_ID.NULL and nCount > 0
if bOk then
for i = 0, nCount - 1 do
EgtSetName( i + nFirstId, EDGE_HOLE_NAME)
EgtSetName( i + nFirstId, MCH_TRIMMING.EDGE_HOLE_NAME)
EgtSetColor( i + nFirstId, EDGES_COLOR)
end
end
@@ -198,7 +198,7 @@ end
local nId = EgtGetFirstInGroup( nCurrLayerId)
local vIdToErase = {}
while nId do
if EgtGetName( nId) ~= EDGE_HOLE_NAME then table.insert( vIdToErase, nId) end
if EgtGetName( nId) ~= MCH_TRIMMING.EDGE_HOLE_NAME then table.insert( vIdToErase, nId) end
nId = EgtGetNext( nId)
end
EgtErase( vIdToErase)
+104 -102
View File
@@ -6,52 +6,52 @@ local TrimmingVar = {
bInit = false
}
-- *** ============================== COSTANTI ============================== ***
-- -- *** ============================== COSTANTI ============================== ***
-- Chiavi Info Part/Layers
KEY_LIN_TOL = 'LinTol'
KEY_LIN_TOL_EDGES = 'LinTolEdges' -- Edges Extraction (modify)
KEY_ANG_TOL_EDGES = 'AngTolEdges' -- Edges Extraction (modify)
KEY_THICK_EDGES = 'ThickEdges' -- Edges Extraction (modify)
KEY_ANG_TOL = 'AngTol'
KEY_SURF_ANG_TOL = 'SurfAngTol'
KEY_SURF_BORDER_SIZE = 'BorderSize' -- Selection
KEY_SURF_BORDER_SIZE_TOL = 'BorderSizeTol' -- Selection
KEY_SELECTION_REF_SURF = 'nRefSurf' -- Selection
KEY_SELECTION_LAST_SELECTION_TYPE = 'LastSelType' -- Selection (type)
KEY_SELECTION_LAST_IDS = 'vSelLastIds' -- Undo Selection
KEY_REF_TRIMMING_LAYER = 'nRefTrimmingLayer' -- Trimming Layer Ref
KEY_AUTO_TRIMMING = 'AutoTrim' -- AutoTrimming
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
KEY_SYNC_LINES_INTERPOLATION_IDS = 'SyncLineInterIds' -- Sync Lines Interpolation Ids
KEY_BOUND_LINES_INTERPOLATION_IDS = 'BoundSyncLineInterIds' -- Sync Lines Interpolation Ids
KEY_ORIENTING_LINES_START_LEN = 'OrientingLinesStartLen' -- Lunghezza Interpolazione Orienting Lines Iniziale
KEY_ORIENTING_LINES_END_LEN = 'OrientingLinesEndLen' -- Lunghezza Interpolazione Orienting Lines Finale
KEY_ORIENTING_THETA_START = 'OrientingThetaStart' -- Angolo Theta Start per Orienting Lines
KEY_ORIENTING_PHI_START = 'OrientingPhiStart' -- Angolo Phi Start per Orienting Lines
KEY_ORIENTING_THETA_END = 'OrientingThetaEnd' -- Angolo Theta End per Orienting Lines
KEY_ORIENTING_PHI_END = 'OrientingPhiEnd' -- Angolo Phi End per Orienting Lines
KEY_SYNC_LINES_REGOLARIZATION = 'SyncCurvesRef' -- curve di inizio e fine della zona da regolarizzare
-- -- Chiavi Info Part/Layers
-- MCH_TRIMMING.KEY_LIN_TOL = 'LinTol'
-- MCH_TRIMMING.KEY_LIN_TOL_EDGES = 'LinTolEdges' -- Edges Extraction (modify)
-- MCH_TRIMMING.KEY_ANG_TOL_EDGES = 'AngTolEdges' -- Edges Extraction (modify)
-- MCH_TRIMMING.KEY_THICK_EDGES = 'ThickEdges' -- Edges Extraction (modify)
-- MCH_TRIMMING.KEY_ANG_TOL = 'AngTol'
-- MCH_TRIMMING.KEY_SURF_ANG_TOL = 'SurfAngTol'
-- MCH_TRIMMING.KEY_SURF_BORDER_SIZE = 'BorderSize' -- Selection
-- MCH_TRIMMING.KEY_SURF_BORDER_SIZE_TOL = 'BorderSizeTol' -- Selection
-- MCH_TRIMMING.KEY_SELECTION_REF_SURF = 'nRefSurf' -- Selection
-- MCH_TRIMMING.KEY_SELECTION_LAST_SELECTION_TYPE = 'LastSelType' -- Selection (type)
-- MCH_TRIMMING.KEY_SELECTION_LAST_IDS = 'vSelLastIds' -- Undo Selection
-- MCH_TRIMMING.KEY_REF_TRIMMING_LAYER = 'nRefTrimmingLayer' -- Trimming Layer Ref
-- MCH_TRIMMING.KEY_AUTO_TRIMMING = 'AutoTrim' -- AutoTrimming
-- MCH_TRIMMING.KEY_SYNC_LINES_NUMBER = 'SkimmingFactor' -- Skimming Sync Lines
-- MCH_TRIMMING.KEY_SYNC_LINES_SHOW_ON_CORNERS = 'SyncLineShowOnCorners' -- Skimming Sync Lines Show on Corners
-- MCH_TRIMMING.KEY_SYNC_LINES_NUMBER_ANG_TOL = 'SkimmingFactorAngTol' -- Skimming Sync Lines Tol
-- MCH_TRIMMING.KEY_SYNC_LINES_INTERPOLATION_IDS = 'SyncLineInterIds' -- Sync Lines Interpolation Ids
-- MCH_TRIMMING.KEY_BOUND_LINES_INTERPOLATION_IDS = 'BoundSyncLineInterIds' -- Sync Lines Interpolation Ids
-- MCH_TRIMMING.KEY_ORIENTING_LINES_START_LEN = 'OrientingLinesStartLen' -- Lunghezza Interpolazione Orienting Lines Iniziale
-- MCH_TRIMMING.KEY_ORIENTING_LINES_END_LEN = 'OrientingLinesEndLen' -- Lunghezza Interpolazione Orienting Lines Finale
-- MCH_TRIMMING.KEY_ORIENTING_THETA_START = 'OrientingThetaStart' -- Angolo Theta Start per Orienting Lines
-- MCH_TRIMMING.KEY_ORIENTING_PHI_START = 'OrientingPhiStart' -- Angolo Phi Start per Orienting Lines
-- MCH_TRIMMING.KEY_ORIENTING_THETA_END = 'OrientingThetaEnd' -- Angolo Theta End per Orienting Lines
-- MCH_TRIMMING.KEY_ORIENTING_PHI_END = 'OrientingPhiEnd' -- Angolo Phi End per Orienting Lines
-- MCH_TRIMMING.KEY_SYNC_LINES_REGOLARIZATION = 'SyncCurvesRef' -- curve di inizio e fine della zona da regolarizzare
-- Chive per Tipologia di Layer
KEY_LAYER_TYPE = 'Trimming_Layer_Type'
KEY_LAYER_SELECTION = 'Trimming_Selection_Layer'
KEY_LAYER_SELECTION_HOLES = 'Trimming_Selection_Holes_Layer'
KEY_LAYER_EDIT_CURVES = 'Trimming_EditCurves_Layer'
KEY_LAYER_SYNC_CURVES = 'Trimming_SyncCurves_Layer'
KEY_LAYER_ORIENTATION_CURVES = 'Trimming_OrientationCurves_Layer'
KEY_LAYER_EDIT_SURF = 'Trimming_EditSurf_Layer'
-- -- Chive per Tipologia di Layer
-- MCH_TRIMMING.KEY_LAYER_TYPE = 'Trimming_Layer_Type'
-- MCH_TRIMMING.KEY_LAYER_SELECTION = 'Trimming_Selection_Layer'
-- MCH_TRIMMING.KEY_LAYER_SELECTION_HOLES = 'Trimming_Selection_Holes_Layer'
-- MCH_TRIMMING.KEY_LAYER_EDIT_CURVES = 'Trimming_EditCurves_Layer'
-- MCH_TRIMMING.KEY_LAYER_SYNC_CURVES = 'Trimming_SyncCurves_Layer'
-- MCH_TRIMMING.KEY_LAYER_ORIENTATION_CURVES = 'Trimming_OrientationCurves_Layer'
-- MCH_TRIMMING.KEY_LAYER_EDIT_SURF = 'Trimming_EditSurf_Layer'
-- Generali
PART_NAME = 'Trimming'
LAYER_NAME_SELECTION = 'Trimming'
LAYER_NAME_SELECTION_HOLES = 'TrimmingHoles'
LAYER_NAME_EDIT_CURVES = 'EditCurves'
LAYER_NAME_SYNC_CURVES = 'SyncCurves'
LAYER_NAME_ORIENTATION_CURVES = 'OrientationCurves'
LAYER_NAME_EDIT_SURF = 'EditSurf'
-- -- Generali
-- MCH_TRIMMING.PART_NAME = 'Trimming'
-- MCH_TRIMMING.LAYER_NAME_SELECTION = 'Trimming'
-- MCH_TRIMMING.LAYER_NAME_SELECTION_HOLES = 'TrimmingHoles'
-- MCH_TRIMMING.LAYER_NAME_EDIT_CURVES = 'EditCurves'
-- MCH_TRIMMING.LAYER_NAME_SYNC_CURVES = 'SyncCurves'
-- MCH_TRIMMING.LAYER_NAME_ORIENTATION_CURVES = 'OrientationCurves'
-- MCH_TRIMMING.LAYER_NAME_EDIT_SURF = 'EditSurf'
ANG_FACE_TOL = 30.
ANG_TOL = 15.
LIN_TOL = 0.2
@@ -67,46 +67,46 @@ ORIENTING_LINES_PHI_END = 90.0
ORIENTING_LINES_START_LEN = 10.0
ORIENTING_LINES_END_LEN = 10.0
-- Selezione delle superfici --
SELECTION_SURF_NAME = 'Selected_Surf'
SELECTION_TYPE = {
INSERT = 'Insert',
FACE_SEARCH = 'Search Faces',
SURF_SEARCH = 'Search Surfaces'
}
SELECTION_NO_FACE = -1
-- -- Selezione delle superfici --
-- MCH_TRIMMING.SELECTION_SURF_NAME = 'Selected_Surf'
-- MCH_TRIMMING.SELECTION_TYPE = {
-- INSERT = 'Insert',
-- FACE_SEARCH = 'Search Faces',
-- SURF_SEARCH = 'Search Surfaces'
-- }
-- MCH_TRIMMING.SELECTION_NO_FACE = -1
SELECTION_SURF_COLOR = Color3d( 255, 255, 185)
-- Creazione dei bordi Bezier --
EDGES_NAME = 'Border'
EDGE_HOLE_NAME = 'ButtonHole'
-- -- Creazione dei bordi Bezier --
-- MCH_TRIMMING.EDGES_NAME = 'Border'
-- MCH_TRIMMING.EDGE_HOLE_NAME = 'ButtonHole'
EDGES_COLOR = Color3d( 0, 128, 255)
KEY_BORDER_ORDER = 'BorderOrder'
KEY_FIRST_BORDER = 'BorderV0'
KEY_SECOND_BORDER = 'BorderV1'
-- MCH_TRIMMING.KEY_BORDER_ORDER = 'BorderOrder'
-- MCH_TRIMMING.KEY_FIRST_BORDER = 'BorderV0'
-- MCH_TRIMMING.KEY_SECOND_BORDER = 'BorderV1'
-- Edit dei bordi di Bezier --
EDGES_EDIT_TYPE = {
AUTOMATIC = 'Automatic',
THICKNESS = 'Thickness'
}
-- -- Edit dei bordi di Bezier --
-- MCH_TRIMMING.EDGES_EDIT_TYPE = {
-- AUTOMATIC = 'Automatic',
-- THICKNESS = 'Thickness'
-- }
-- Creazione dei tratti di sincronizzazione
SYNC_LINE_NAME = 'SyncLines'
-- -- Creazione dei tratti di sincronizzazione
-- MCH_TRIMMING.SYNC_LINE_NAME = 'SyncLines'
SYNC_LINE_COLOR = Color3d( 0, 255, 0)
SYNC_LINE_INTERP_COLOR = Color3d( 255, 165, 0)
-- Creazione dei tratti di orientamento
ORIENTATION_LINE_NAME = 'OrientationLine'
-- -- Creazione dei tratti di orientamento
-- MCH_TRIMMING.ORIENTATION_LINE_NAME = 'OrientationLine'
ORIENTATION_LINE_COLOR = Color3d( 255, 255, 0)
-- Creazione della Superficie Ruled di Bezier
RULED_BZ_NAME = 'SurfBz'
-- -- Creazione della Superficie Ruled di Bezier
-- MCH_TRIMMING.RULED_BZ_NAME = 'SurfBz'
RULED_BZ_COLOR = Color3d( 37, 37, 37)
-- Edit della superficie di Bezier
EDIT_SURF_NEWSURF_NAME = 'NewSurf'
EDIT_SURF_NEWBORDER_NAME = 'NewBorder'
-- -- Edit della superficie di Bezier
-- MCH_TRIMMING.EDIT_SURF_NEWSURF_NAME = 'NewSurf'
-- MCH_TRIMMING.EDIT_SURF_NEWBORDER_NAME = 'NewBorder'
EDIT_SURF_COLOR = Color3d( 0,128,0)
EDIT_SURF_SYNC_COLOR = Color3d(255,0,128)
EDIT_SURF_BORDER_COLOR = Color3d(128,128,255)
@@ -171,11 +171,11 @@ function TrimmingVar.CreateTrimmingLayer( nCurrPartId, bForHoles)
if bOk then
TrimmingVar.IncrementCounter()
if not bForHoles then
local sName = LAYER_NAME_SELECTION .. ' ' .. TrimmingVar.nCounter
bOk = EgtSetName( nCurrLayerId, sName) and EgtSetInfo( nCurrLayerId, KEY_LAYER_TYPE, KEY_LAYER_SELECTION)
local sName = MCH_TRIMMING.LAYER_NAME_SELECTION .. ' ' .. TrimmingVar.nCounter
bOk = EgtSetName( nCurrLayerId, sName) and EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LAYER_TYPE, MCH_TRIMMING.KEY_LAYER_SELECTION)
else
local sName = LAYER_NAME_SELECTION_HOLES .. ' ' .. TrimmingVar.nCounter
bOk = EgtSetName( nCurrLayerId, sName) and EgtSetInfo( nCurrLayerId, KEY_LAYER_TYPE, KEY_LAYER_SELECTION_HOLES)
local sName = MCH_TRIMMING.LAYER_NAME_SELECTION_HOLES .. ' ' .. TrimmingVar.nCounter
bOk = EgtSetName( nCurrLayerId, sName) and EgtSetInfo( nCurrLayerId, MCH_TRIMMING.KEY_LAYER_TYPE, MCH_TRIMMING.KEY_LAYER_SELECTION_HOLES)
end
end
if not bOk then
@@ -189,8 +189,8 @@ end
-- Funzione per verificare se un Layer è un Layer di Trimmatura
function TrimmingVar.IsTrimmingLayer( nId)
-- Verifico che la chiave del gruppo sia coerente
local sLayerType = EgtGetInfo( nId, KEY_LAYER_TYPE, 's')
return ( sLayerType ~= nil and ( sLayerType == KEY_LAYER_SELECTION or sLayerType == KEY_LAYER_SELECTION_HOLES))
local sLayerType = EgtGetInfo( nId, MCH_TRIMMING.KEY_LAYER_TYPE, 's')
return ( sLayerType ~= nil and ( sLayerType == MCH_TRIMMING.KEY_LAYER_SELECTION or sLayerType == MCH_TRIMMING.KEY_LAYER_SELECTION_HOLES))
end
---------------------------------------------------------------------------
@@ -198,8 +198,8 @@ end
function TrimmingVar.IsTrimmingHoleLayer( nId)
-- Verifico che sia un Layer di Trimmatura
if not TrimmingVar.IsTrimmingLayer( nId) then return false end
local sLayerType = EgtGetInfo( nId, KEY_LAYER_TYPE, 's')
return ( sLayerType ~= nil and sLayerType == KEY_LAYER_SELECTION_HOLES)
local sLayerType = EgtGetInfo( nId, MCH_TRIMMING.KEY_LAYER_TYPE, 's')
return ( sLayerType ~= nil and sLayerType == MCH_TRIMMING.KEY_LAYER_SELECTION_HOLES)
end
---------------------------------------------------------------------------
@@ -210,7 +210,7 @@ function TrimmingVar.GetTrimmingLayerRefId( nId)
if TrimmingVar.IsTrimmingLayer( nId) then return nId end
if TrimmingVar.IsEditCurvesLayer( nId) or TrimmingVar.IsEditSyncCurvesLayer( nId) or
TrimmingVar.IsEditSurfLayer( nId) or TrimmingVar.CreateEditOrientationCurvesLayer( nId) then
local nTrimmingLayerRef = EgtGetInfo( nId, KEY_REF_TRIMMING_LAYER, 'i')
local nTrimmingLayerRef = EgtGetInfo( nId, MCH_TRIMMING.KEY_REF_TRIMMING_LAYER, 'i')
if nTrimmingLayerRef ~= nil and TrimmingVar.IsTrimmingLayer( nTrimmingLayerRef) then return nTrimmingLayerRef end
end
return GDB_ID.NULL
@@ -224,9 +224,9 @@ function TrimmingVar.CreateEditCurvesLayer( nCurrPartId, nCurrLayerId)
local nEditLayerId = EgtGroup( nCurrPartId)
local bOk = ( nEditLayerId ~= nil)
if bOk then
bOk = ( EgtSetName( nEditLayerId, LAYER_NAME_EDIT_CURVES) and
EgtSetInfo( nEditLayerId, KEY_LAYER_TYPE, KEY_LAYER_EDIT_CURVES) and
EgtSetInfo( nEditLayerId, KEY_REF_TRIMMING_LAYER, nCurrLayerId))
bOk = ( EgtSetName( nEditLayerId, MCH_TRIMMING.LAYER_NAME_EDIT_CURVES) and
EgtSetInfo( nEditLayerId, MCH_TRIMMING.KEY_LAYER_TYPE, MCH_TRIMMING.KEY_LAYER_EDIT_CURVES) and
EgtSetInfo( nEditLayerId, MCH_TRIMMING.KEY_REF_TRIMMING_LAYER, nCurrLayerId))
end
if not bOk then
EgtErase( nEditLayerId)
@@ -240,8 +240,8 @@ end
function TrimmingVar.IsEditCurvesLayer( nId)
if nId == nil or nId == GDB_ID.NULL then return false end
-- Verifico che la chiave del gruppo sia coerente
local sLayerType = EgtGetInfo( nId, KEY_LAYER_TYPE, 's')
return ( sLayerType ~= nil and sLayerType == KEY_LAYER_EDIT_CURVES)
local sLayerType = EgtGetInfo( nId, MCH_TRIMMING.KEY_LAYER_TYPE, 's')
return ( sLayerType ~= nil and sLayerType == MCH_TRIMMING.KEY_LAYER_EDIT_CURVES)
end
---------------------------------------------------------------------------
@@ -265,9 +265,9 @@ function TrimmingVar.CreateEditSyncCurvesLayer( nCurrPartId, nCurrLayerId)
local nEditSyncLayerId = EgtGroup( nCurrPartId)
local bOk = ( nEditSyncLayerId ~= nil)
if bOk then
bOk = ( EgtSetName( nEditSyncLayerId, LAYER_NAME_SYNC_CURVES) and
EgtSetInfo( nEditSyncLayerId, KEY_LAYER_TYPE, KEY_LAYER_SYNC_CURVES) and
EgtSetInfo( nEditSyncLayerId, KEY_REF_TRIMMING_LAYER, nCurrLayerId) and
bOk = ( EgtSetName( nEditSyncLayerId, MCH_TRIMMING.LAYER_NAME_SYNC_CURVES) and
EgtSetInfo( nEditSyncLayerId, MCH_TRIMMING.KEY_LAYER_TYPE, MCH_TRIMMING.KEY_LAYER_SYNC_CURVES) and
EgtSetInfo( nEditSyncLayerId, MCH_TRIMMING.KEY_REF_TRIMMING_LAYER, nCurrLayerId) and
EgtSetColor( nEditSyncLayerId, SYNC_LINE_COLOR))
end
if not bOk then
@@ -282,8 +282,8 @@ end
function TrimmingVar.IsEditSyncCurvesLayer( nId)
if nId == nil or nId == GDB_ID.NULL then return false end
-- Verifico che la chiave del gruppo sia coerente
local sLayerType = EgtGetInfo( nId, KEY_LAYER_TYPE, 's')
return ( sLayerType ~= nil and sLayerType == KEY_LAYER_SYNC_CURVES)
local sLayerType = EgtGetInfo( nId, MCH_TRIMMING.KEY_LAYER_TYPE, 's')
return ( sLayerType ~= nil and sLayerType == MCH_TRIMMING.KEY_LAYER_SYNC_CURVES)
end
---------------------------------------------------------------------------
@@ -311,9 +311,9 @@ function TrimmingVar.CreateEditOrientationCurvesLayer( nCurrPartId, nCurrLayerId
local nEditOrientationLayerId = EgtGroup( nCurrPartId)
local bOk = ( nEditOrientationLayerId ~= nil)
if bOk then
bOk = ( EgtSetName( nEditOrientationLayerId, LAYER_NAME_ORIENTATION_CURVES) and
EgtSetInfo( nEditOrientationLayerId, KEY_LAYER_TYPE, KEY_LAYER_ORIENTATION_CURVES) and
EgtSetInfo( nEditOrientationLayerId, KEY_REF_TRIMMING_LAYER, nCurrLayerId) and
bOk = ( EgtSetName( nEditOrientationLayerId, MCH_TRIMMING.LAYER_NAME_ORIENTATION_CURVES) and
EgtSetInfo( nEditOrientationLayerId, MCH_TRIMMING.KEY_LAYER_TYPE, MCH_TRIMMING.KEY_LAYER_ORIENTATION_CURVES) and
EgtSetInfo( nEditOrientationLayerId, MCH_TRIMMING.KEY_REF_TRIMMING_LAYER, nCurrLayerId) and
EgtSetColor( nEditOrientationLayerId, ORIENTATION_LINE_COLOR))
end
if not bOk then
@@ -328,8 +328,8 @@ end
function TrimmingVar.IsOrientationCurvesLayer( nId)
if nId == nil or nId == GDB_ID.NULL then return false end
-- Verifico che la chiave del gruppo sia coerente
local sLayerType = EgtGetInfo( nId, KEY_LAYER_TYPE, 's')
return ( sLayerType ~= nil and sLayerType == KEY_LAYER_ORIENTATION_CURVES)
local sLayerType = EgtGetInfo( nId, MCH_TRIMMING.KEY_LAYER_TYPE, 's')
return ( sLayerType ~= nil and sLayerType == MCH_TRIMMING.KEY_LAYER_ORIENTATION_CURVES)
end
---------------------------------------------------------------------------
@@ -358,9 +358,9 @@ function TrimmingVar.CreateEditSurfLayer( nCurrPartId, nCurrLayerId)
local nEditSurfLayerId = EgtGroup( nCurrPartId)
local bOk = ( nEditSurfLayerId ~= nil)
if bOk then
bOk = ( EgtSetName( nEditSurfLayerId, LAYER_NAME_EDIT_SURF) and
EgtSetInfo( nEditSurfLayerId, KEY_LAYER_TYPE, KEY_LAYER_EDIT_SURF) and
EgtSetInfo( nEditSurfLayerId, KEY_REF_TRIMMING_LAYER, nCurrLayerId) and
bOk = ( EgtSetName( nEditSurfLayerId, MCH_TRIMMING.LAYER_NAME_EDIT_SURF) and
EgtSetInfo( nEditSurfLayerId, MCH_TRIMMING.KEY_LAYER_TYPE, MCH_TRIMMING.KEY_LAYER_EDIT_SURF) and
EgtSetInfo( nEditSurfLayerId, MCH_TRIMMING.KEY_REF_TRIMMING_LAYER, nCurrLayerId) and
EgtSetColor( nEditSurfLayerId, EDIT_SURF_COLOR))
end
if not bOk then
@@ -375,8 +375,8 @@ end
function TrimmingVar.IsEditSurfLayer( nId)
if nId == nil or nId == GDB_ID.NULL then return false end
-- Verifico che la chiave del gruppo sia coerente
local sLayerType = EgtGetInfo( nId, KEY_LAYER_TYPE, 's')
return ( sLayerType ~= nil and sLayerType == KEY_LAYER_EDIT_SURF)
local sLayerType = EgtGetInfo( nId, MCH_TRIMMING.KEY_LAYER_TYPE, 's')
return ( sLayerType ~= nil and sLayerType == MCH_TRIMMING.KEY_LAYER_EDIT_SURF)
end
---------------------------------------------------------------------------
@@ -417,14 +417,16 @@ end
-- Funzione per convertire un Color3d ad una stringa "nR,nG,nB" [0-255],[0-255],[0-255]
function TrimmingVar.GetStringFromColor( myColor)
if not myColor then return nil end
return ( "".. myColor:getRed().. ",".. myColor:getGreen().. ",".. myColor:getBlue())
local cColor = Color3d( myColor)
return ( "".. cColor:getRed().. ",".. cColor:getGreen().. ",".. cColor:getBlue())
end
-----------------------------------------------------------------------------
-- Funzione per convertire Colori da Classe3d a stringa per File.ini
function TrimmingVar.GetColorForIniFile( myColor)
if not myColor then return nil end
return ( myColor:getRed().. ",".. myColor:getGreen().. ",".. myColor:getBlue())
local cColor = Color3d( myColor)
return ( "".. cColor:getRed().. ",".. cColor:getGreen().. ",".. cColor:getBlue())
end
--======================== Utility =======================