Piccole modifiche per demo

This commit is contained in:
andrea.villa
2025-10-24 11:46:41 +02:00
parent 28696ff4e5
commit fac9fd8877
5 changed files with 69 additions and 47 deletions
+5 -3
View File
@@ -32,6 +32,8 @@ function FeatureLib.GetProcFromTrimesh( idTrimesh, Part, ProcToCopyFrom)
Proc.AffectedFaces = BeamLib.GetAffectedFaces( Proc, Part)
Proc.AdjacencyMatrix = FaceData.GetAdjacencyMatrix( Proc)
Proc.Faces = FaceData.GetFacesInfo( Proc, Part)
Proc.NotClampableLength = FeatureLib.CalculateFeatureNotClampableLengths( Proc, Part)
Proc.bHindersLaserMeasure = FeatureLib.CalculateFeatureHindersLaserMeasure( Proc, Part)
-- TODO servono anche altri dati raccolti nel collect??
return Proc
@@ -85,9 +87,9 @@ function FeatureLib.NeedTopologyFeature( Proc, Part)
elseif ID.IsStepJointNotch( Proc) then -- (0-80)
return true
-- feature con calcolo topologia da geometria SOLO se rispettano certe condizioni, altrimenti riconoscimento specifico
elseif ID.IsSawCut( Proc) and Proc.nFct == 1
and ( IsFeatureCuttingEntireSection( Proc.b3Box, Part)
or IsFeatureCuttingEntireLength( Proc.b3Box, Part)) then -- (0-13)
elseif ID.IsSawCut( Proc) and Proc.nFct == 1 then
--and ( IsFeatureCuttingEntireSection( Proc.b3Box, Part)
--or IsFeatureCuttingEntireLength( Proc.b3Box, Part)) then -- (0-13)
return true
elseif ID.IsHipValleyRafterNotch( Proc) and Proc.nFct < 4 then -- (0-25)
return true
+17 -17
View File
@@ -865,41 +865,41 @@ end
-- TODO funziona solo con attacco perpendicolare - da aggiungere gestione in caso di attacco tangenziale
function MachiningLib.AddMachinings( Proc, Machining, AuxiliaryData)
local bMachiningAdded = false
local NewAuxiliaryData = {}
-- se esistono i dati ausiliari li copio in locale perchè il parametro è una tabella per riferimento
if AuxiliaryData then
NewAuxiliaryData = BeamLib.TableCopyDeep( AuxiliaryData)
end
if Machining.CloneStepsRadial and Machining.CloneStepsRadial.nCount > 1 then
if not AuxiliaryData then
AuxiliaryData = {}
end
AuxiliaryData.Clones = {}
NewAuxiliaryData.Clones = {}
local dOriginalRadialOffset = Machining.dRadialOffset
local dOriginalLeadInPerpDistance = Machining.LeadIn.dPerpDistance
local dOriginalLeadOutPerpDistance = Machining.LeadOut.dPerpDistance
for i = 1, Machining.CloneStepsRadial.nCount do
AuxiliaryData.Clones[i] = {}
AuxiliaryData.Clones[i].dRadialOffset = dOriginalRadialOffset + Machining.CloneStepsRadial.dStep * ( Machining.CloneStepsRadial.nCount - i)
NewAuxiliaryData.Clones[i] = {}
NewAuxiliaryData.Clones[i].dRadialOffset = dOriginalRadialOffset + Machining.CloneStepsRadial.dStep * ( Machining.CloneStepsRadial.nCount - i)
-- update distanza perpendicolare attacco per contemplare l'offset applicato
if abs( dOriginalLeadInPerpDistance) > 10 * GEO.EPS_SMALL and abs( dOriginalLeadOutPerpDistance) > 10 * GEO.EPS_SMALL then
AuxiliaryData.Clones[i].LeadIn = {}
AuxiliaryData.Clones[i].LeadOut = {}
AuxiliaryData.Clones[i].LeadIn.dPerpDistance = dOriginalLeadInPerpDistance - AuxiliaryData.Clones[i].dRadialOffset + dOriginalRadialOffset
AuxiliaryData.Clones[i].LeadOut.dPerpDistance = dOriginalLeadOutPerpDistance - AuxiliaryData.Clones[i].dRadialOffset + dOriginalRadialOffset
NewAuxiliaryData.Clones[i].LeadIn = {}
NewAuxiliaryData.Clones[i].LeadOut = {}
NewAuxiliaryData.Clones[i].LeadIn.dPerpDistance = dOriginalLeadInPerpDistance - NewAuxiliaryData.Clones[i].dRadialOffset + dOriginalRadialOffset
NewAuxiliaryData.Clones[i].LeadOut.dPerpDistance = dOriginalLeadOutPerpDistance - NewAuxiliaryData.Clones[i].dRadialOffset + dOriginalRadialOffset
end
end
elseif Machining.CloneStepsLongitudinal and Machining.CloneStepsLongitudinal.nCount > 1 then
if not AuxiliaryData then
AuxiliaryData = {}
end
AuxiliaryData.Clones = {}
NewAuxiliaryData.Clones = {}
local dOriginalRadialOffset = Machining.dRadialOffset
for i = Machining.CloneStepsLongitudinal.nCount, 1, -1 do
AuxiliaryData.Clones[i] = {}
AuxiliaryData.Clones[i].dRadialOffset = dOriginalRadialOffset + Machining.CloneStepsLongitudinal.dStep * ( i - 1)
NewAuxiliaryData.Clones[i] = {}
NewAuxiliaryData.Clones[i].dRadialOffset = dOriginalRadialOffset + Machining.CloneStepsLongitudinal.dStep * ( i - 1)
end
end
bMachiningAdded = AddNewMachining( Proc, Machining, AuxiliaryData)
bMachiningAdded = AddNewMachining( Proc, Machining, NewAuxiliaryData)
return bMachiningAdded
end