- in FreeContour si usa EdgesFaceUse per scegliere con più precisione in lato; manca gestione completa in caso di lavorazione con geometrie multiple (al momento si può passare un lato solo)
This commit is contained in:
@@ -761,6 +761,24 @@ local function MakeLocalSurf( ptP1, ptP2, ptP3, nAddGrpId)
|
||||
return nFaceId
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function GetEdgeToMachineFromVector( nSurfId, nFacet, vtOrtho)
|
||||
local _, EdgesEgt = EgtSurfTmGetFacetOutlineInfo( nSurfId, nFacet, GDB_ID.ROOT)
|
||||
|
||||
local nEdgeIndMax = 0
|
||||
local dMaxComp = - GEO.INFINITO
|
||||
for i = 1, #EdgesEgt do
|
||||
local vtN = -EdgesEgt[i].Norm
|
||||
local dComp = vtN * vtOrtho
|
||||
if dComp > dMaxComp then
|
||||
nEdgeIndMax = i -1
|
||||
dMaxComp = dComp
|
||||
end
|
||||
end
|
||||
|
||||
return nEdgeIndMax
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function AddMillCornerMachining( nPartId, nNewProc, nFacInd, tFacAdj, nTypeConeCut, nAddGrpId,
|
||||
dToolDiam, dThick, sMilling, dOffsAng, dDepthMach,
|
||||
@@ -1296,6 +1314,11 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw, nConeCut, nAdd
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, false)
|
||||
-- assegno utilizzo faccia
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_DOWN)
|
||||
local nEdgeFaceUse = GetEdgeToMachineFromVector( Proc.Id, vFace[i].Fac, Z_AX())
|
||||
if nEdgeFaceUse then
|
||||
local sNoteEdgeFaceUse = 'EdgesFaceUse=' .. EgtNumToString( nEdgeFaceUse) .. ';'
|
||||
EgtSetMachiningParam( MCH_MP.USERNOTES, sNoteEdgeFaceUse)
|
||||
end
|
||||
-- assegno affondamento
|
||||
EgtSetMachiningParam( MCH_MP.DEPTH, dDepth)
|
||||
-- assegno lato di lavoro
|
||||
@@ -1449,6 +1472,13 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw, nConeCut, nAdd
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, false)
|
||||
-- assegno utilizzo faccia
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_DOWN)
|
||||
if #vGeom == 1 then
|
||||
local nEdgeFaceUse = GetEdgeToMachineFromVector( Proc.Id, vGeom[1][2], Z_AX())
|
||||
if nEdgeFaceUse then
|
||||
local sNoteEdgeFaceUse = 'EdgesFaceUse=' .. EgtNumToString( nEdgeFaceUse) .. ';'
|
||||
EgtSetMachiningParam( MCH_MP.USERNOTES, sNoteEdgeFaceUse)
|
||||
end
|
||||
end
|
||||
-- assegno affondamento
|
||||
EgtSetMachiningParam( MCH_MP.DEPTH, dDepth)
|
||||
-- assegno lato di lavoro
|
||||
@@ -1473,6 +1503,13 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw, nConeCut, nAdd
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, false)
|
||||
-- assegno utilizzo faccia
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_DOWN)
|
||||
if #vGeom == 1 then
|
||||
local nEdgeFaceUse = GetEdgeToMachineFromVector( Proc.Id, vGeom[1][2], Z_AX())
|
||||
if nEdgeFaceUse then
|
||||
local sNoteEdgeFaceUse = 'EdgesFaceUse=' .. EgtNumToString( nEdgeFaceUse) .. ';'
|
||||
EgtSetMachiningParam( MCH_MP.USERNOTES, sNoteEdgeFaceUse)
|
||||
end
|
||||
end
|
||||
-- assegno affondamento
|
||||
-- EgtSetMachiningParam( MCH_MP.DEPTH, dDepth)
|
||||
if bNotThrou then
|
||||
@@ -1566,6 +1603,11 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw, nConeCut, nAdd
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, false)
|
||||
-- assegno utilizzo faccia
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_DOWN)
|
||||
local nEdgeFaceUse = GetEdgeToMachineFromVector( Proc.Id, vFace[i].Fac, Z_AX())
|
||||
if nEdgeFaceUse then
|
||||
local sNoteEdgeFaceUse = 'EdgesFaceUse=' .. EgtNumToString( nEdgeFaceUse) .. ';'
|
||||
EgtSetMachiningParam( MCH_MP.USERNOTES, sNoteEdgeFaceUse)
|
||||
end
|
||||
-- assegno affondamento
|
||||
EgtSetMachiningParam( MCH_MP.DEPTH, dDepth)
|
||||
-- assegno lato di lavoro
|
||||
|
||||
Reference in New Issue
Block a user