- nei parametri opzionali di tipo double ('d') ora se la stringa è vuota si considera come parametro non passato (nil)

- alcune modifiche all'angolo min/max testa da GetSetupInfo di macchina
- in MachiningLib -> FindBlade ora si controlla se la normale della faccia da lavorare è compatibile con eventuali angoli Max/Min da SetupInfo; si passa vtN e non più vtToolDirection
- in tutte le strategia sistemati i parametri Config di tipo combo
- in STR0005 -> codolo si verifica che le 2 lavorazioni siano state fatte altrimenti si restituisce non applicabile
- aggiunta GetBestBladeForDicing per scelta lama in caso di cubetti
- in FACEBYBLADE se ToolInvert si passa la vtN invertita alla ricerca lama
This commit is contained in:
luca.mazzoleni
2025-02-27 12:54:16 +01:00
parent 20c10f495d
commit 7ccf3f888f
10 changed files with 164 additions and 66 deletions
+9 -9
View File
@@ -91,16 +91,11 @@ function BeamLib.AddPartEndFace( PartId, b3Solid)
end
-------------------------------------------------------------------------------------------------------------
function BeamLib.GetPartSplittingPoints( Part, OptionalParameters)
function BeamLib.GetPartSplittingPoints( Part)
local PartSplittingPoints = {}
local dPartLength = Part.b3Part:getDimX()
-- parametri opzionali
if not OptionalParameters then
OptionalParameters = {}
end
local dMaxSegmentLength = OptionalParameters.dMaxSegmentLength or BeamData.LONGCUT_MAXLEN
local dMaxSegmentLengthOnEdges = OptionalParameters.dMaxSegmentLengthOnEdges or BeamData.LONGCUT_ENDLEN
local dMaxSegmentLength = BeamData.LONGCUT_MAXLEN
local dMaxSegmentLengthOnEdges = BeamData.LONGCUT_ENDLEN
if dPartLength < dMaxSegmentLength + 10 * GEO.EPS_SMALL then
return {}
@@ -447,7 +442,12 @@ function BeamLib.LoadCustomParametersInStrategy( CustomParameters)
if CustomParameters[i].sType == 'b' then
Parameters[CustomParameters[i].sName] = CustomParameters[i].sValue == 'true'
elseif CustomParameters[i].sType == 'd' then
Parameters[CustomParameters[i].sName] = tonumber( CustomParameters[i].sValue)
if #CustomParameters[i].sValue > 0 then
Parameters[CustomParameters[i].sName] = tonumber( CustomParameters[i].sValue)
-- stringa vuota equivale a non passare alcun valore (deciderà la strategia)
else
Parameters[CustomParameters[i].sName] = nil
end
else --CustomParameters[i].sType == 's' or CustomParameters[i].sType == 'combo'
Parameters[CustomParameters[i].sName] = CustomParameters[i].sValue
end