- PreSimulationLib - Unificata funzione per la pre simulazione della distanza tra punto e grezzo
-LeadInOutLib - unificata con funzione in PreSimulationLib - STR0011 - Aggiunto calcolo per approccio in velocità di lavoro - MachiningLib - Drill - Calcolo massima profondità del foro rispetto a portautensile
This commit is contained in:
@@ -103,6 +103,35 @@ function PreSimulationLib.GetPointOnToolTipCenter( ptPointAtDepth, vtHead, vtNFa
|
||||
return ptPointAtDepth + vtToolOffset * Tool.dDiameter / 2 + vtNFace * EgtIf( AreSameVectorApprox( vtHead, vtNFace), 0, Tool.dThickness)
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
function PreSimulationLib.GetDistanceToRetractToolFromRaw( DistanceData, b3Box)
|
||||
-- Box del pezzo espansi ortogonalmente alle tre direzioni canoniche X, Y e Z
|
||||
local b3BoxX = BBox3d( b3Box) ; b3BoxX:expand( 0, 1000, 1000)
|
||||
local b3BoxY = BBox3d( b3Box) ; b3BoxY:expand( 1000, 0, 1000)
|
||||
local b3BoxZ = BBox3d( b3Box) ; b3BoxZ:expand( 1000, 1000, 0)
|
||||
|
||||
-- Imposta l'utensile correttamente
|
||||
if DistanceData.sToolFamily == 'DRILLBIT' then
|
||||
-- si setta utensile Punta per il controllo collisione
|
||||
EgtCAvSetAdvTool( DistanceData.dToolLength, DistanceData.dToolDiameter, ( DistanceData.dToolTotalLength - DistanceData.dToolLength), 0, 0)
|
||||
elseif DistanceData.sToolFamily == 'SAWBLADE' then
|
||||
-- si setta utensile Lama per il controllo collisione
|
||||
EgtCAvSetSawTool( DistanceData.dToolThickness, DistanceData.dToolDiameter, DistanceData.dToolThickness, 0, 0)
|
||||
elseif DistanceData.sToolFamily == 'TOOLHOLDER' then
|
||||
-- si setta utensile Cilindrico per simulare il portautensile in caso di fori inclinati nei quali è possibile che il portautensile collida
|
||||
EgtCAvSetStdTool( DistanceData.dToolLength, DistanceData.dToolDiameter, 0)
|
||||
-- altre tipologie non gestite
|
||||
else
|
||||
return nil
|
||||
end
|
||||
|
||||
-- calcolo distanza di cui retrarre con funzioni Tool Collision Avoidance *da top dell'utensile*
|
||||
local dLength = min( EgtCAvToolPosBox( DistanceData.ptReferencePoint, DistanceData.vtNFace, b3BoxX, DistanceData.vtMove),
|
||||
EgtCAvToolPosBox( DistanceData.ptReferencePoint, DistanceData.vtNFace, b3BoxY, DistanceData.vtMove),
|
||||
EgtCAvToolPosBox( DistanceData.ptReferencePoint, DistanceData.vtNFace, b3BoxZ, DistanceData.vtMove))
|
||||
return dLength
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
-- calcolo punto sull'uscita testa a partire dal punto di lavorazione o di attacco sul diametro utensile
|
||||
local function GetToolExitPoint( ptMachining, vtNEdge, vtHead, Tool, bIsDownUp)
|
||||
|
||||
Reference in New Issue
Block a user